sketchucation logo sketchucation
    • Login
    ⚠️ Attention | Having issues with Sketchucation Tools 5? Report Here

    [Plugin] SurfaceGen (0.9.0b) — 28 April 2012

    Scheduled Pinned Locked Moved Plugins
    69 Posts 25 Posters 60.4k Views 25 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.
    • TIGT Offline
      TIG Moderator
      last edited by

      Thanks 😄

      Error; #<ArgumentError; Cannot convert argument to Sketchup;;Point3d>
      C;/Program Files/Google/Google SketchUp 8/Plugins/SURFACEGEN_Dir/surfacegen_tool.rb;270;in `add'
      C;/Program Files/Google/Google SketchUp 8/Plugins/SURFACEGEN_Dir/surfacegen_tool.rb;270;in `getExtents'
      

      One minor error in getExtents in surfacegen_tool.rb
      Line #270 result.add @p0 if @state >= 0
      can raise an error so adjusting it to
      return if !@p0 or @p0.class!=Geom::Point3d; result.add @p0 if @state >= 0 might help - you could also add similar validity checks on the other points that are added to the extents ?

      TIG

      1 Reply Last reply Reply Quote 0
      • D Offline
        Diggsey
        last edited by

        Ah, I knew I'd forgotten something 😄

        I've updated the first post. It shouldn't show those errors anymore.

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

          Cool.
          The 'rand' function is also interesting...Capture.PNG

          TIG

          1 Reply Last reply Reply Quote 0
          • D Offline
            Diggsey
            last edited by

            Just updated again fixing a small bug with the expression parser.

            Check out this graph:

            http://i59.photobucket.com/albums/g314/diggsey/th_face.jpg

            Equation = min(((max(abs(y)-(2sqrt(z+4)) ,(x+0.5abs((abs(y)+4)/3.5)/(1+(((abs(y)+4)/3.5)^2-2)^2)/2 2/(1+(z-2)^2)+abs(y/1.5)^3.5/7 ) )max( max( abs(x+0.15+(y/0.7)^2)+(z-1.3)/1.4,max(z-2.3, max( abs(x+0)/2.4 -1+2abs(1.5y)+(z+0.1)/2 , -z ))) ,x-0.8+z/2)-0.1 )*(abs(x+y^2/3)-0.2+abs(abs(z+1.8)-(0.5-(y/2)^2) )^1.2 )-0.1 ),( (x+1.2+abs(y)/10)^2+(abs(y)-1.1)^2/2.5+(z-2.3)^2/1.8-0.64))
            x: -3 to 1
            y: -4 to 4
            z: -4 to 5.4

            @TIG
            Yes you can use any built in ruby function;)

            @jim
            I can't make the window resizable because it is shown and hidden by resizing it to a fixed value and zero respectively, and there is no API function to get the size of the window to save it. However, you can easily change the height of the window. Open surfacegen.rb in notepad and change the line "WINDOW_HEIGHT = 320" to about "WINDOW_HEIGHT = 350". You can try different values until you get what you want.

            1 Reply Last reply Reply Quote 0
            • D Offline
              driven
              last edited by

              yes,

              working on the mac...

              I don't know if I downloaded before or after your latest tweak,
              is there a version number somewhere on the files?

              another thing, is it possible to have a 'use last' settings option?

              playing around with the box size on the head requires [re]inputting the data each time
              cheers
              john

              learn from the mistakes of others, you may not live long enough to make them all yourself...

              1 Reply Last reply Reply Quote 0
              • D Offline
                Diggsey
                last edited by

                If you need to use the same settings as last time just copy and paste the graph, and then change the settings you need to. All the settings are stored as attributes of the graph so will be copied with it. If you need to change the size you can use the scale tool just as easily as creating a new graph.

                1 Reply Last reply Reply Quote 0
                • N Offline
                  notareal
                  last edited by

                  @tig said:

                  You already have 'pi' [in lowercase] as a function?

                  Also now in axes... get improvement with other functions too 😄

                  Welcome to try [Thea Render](http://www.thearender.com/), Thea support | [kerkythea.net](http://www.kerkythea.net/) -team member

                  1 Reply Last reply Reply Quote 0
                  • D Offline
                    driven
                    last edited by

                    BTW.. the varying size of content seen by jim is most likely due to your using [ font-size: 8pt; ] as although 1px=0.75pt different browsers treat pt oddly,

                    with safari, in SU, on my mac 8pt is reading as 8px and everything fits if a bit small.

                    learn from the mistakes of others, you may not live long enough to make them all yourself...

                    1 Reply Last reply Reply Quote 0
                    • N Offline
                      notareal
                      last edited by

                      Got some inspiration from http://abdelhamid394.blogspot.com/


                      surfacegen_SU.jpg

                      Welcome to try [Thea Render](http://www.thearender.com/), Thea support | [kerkythea.net](http://www.kerkythea.net/) -team member

                      1 Reply Last reply Reply Quote 0
                      • PixeroP Offline
                        Pixero
                        last edited by

                        This is very cool.
                        Two questions:
                        Is there any noise available? If not that would be a great addition.
                        I've tried with rand but that isn't noise. 😞

                        A few links to good sites with functions and equations for surfaces would also help getting up to speed.

                        1 Reply Last reply Reply Quote 0
                        • D Offline
                          Diggsey
                          last edited by

                          I've updated the first post with version 0.8.

                          @Pixero
                          What exactly do you mean by noise? Surely just adding (rand-0.5) will put noise on the graph?

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

                            Thanks, Diggsey.

                            Just a minor annoyance. Since the dialog steals the focsus, whenever I select a Surface, my SU shortcuts don't work. For example, select the Surface to move it - press the 'm' shortcut to Move it - can't Move it because the dialog got the keypress. 😞

                            Hi

                            1 Reply Last reply Reply Quote 0
                            • D Offline
                              Diggsey
                              last edited by

                              Unfortunately, I don't think there's a way to give focus back to SketchUp from ruby. (Someone correct me if I'm wrong!)

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

                                I don't think so either, and I realize a small change in workflow is all that's required - but as the saying goes "old habits die hard." No worries.

                                Hi

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

                                  If you pick a surfacegen-entity the surfacegen-dialog appears.
                                  Minimize that surfacegen-dialog.
                                  The focus will then return to the SKP window.
                                  So now you can use shortcuts etc to Move the selected entity etc.
                                  Restore the surfacegen-dialog to change the surfacegen-entity's settings... 🤓

                                  TIG

                                  1 Reply Last reply Reply Quote 0
                                  • PixeroP Offline
                                    Pixero
                                    last edited by

                                    @diggsey said:

                                    What exactly do you mean by noise? Surely just adding (rand-0.5) will put noise on the graph?

                                    With random numbers there is no relationship between a given random and the next random.
                                    Noise however, produces a naturally ordered smooth sequence of numbers with makes it more useful when creating surfaces or textures. (Think surface displacement to create waves and clouds.)
                                    Here's a few links that explain it better than I can:

                                    http://en.wikipedia.org/wiki/Simplex_noise
                                    http://www.noisemachine.com/talk1/
                                    http://webstaff.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf

                                    1 Reply Last reply Reply Quote 0
                                    • PixeroP Offline
                                      Pixero
                                      last edited by

                                      Instant roof. 😄

                                      instant_roof.jpg

                                      1 Reply Last reply Reply Quote 0
                                      • D Offline
                                        d12dozr
                                        last edited by

                                        @diggsey said:

                                        Just uploaded a fairly major update to the first post!
                                        ...
                                        @d12dozr
                                        Helpful error message are now shown when an expression is invalid.

                                        Thank you...helps me take my baby steps 😆

                                        One thing...when I start a new SU file from File -> New, the dialog for SurfaceGen doesn't pop up. It does work if I close SU down completely and restart. I can draw the boundary box, but then cannot do anything else. I opened the Ruby Console while opening a new file, but didn't get any error messages.

                                        3D Printing with SketchUp Book
                                        http://goo.gl/f7ooYh

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

                                          nice roof Pixero

                                          but your fonction is not visible.

                                          1 Reply Last reply Reply Quote 0
                                          • PixeroP Offline
                                            Pixero
                                            last edited by

                                            -abs(x)+sin(8*y)

                                            The rest I think you can see in the picture.

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

                                            Advertisement