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.
    • 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
                                      • TIGT Offline
                                        TIG Moderator
                                        last edited by

                                        As I explained, the original face is lost with a pushpull so I need to find the equivalent new face... At the moment it matches area, face normal and face plane [offset by the pushpull distance] - even the slightest variance in the figures that Sketchup calculates will result in a mismatch - so I suspect that's why some faces are being ignored ๐Ÿ˜’
                                        Any ideas on a better way to spot newly pushpulled faces is invited... ๐Ÿ˜•

                                        TIG

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

                                          you can add a random move tool?

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

                                            @tig said:

                                            As I explained, the original face is lost with a pushpull so I need to find the equivalent new face... At the moment it matches area, face normal and face plane [offset by the pushpull distance] - even the slightest variance in the figures that Sketchup calculates will result in a mismatch - so I suspect that's why some faces are being ignored ๐Ÿ˜’
                                            Any ideas on a better way to spot newly pushpulled faces is invited... ๐Ÿ˜•

                                            TIG,

                                            Seems to work 100%, if you account for the tiny area difference of the new face. In line #64, I used "if face.area-e[0].abs < 0.000001" instead of "if face.area==e[0]".

                                            Well, at least this worked on a 7 inch diameter sphere. Don't know if it will fail for other scales.

                                            [Addition]
                                            Ok, I had a chance to check if scaling would make the new area test fail. Looks ok so far. My sphere had 288 faces. Initially 7 inches in diameter. I've scaled it up to 70, 700, and 7000 inch diameter. And even with the larger areas, 0.000001 difference still worked to compare if the faces have the same area. The plugin still kept the selection on all 288 faces, in all the tests.

                                            RandomPushPull (v2.4 sel faces passed,my fix).rb

                                            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