sketchucation logo sketchucation
    • Login
    โ„น๏ธ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    WIP -- 'Protrude' ruby from Jim Foltz

    Scheduled Pinned Locked Moved Developers' Forum
    49 Posts 24 Posters 24.3k Views 24 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.
    • J Offline
      Jim
      last edited by

      @kwistenbiebel said:

      I installed it but get this error message when trying to open the 'Protrude Dialog' from the Plugins menu:

      Error: #<NameError: uninitialized constant ProtrudeDialog>
      C:/Program Files/Google/Google SketchUp 6/Plugins/protrude.rb:6
      C:/Program Files/Google/Google SketchUp 6/Plugins/protrude.rb:4:in `call'

      Anyone else experiences this?

      At least one other person is having the same issue. I've uploaded a new version just now, so maybe give that a try.

      Hi

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

        wow, that's fast Jim. ๐Ÿ‘
        Thanks, I will try it.

        [EDIT]: Works like a charm !
        (An extra ruby needs to be downloaded from smustard to make it work: progressbar.rb)

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

          I love the plugin ๐Ÿ˜„ .

          A quick play:

          http://i140.photobucket.com/albums/r3/kwistenbiebel1/greeble-ceiling.jpg

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

            Fantastic scene, kwist! ๐Ÿ‘

            Gai...

            1 Reply Last reply Reply Quote 0
            • C Offline
              chango70
              last edited by

              WOW! Fantastic plugin! This is where plugins are no longer just tools, they are becoming creative works of art! Thanks!

              1 Reply Last reply Reply Quote 0
              • plot-parisP Offline
                plot-paris
                last edited by

                phantastic plugin, Jim. real fun to use it. its almost addictive ๐Ÿ˜„
                one minor thing: when I open the prodrude dialog window, it is allways to small. I have to rescale it first to see all the buttons. is there anything that can be done about it from within ruby?

                @kwistenbiebel:
                beautyful render! you immediately managed to think of a practical way to make use of this tool in architecture. the image has a great, artistic feeling to it, really looks like an exhibition room in an art gallery.
                which render engine did you use for that and how long did it take?

                [Edit] oh, and Dave: thanks for making us aware of this great new plugin ๐Ÿ‘

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

                  I can imagine playing with this for a few hours at least ๐Ÿ‘

                  http://remusrendering.wordpress.com/

                  1 Reply Last reply Reply Quote 0
                  • P Offline
                    Petruscaleus
                    last edited by

                    Really a nice bit of ruby to toy around with...! ๐Ÿ‘

                    But there's a little problem using it on a localized (german) OS - as some of you may know we're using a comma to separate the decimal places (and a point for the thousands); but the protrude plugin can't handle that, every floating point value is truncated to the integer value.

                    @unknownuser said:

                    {"dmax"=>["65"], "7"=>[nil], "omin"=>["0"], "dmin"=>["35"], "hmax"=>["1"], "1"=>[nil], "tmin"=>["0"], "hmin"=>["1"]}
                    rcvd callback: "protrude()"
                    (values were 1,1 for hmin & and 1,7 for hmax)

                    If I call the 'Set Reasonable Values' function, the calculated values also use the decimal comma format - and protrude won't work, too.

                    @unknownuser said:

                    rcvd callback: "setReasonableValues()"
                    setResonableValues:
                    {"dmax"=>["65"], "00m"=>[nil], "omin"=>["0"], "dmin"=>["35"], "tmin"=>["0"], "60m"=>[nil], "hmin"=>["6"]}
                    rcvd callback: "protrude()"
                    (hmin=6,00m & omin=0,60m)

                    When trying values with a decimal point an error occurs:

                    @unknownuser said:

                    {"dmax"=>["65"], "omin"=>["0"], "dmin"=>["35"], "hmax"=>["1.7"], "tmin"=>["0"], "hmin"=>["1.1"]}
                    rcvd callback: "protrude()"
                    Error: #<ArgumentError: (eval):269:in to_l': Cannot convert "1.1" to Length> (eval):66:in initialize'
                    (eval):63:in eval' (eval):66:in initialize'
                    (eval):63:in `call'

                    The only workaround that will work is to adjust the numbers format (decimal point and comma separating the thousands) in windows itself, so SU will use the same number format as the plugin; the disadvantage is, every other program uses it as well.
                    Is there a (known) way to adjust the script to accept the comma values as well, or do I have to dig into ruby scripting myself...?

                    Regards,
                    Stefan

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

                      Thanks for the report, Stefan. I had no idea the plugin was not working with a comma.

                      I am relying on the SketchUp API to process the string into lengths, and I am not directly manipulating the values. I assumed the API would handle the conversion. I will need to learn how to write the plugin to work in all circumstances.

                      Hi

                      1 Reply Last reply Reply Quote 0
                      • T Offline
                        tomot
                        last edited by

                        Great stuff! makes it easy to build sculptures.
                        After which one could add some "catmull clark or doo sabin" meshing.

                        It might nice to add negative stepping as well. Perhaps by adding another button. Hence one can toggle between either negative or positive stepping.

                        [my plugins](http://thingsvirtual.blogspot.ca/)
                        tomot

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

                          @petruscaleus said:

                          But there's a little problem using it on a localized (german) OS - as some of you may know we're using a comma to separate the decimal places (and a point for the thousands); but the protrude plugin can't handle that, every floating point value is truncated to the integer value.

                          Stefan, I have sent you a revised version that I hope will solve this issue. Please let me know if I was successful, and I will release it to everyone.

                          @tomot said:

                          Great stuff! makes it easy to build sculptures.
                          After which one could add some "catmull clark or doo sabin" meshing.

                          It might nice to add negative stepping as well. Perhaps by adding another button. Hence one can toggle between either negative or positive stepping.

                          Thanks tomot. I think it should be no problem to have negative values for the protrusion.

                          Hi

                          1 Reply Last reply Reply Quote 0
                          • CadFatherC Offline
                            CadFather
                            last edited by

                            fantastic plugin Jim, thanks

                            just reporting on some issues:

                            doesn't like curves, domes etc
                            no cutting on some faces in this shape

                            prot.png

                            1 Reply Last reply Reply Quote 0
                            • P Offline
                              Petruscaleus
                              last edited by

                              CadFather, as the name of the function "Divide Rectangles" implies, it only works with rectangles ^^
                              In your simple case case it would be only one line for each L-shaped polygon to divide them in two rectangles on which Divison can be applied.
                              As for arcs, domes and spheres - it works fine for me scratches his head
                              What exactly did you try?

                              Jim, you already have a reply to your PM; works fine now!
                              A new bug report/feature request: Right now you can only taper the extrusion up to 99%, if you enter 100 no tapering is done at all. Would it be possible to allow a taper of 100%, resulting in a single endpoint (top of the pyramid) instead of a small face at 99%? Optically this is no big matter, but it would save 3 vertices, 4 lines and one face which could matter in a big model including a few hundred extrusions.

                              1 Reply Last reply Reply Quote 0
                              • S Offline
                                sepo
                                last edited by

                                Really nice plugin Jim. Thanks....


                                deco.jpg

                                1 Reply Last reply Reply Quote 0
                                • P Offline
                                  PRSS
                                  last edited by

                                  Hello everybody!

                                  I just installed this Protrude ruby. I do get the dialog. But when I select a face and aplly
                                  "divide" nothing happens. When I press "protrude" also nothing happens. I am using SU 6 Free.

                                  I downloaded the older version of ruby without the option of this "divide" from Crai Library.
                                  This works fine. But not the new one from SketchUP Plugins download. I did delete the previous
                                  ruby and the previous folder before copying the new ruby. Nothing works.

                                  Help will be greatly appreciated.

                                  Thanks in advance
                                  With best regards
                                  PRSS

                                  1 Reply Last reply Reply Quote 0
                                  • P Offline
                                    PRSS
                                    last edited by

                                    Sorry!!

                                    The 'progressbar.rb" was not there in my plugins folder.
                                    It is working fine now after I copied it.

                                    With best regards
                                    PRSS

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

                                      PRSS, would you open the Ruby Console and try running the plugin? Then copy and paste the output, and PM or email it to me. Also, Mac or PC?

                                      Thank you.

                                      @sepo said:

                                      Really nice plugin Jim. Thanks....

                                      I'm glad you like it. It's sort of fun to play with.

                                      @cadfather said:

                                      doesn't like curves, domes etc. no cutting on some faces in this shape

                                      Yes, faces need to be rectangles. I plan on making it divide almost any face in the future. And since domes and curves are made of polygons that are not rectangles, they can be offset and protruded but not divided.

                                      @petruscaleus said:

                                      Right now you can only taper the extrusion up to 99%,

                                      This was a design decision - designed to make things easy on me! I use the scale function to scale the new protruded face, and so I don't think it can eliminate the top face altogether. I would need to rewrite that part of the plugin, so maybe in the future.

                                      @prss said:

                                      The 'progressbar.rb" was not there in my plugins folder.

                                      And you need ProgressBar.rb from smustard.com.

                                      I have a number of ideas for the plugin. If you open the ui.html file, you can see some of them (commented out.)

                                      Anyone on a Mac able to use this?

                                      Hi

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

                                        Also, here's a few examples of things I did while testing this plugin:

                                        http://picasaweb.google.com/lh/view?uname=jim.foltz&isOwner=true&tags=greeble#

                                        Error 404 (Not Found)!!1

                                        favicon

                                        (sketchup.google.com)

                                        Hi

                                        1 Reply Last reply Reply Quote 0
                                        • CadFatherC Offline
                                          CadFather
                                          last edited by

                                          @petruscaleus said:

                                          CadFather, as the name of the function "Divide Rectangles" implies, it only works with rectangles ^^

                                          ๐Ÿ‘Š ๐Ÿ˜†

                                          got it now Jim - an update to divide any face would make it into a supertool
                                          not that it isn't already! ๐Ÿ˜„

                                          1 Reply Last reply Reply Quote 0
                                          • P Offline
                                            PRSS
                                            last edited by

                                            Thank you Jim, it is now working fine. Thanks again for the wonderful things you give
                                            to SU lovers.

                                            With best regards
                                            PRSS

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

                                            Advertisement