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

    [Plugin] RandomPushPull v2.5 20110709

    Scheduled Pinned Locked Moved Plugins
    28 Posts 8 Posters 26.1k Views 8 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.
    • dereiD Offline
      derei
      last edited by

      There is a "judgement" error in the plugin code. That is why did not respect max/min.

      The original plugin makes push-pull for this distance:

      selection.each{|s|s.pushpull((@ppmax-@ppmin) * rand)}
      

      So, if I input Min(400); Max(600) it will make pushPull for a random value of 200.
      In order to make pushPull for a random value between 400 and 600 i think, the code should look like this:

      selection.each{ |s| s.pushpull(@ppmin + (@ppmax-@ppmin) * rand) }
      

      In this way, you set the minimum value (@ppmin) to pushpull, then add the random value of 200 (up to 600).
      But, as rand method doesn't provide 0 or 1, there will not be pieces equal with 400 or 600.

      DESIGNER AND ARTIST [DEREI.UK](http://derei.uk/l)

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

        @unknownuser said:

        But, as rand method doesn't provide 0 or 1, there will not be pieces equal with 400 or 600.

        rand does return 0

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

        1 Reply Last reply Reply Quote 0
        • dereiD Offline
          derei
          last edited by

          @thomthom said:

          @unknownuser said:

          But, as rand method doesn't provide 0 or 1, there will not be pieces equal with 400 or 600.

          rand does return 0

          I stand corrected ๐Ÿ˜„ , but surely it does not return 1, so max value of push-pull will be never returned, right?

          DESIGNER AND ARTIST [DEREI.UK](http://derei.uk/l)

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

            Correct

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

            1 Reply Last reply Reply Quote 0
            • TIGT Offline
              TIG Moderator
              last edited by

              Here's v2.1 http://forums.sketchucation.com/viewtopic.php?p=340452#p340452
              It now uses the min/max range 'properly'... AND if the random value is actually ==min or ==max then it is used; the accuracy for using the actual max value is set at 1/1000001. On the incredibly rare times it matches exactly or it is exceeded very slightly then 'max' is used, as is 'min' when it's met exactly [rarely].

              TIG

              1 Reply Last reply Reply Quote 0
              • dereiD Offline
                derei
                last edited by

                Maybe you could add option in input box for push-pulling on negative values too, or force positive.

                EDIT: - i'm not sure (as I'm not a programmer), but this code doesn't pushpull between min and max.

                mx can have values much less than @ppmin, so pp can have very easy a negative value (if rn=10, mx = @ppmax * 0.0001; so what are the odds that between max and min to be a difference of 4 zeroes? In consequence pp = mx(very small) - @ppmin(highly probable much larger) ==> negative value for pp ).

                
                rn=rand(1000001)
                	  if rn!=0
                	    mx=@ppmax*(rn/1000000.0)
                		if mx > @ppmax
                	      mx=@ppmax
                	    end
                      else
                	    mx=0
                	  end
                	  pp=mx-@ppmin
                	  face.pushpull(pp) if pp!=0
                
                

                DESIGNER AND ARTIST [DEREI.UK](http://derei.uk/l)

                1 Reply Last reply Reply Quote 0
                • TIGT Offline
                  TIG Moderator
                  last edited by

                  Here's v2.2 http://forums.sketchucation.com/viewtopic.php?p=340452#p340452
                  I think I've sorted the range AND allowed negative values too...

                  TIG

                  1 Reply Last reply Reply Quote 0
                  • dereiD Offline
                    derei
                    last edited by

                    @tig said:

                    Here's v2.2 http://forums.sketchucation.com/viewtopic.php?p=340452#p340452
                    I think I've sorted the range AND allowed negative values too...

                    ๐Ÿ˜• I'm not sure what you are trying to do there, but wouldn't be easier to force the pp value in v.2.1 to .abs? ๐Ÿ˜„ And...it still doesn't limit between max/min ๐Ÿ˜ž


                    random1.jpg


                    random2.jpg

                    DESIGNER AND ARTIST [DEREI.UK](http://derei.uk/l)

                    1 Reply Last reply Reply Quote 0
                    • TIGT Offline
                      TIG Moderator
                      last edited by

                      Here's v2.3 http://forums.sketchucation.com/viewtopic.php?p=340452#p340452
                      It now works properly between the max/min range and allows +/-ve values... ๐Ÿ˜•
                      I hope!

                      TIG

                      1 Reply Last reply Reply Quote 0
                      • dereiD Offline
                        derei
                        last edited by

                        Well, good news! It works like a charm ๐Ÿ˜‰
                        Thank you very much!

                        DESIGNER AND ARTIST [DEREI.UK](http://derei.uk/l)

                        1 Reply Last reply Reply Quote 0
                        • TIGT Offline
                          TIG Moderator
                          last edited by

                          My brain really hurt with the logic of it... but now it's too obvious ๐Ÿ˜’

                          TIG

                          1 Reply Last reply Reply Quote 0
                          • dereiD Offline
                            derei
                            last edited by

                            @tig said:

                            My brain really hurt with the logic of it... but now it's too obvious ๐Ÿ˜’

                            My brain hurt too trying to "discover" the reason why you tried such complicated ways to do it. Especially because my programming skills are like the result of rand method (yes, between 0 and almost 1 ๐Ÿ˜† ) and I try to learn something from what you do.

                            DESIGNER AND ARTIST [DEREI.UK](http://derei.uk/l)

                            1 Reply Last reply Reply Quote 0
                            • pilouP Offline
                              pilou
                              last edited by

                              So it was a true random result! ๐Ÿ’š

                              Frenchy Pilou
                              Is beautiful that please without concept!
                              My Little site :)

                              1 Reply Last reply Reply Quote 0
                              • pilouP Offline
                                pilou
                                last edited by

                                Always funny and robust! ๐Ÿ˜Ž
                                Randompushpull.jpg

                                re-apply on result with the all faces (top and lateral) ๐Ÿ˜‰
                                result is not too regular? (I took 1 and .1)

                                Does it possible to keep the first selection? (top faces)

                                Randompushpul1.jpg

                                Frenchy Pilou
                                Is beautiful that please without concept!
                                My Little site :)

                                1 Reply Last reply Reply Quote 0
                                • TIGT Offline
                                  TIG Moderator
                                  last edited by

                                  Unfortunately when you PushPull a face it disappears - the face that is at the new location isn't the same face - that's been deleted by Sketchup...

                                  So... it's not easy to get a reference to the new face...

                                  BUT you could do it... you know the plane of the picked face, you know its pt0=vertices[0].position, you know the pushpull vector, so you can offset the pt0 and then test for the new faces added since the pushpull was done and find the one with the same/reversed normal, parallel plane and coincident vertex at the offset pt0 location...

                                  BUT I'm not going to code it ๐Ÿ˜’

                                  TIG

                                  1 Reply Last reply Reply Quote 0
                                  • pilouP Offline
                                    pilou
                                    last edited by

                                    In this particular case same "top square"
                                    I can use the Selected by aera by Sdmitch ๐Ÿ˜‰

                                    Frenchy Pilou
                                    Is beautiful that please without concept!
                                    My Little site :)

                                    1 Reply Last reply Reply Quote 0
                                    • TIGT Offline
                                      TIG Moderator
                                      last edited by

                                      Except there might be faces with the same area that were not the ones you want - so then things like face.normal / plane becomes relevant too - BUT comparing areas IS a good 'outside-of-the-box' test idea ๐Ÿ˜‰

                                      TIG

                                      1 Reply Last reply Reply Quote 0
                                      • pilouP Offline
                                        pilou
                                        last edited by

                                        @unknownuser said:

                                        Except there might be faces with the same area that were not the ones you want

                                        As I had started from a sphere and took a minimum measure more large than the big edges on the surface's sphere ๐Ÿค“
                                        that can't be arrived ๐Ÿ˜‰
                                        It was a very particular case ๐Ÿ˜„

                                        Frenchy Pilou
                                        Is beautiful that please without concept!
                                        My Little site :)

                                        1 Reply Last reply Reply Quote 0
                                        • TIGT Offline
                                          TIG Moderator
                                          last edited by

                                          Here's v2.4 http://forums.sketchucation.com/viewtopic.php?p=340452#p340452
                                          The selection now passes to the newly pushpulled faces even though the original faces have been deleted by Sketchup...

                                          TIG

                                          1 Reply Last reply Reply Quote 0
                                          • pilouP Offline
                                            pilou
                                            last edited by

                                            Seems selection are not keeping all the initial faces selected! ๐Ÿ˜ฎ
                                            (tryed with some adjacents facets on a thick sphere )

                                            Does exist a Scale multiple ? (for each facets selected)


                                            sphere.jpg

                                            Frenchy Pilou
                                            Is beautiful that please without concept!
                                            My Little site :)

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

                                            Advertisement