sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    Frustrated with rubies

    Scheduled Pinned Locked Moved Developers' Forum
    47 Posts 18 Posters 4.2k Views 18 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T Offline
      todd burch
      last edited by

      My turn.

      progessbar.rb is pretty basic. I wrote it a few years ago to fill a gap of no progress bar at all. However, it was still insufficient in its first incarnation since when SU would freeze up due to intense processing of a Ruby script in a single, synchronous thread. Anytime the SU user interface would need repainting, too bad, because the Ruby script had the thread, and the user interface, unfortunately, does not get serviced. When SU hits this wall, the first thing to go is the SU menu bar, then the whole UI freezes, even the status bar where progressbar.rb makes it updates.

      I then changed progressbar.rb to add an estimated completion time. It's my opinion that this change transformed it into more than just a "cool animated bar", and into something that was actually pretty useful, since you now know that the script will take another 5 seconds, or 20 minutes, or whatever, and you can adjust your finger-tapping-on-the-desk to some other activity as needed.

      The next phase will be a dialog, similar to what Rick mentioned, that will provide a persistent external dialog that will allow you to cancel the script at any time. This will require programming changes to the invoking script, but it will be a big improvement in long running rubies that you choose to cancel.

      Todd

      1 Reply Last reply Reply Quote 0
      • K Offline
        kwistenbiebel
        last edited by

        Isn't the main issue here that the Sketchup core needs streamlining?
        I am not a coder, but to me, it feels like there is too much communication/checking going on while doing any operation.
        For instance, having the Outliner panel open kills workflow, not only when using rubies.
        Having the material browser or component browser open kills performance as well in many cases.

        A lot of the slowdowns seem to be related to 'getting the output on screen', creating a bottleneck as everything needs to be processed through the OpenGL mill .
        Operations one would expect to be powered by your CPU , suddenly seem to be overruled by (the lack of) GPU power (graphical card).

        A serious rewriting of the SU core, and perhaps implementing better ways for SU to deal with multiple processes at the same time (multicore adapted software) might produce a faster workflow.

        Other 3D modelers are modular based as well using plugins. They seem not to suffer of serious slowdowns though.

        1 Reply Last reply Reply Quote 0
        • J Offline
          Jackson
          last edited by

          Brodie,

          I couldn't agree more with your original point. As much as some of the simplest ruby scripts have become an absolutely essential part of my SU tool set (Todd Birch's "Renumber Scenes", Matthieu Noblet's "Remove C-G Materials", PurgeAll.rb, cleanup_model.rb among others) I recently loaded almost all of the (free) ruby scripts from the "Must Have Ruby Plugins - Visual Index" thread and some of them are either so complicated, or difficult to get to work or are buggy that I just want rid of them asap. "soapskinbubble.rb" is a prime example- at it's core it's ingenious and ought to be useful to every SU user, but it's bogged down with very short time limits of just a few weeks and a really awful UI which never fails to baffle me on the rare occassion that I feel the need to use it. I've learned how to get it to work twice in the past and just discovered to my shame I've forgotten again! I am in awe of anyone who has the skills, but most of all the generosity to create these scripts for free, but when you need a crash course in programming to get a ruby script to work no wonder users aren't donating!) Other ruby scripts add more and more items to the context menu with submenus and obscure names e.g. "FFD>Make Patch".

          As much as it's hard to be critical without naming names, I think in any case the real blame doesn't lie with individual ruby scripters- they are after all producing these amazing little tools for no reason other than to try to make other SU users day's a little easier. Google undoubtedly did a great thing when they built the ruby API into SU allowing end users the ability to customise SU, but I think once we all saw just how many excellent ruby scripts were actually being produced we thought this process would have some feedback built in. Sadly, so far this hasn't been the case. I struggle to think of even one ruby tool which was conceived and programmed by an "amateur" ruby scripter which has been implemented as a real (read: outwith the ruby API) SU tool. That is a very serious error on Google's part IMO, as, as far as end users can see they are no longer investing in the future of SU, but are simply allowing ruby scripters to drag it reluctantly and excrutiatingly slowly forwards while other software forges ahead.

          Jackson

          1 Reply Last reply Reply Quote 0
          • L Offline
            lapeno82
            last edited by

            @unknownuser said:

            My turn.

            progessbar.rb is pretty basic. I wrote it a few years ago to fill a gap of no progress bar at all. However, it was still insufficient in its first incarnation since when SU would freeze up due to intense processing of a Ruby script in a single, synchronous thread. Anytime the SU user interface would need repainting, too bad, because the Ruby script had the thread, and the user interface, unfortunately, does not get serviced. When SU hits this wall, the first thing to go is the SU menu bar, then the whole UI freezes, even the status bar where progressbar.rb makes it updates.

            I then changed progressbar.rb to add an estimated completion time. It's my opinion that this change transformed it into more than just a "cool animated bar", and into something that was actually pretty useful, since you now know that the script will take another 5 seconds, or 20 minutes, or whatever, and you can adjust your finger-tapping-on-the-desk to some other activity as needed.

            The next phase will be a dialog, similar to what Rick mentioned, that will provide a persistent external dialog that will allow you to cancel the script at any time. This will require programming changes to the invoking script, but it will be a big improvement in long running rubies that you choose to cancel.

            Todd

            Is this already available?

            1 Reply Last reply Reply Quote 0
            • Chris FullmerC Offline
              Chris Fullmer
              last edited by

              Nope, not yet. It would be a welcome addition though!

              Chris

              Lately you've been tan, suspicious for the winter.
              All my Plugins I've written

              1 Reply Last reply Reply Quote 0
              • AdamBA Offline
                AdamB
                last edited by

                So I saw this thread and spend half an hour playing with building a WebDialog progress bar.

                What I planned to do was have a Javascript driven animated progress bar and a simple call from Ruby to update the percentage.

                The html/js is trivial but I came unstuck because the WebDialog stops when Ruby runs. Now I don't understand because I supposed that the browser would be running in separate native thread.

                Somebody mentioned they'd experimented earlier with this and failed. Was this the same issue?

                Adam

                Developer of LightUp Click for website

                1 Reply Last reply Reply Quote 0
                • bazB Offline
                  baz
                  last edited by

                  @thomthom said:

                  Yea, it's frustrating when a plugin is doing heavy work and you can't tell if it has hung or not.
                  But mind you, close the Outliner when you run plugins that does heavy operations. That thing really slows things down. You can often see it flicker like mad.

                  I read somewhere that having the outliner open can be useful, when it stops flickering you know the ruby has finished.
                  I cant remember which ruby, but I was having constant crashes because I was trying to undo before the operation was complete - being an impatient sob. I tend to forget that I've just asked su to recalculate 10000000000:) faces and edges!
                  baz

                  ps: personally, what I really need is a simple way to organise my rubies, for example like 'bookmarks' in 'firefox', most used at the top etc.
                  As for frustration, compared to windows updates and getting hassled to constantly upgrade by everybody else, I for one am eternally grateful for the fantastic generorsity of the ruby wizards, even the ones who charge. Eg:Sub divide and smooth, 20 bucks, no worries.
                  (note to self: must donate to fredo for Freescale, wow!)

                  1 Reply Last reply Reply Quote 0
                  • thomthomT Offline
                    thomthom
                    last edited by

                    I would strongly recommend NOT having the Outliner open for the sake of using it as a 'progressbar'. It increases the time it takes to complete the task many times. And it's prone to cause crashes.

                    Thomas Thomassen — SketchUp Monkey & Coding addict
                    List of my plugins and link to the CookieWare fund

                    1 Reply Last reply Reply Quote 0
                    • J Offline
                      Jackson
                      last edited by

                      In XP just left-click once on the blue bar at the top of your SU window- it'll turn white until SU or the Ruby Script has finished its task. Hardly a progress bar, but it's better than nothing.

                      Jackson

                      1 Reply Last reply Reply Quote 0
                      • honoluludesktopH Offline
                        honoluludesktop
                        last edited by

                        As to the original post, and as a Architect that used to program, there was little that I did that was completely with out some kind of anomalty. Bugs can be outside your ability to clean up, especially when they deal with the OS, or the programming language itself. But, because it was my program, and I knew where the problems (most of the time) were and simply avoided them. A user on the other hand would be totally frustrated, thinking that he is entitled to a perfectly running program. And he is, especially if he paid for it. Sometimes the application of a program becomes so complex, that with infrequent use, you forget how to use it. And so on, and so on, and so on.

                        So, regarding my use of rubies that are written by non-professional programmers: 1) I would use a ruby as a application (withing its limitations), and 2) when there is no other way to do what I am trying to accomplish. If I could write them however, I am sure my opinion would be different.

                        1 Reply Last reply Reply Quote 0
                        • R Offline
                          RickW
                          last edited by

                          @adamb said:

                          So I saw this thread and spend half an hour playing with building a WebDialog progress bar.

                          What I planned to do was have a Javascript driven animated progress bar and a simple call from Ruby to update the percentage.

                          The html/js is trivial but I came unstuck because the WebDialog stops when Ruby runs. Now I don't understand because I supposed that the browser would be running in separate native thread.

                          Somebody mentioned they'd experimented earlier with this and failed. Was this the same issue?

                          Adam

                          Yes, same issue. Scott Lininger is aware of the problem.

                          RickW
                          [www.smustard.com](http://www.smustard.com)

                          1 Reply Last reply Reply Quote 0
                          • R Offline
                            RickW
                            last edited by

                            @baz said:

                            ps: personally, what I really need is a simple way to organise my rubies, for example like 'bookmarks' in 'firefox', most used at the top etc.

                            Have you looked into Organizer?

                            RickW
                            [www.smustard.com](http://www.smustard.com)

                            1 Reply Last reply Reply Quote 0
                            • bazB Offline
                              baz
                              last edited by

                              @unknownuser said:

                              Have you looked into Organizer?

                              Thanks Rick, tho it seems a bit complicated for my poor brain. I can see myself getting in lots of trouble trying to organise subfolders, especially considering the apparent dependency of various rubies on each other.
                              baz

                              1 Reply Last reply Reply Quote 0
                              • R Offline
                                rv1974
                                last edited by

                                Here's the cry of my soul:
                                Ruby people please stop adding your stuff to right click menu!
                                The 2nd: Why not concentrate all rubies in plug-is menu? (jumping thru draw-tools-
                                plug-ins is extremely annoyng!

                                1 Reply Last reply Reply Quote 0
                                • Chris FullmerC Offline
                                  Chris Fullmer
                                  last edited by

                                  #1 - I actually mostly agree with. I don't like rubies to clutter up my right click context menu also.

                                  #2 - Some author feel that there plugin should be placed in the camera menu since the plugin might be directly related to the camera. Or the Draw menu, or the tools menu. Some authors just want ttheir plugin to go into the most logical menu, and in their mind, generic "plugins" is not it. I think I agree with you on this one too. I'm not a big fan of having to remember where all the rubies I've installed have put themselves.

                                  Of course, I'm sure there are plenty of different opinions out there....

                                  Chris

                                  Lately you've been tan, suspicious for the winter.
                                  All my Plugins I've written

                                  1 Reply Last reply Reply Quote 0
                                  • GaieusG Offline
                                    Gaieus
                                    last edited by

                                    This is why some ruby scripters create their own menus instead. Like Chris Fullmer tools and such...
                                    🤣

                                    Gai...

                                    1 Reply Last reply Reply Quote 0
                                    • Chris FullmerC Offline
                                      Chris Fullmer
                                      last edited by

                                      I agree, that shows my preference. I make a single menu within the plugins and everything I've written goes in there (except I hear that there might be a bug that is creating 2 menus - which I might have a fix for). But all my scripts should also be compatible with Rick's organizer for people who want to organize them on their own.

                                      Chris

                                      Lately you've been tan, suspicious for the winter.
                                      All my Plugins I've written

                                      1 Reply Last reply Reply Quote 0
                                      • GaieusG Offline
                                        Gaieus
                                        last edited by

                                        I was just teasing, Chris. 😉

                                        Gai...

                                        1 Reply Last reply Reply Quote 0
                                        • R Offline
                                          RickW
                                          last edited by

                                          @rv1974 said:

                                          Here's the cry of my soul:
                                          Ruby people please stop adding your stuff to right click menu!

                                          Interesting - I took Windowizer4 out of the right-click menu, and people were requesting I put it back!

                                          Just shows there are different preferences for different people...

                                          RickW
                                          [www.smustard.com](http://www.smustard.com)

                                          1 Reply Last reply Reply Quote 0
                                          • charly2008C Offline
                                            charly2008
                                            last edited by

                                            There are a lot of good and helpfull Ruby plugins.
                                            In addition, there are many Ruby plugins that contain similar functions.
                                            It seems to me that the Ruby plugins are being integrated into Sketchup without a system.
                                            I'm confused about, that the Ruby plugins can be found in three different menus.
                                            Through this it is sometimes difficult to find the Ruby plugin you need , especially if one does not use the expansions every day.
                                            The next difficulty is, serves itself to remind which Ruby plugin for which Function. Because the titles are often not very helpful.
                                            It would be very helpfull if the Plugins could be organized by the user according to there main Functions
                                            for example:

                                            Plugins folder-------->Bezier tools
                                            Push and Pull tools
                                            Scaling tools
                                            Extrusion tools

                                            I don't know if that is possible and how to do it. Please excuse my bad English

                                            Karlheinz

                                            He who makes no mistakes, makes nothing

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 2 / 3
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement