sketchucation logo sketchucation
    • Login
    🤑 SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

    [Plugin] SketchyFFD (Classic)

    Scheduled Pinned Locked Moved Plugins
    412 Posts 153 Posters 419.2k Views
    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.
    • C Offline
      CPhillips
      last edited by CPhillips

      UPDATE April 2021
      Hi Everyone. I am happy to announce that mind.sight.studios is going to be taking over development of SketchyFFD effective immediately. Please see this thread by Dale here for more information:

      https://sketchucation.com/forums/viewtopic.php?f=323&t=73658

      And I'd like to thank TIG for helping keep SketchyFFD updated the last few years.

      Chris

      [Original Post below]

      [NOTE: These instructions are out of date. Please see this thread for updates]
      https://sketchucation.com/forums/viewtopic.php?f=323&t=73658

      Instructions: (somewhat out of date. see updates for changes)
      -Create a group with all the geometry you wish to deform. This group should contain just faces and/or lines.
      -Right click the group and select one of the options in the FFD submenu. Either 2x2 or 3x3 or NxN FFD. Depending on the size of the model it could take a while (seconds I hope). At the end you should see a new group containing nothing but control points
      -Open the control point group and move the control points as you wish. The object should deform as you move the points. NOTE: it can take a long time for complex models. Look at the status bar in the lower left to see the status of the deformation.

      Bugs and limitations:
      -BUG. If you start a FFD and the control points don't match the object you need to explode and regroup the object. Then try the FFD again.
      -Only one FFD at a time. The script uses a few globals for speed.
      -Only works on geometry in a group and only one layer deep.
      -Sometimes hidden edges don't move right. Dont know why. Might be a bug in Sketchup.

      Update Feb 12. New version:
      -Support for NxN deforms.
      -Mesh automatically when you move control points.
      -Added status text progress when it is weighing and deforming the mesh.

      Update Mar 21.
      -Moved all FFD right click menu items to a sub menu.
      -Fixed a bug that forced you to have a least 2 control point in each direction. You can now have do 2D grids. IE. 1x4x3.
      -Added an option to create a NxN 2d patch. A grid with a control point at each intersection.

      Updated May 9 2008
      -Added ability to lock edges in the mesh so they don't move during FFD. Select edges then right click->FFD->Lock edges.
      -Added an option to subdivide the mesh when doing a NxN deformation.

      Updated Aug 24 2009
      -Optimized the initial weighting to be about 3x faster. Idea by Stefan.

      Updated 20110810 by TIG
      -Code is now inside a module, all $ variables now @@ or @ types, the flaky observer code is fixed.

      Updated 20130203 by TIG

      • Recently reported NxN issues with NaN [0.0/0.0] & Infinity [1.0/0.0] fixed, which occurred when selected group was 2d & NxN height=1
        and the NxN dialog now remembers the last used values that session for the NxN lattice [width, depth, height, subdivide]...
      1 Reply Last reply Reply Quote 0
      • K Offline
        kwistenbiebel
        last edited by

        Wow Chris,
        Thank you for sharing this ruby.
        That is a great contribution!

        [EDIT]: the ruby doesn't seem to work on my PC. updating the FF seems broken.
        I must be doing something wrong....(I tried it on a sphere)

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

          cheers chris, just had a really quick go with it and it seems to work fine for me. Thanks for all the work youve already put into this.

          http://remusrendering.wordpress.com/

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

            Fantastic script Chris!!!

            Hope that somebody pick it up and help with the UI.

            It works very fast!! To show interactively the deformation of the group in wireframe mode (like in Fredo6´s Shear) would be a good feature... perhaps will go more slow.. but will be a time saver because you don´t have to close the group, make a right click and select Update FFD and then wait to see if is the deformation you wanted and then make all the process again to fix it.

            This is other ruby that looks like a SU7 feature 😍.

            Thank You!!!!!!

            Daniel S

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

              impressive task 😎
              Works fine except the control points stay on the screen after deformation ❓

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

              1 Reply Last reply Reply Quote 0
              • boofredlayB Offline
                boofredlay
                last edited by

                @unknownuser said:

                impressive task 😎
                Works fine except the control points stay on the screen after deformation ❓

                That is the new group created by the FFD. You can simply delete or hide it when done with it.

                This is great! Thanks for this script.

                http://www.coroflot.com/boofredlay

                1 Reply Last reply Reply Quote 0
                • boofredlayB Offline
                  boofredlay
                  last edited by

                  Here is a quickie test. I drew a circle with 24 segments and copy/push/pull. Then I ran the script and moved the points.
                  This is one more step towards organics indeed. 👍


                  FFD.jpg

                  http://www.coroflot.com/boofredlay

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

                    @unknownuser said:

                    That is the new group created by the FFD. You can simply delete or hide it when done with it.

                    THX: very simple indeed ! ☀

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

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

                      It looks great in it's current form, but I get this error in the console... Maybe I'm doing something wrong...

                      Error: #<NoMethodError: undefined method definition' for #<Sketchup::Group:0xbec0960>> C:/Program Files/Google/Google SketchUp 6/Plugins/SketchyFFD.rb:224:in analizeLattice'
                      C:/Program Files/Google/Google SketchUp 6/Plugins/SketchyFFD.rb:60:in updateFFD' C:/Program Files/Google/Google SketchUp 6/Plugins/SketchyFFD.rb:13 C:/Program Files/Google/Google SketchUp 6/Plugins/SketchyFFD.rb:13:in call'

                      1 Reply Last reply Reply Quote 0
                      • Mike LuceyM Offline
                        Mike Lucey
                        last edited by

                        Thanks Chris, this could really be a useful Ruby for SketchUp.
                        I hope someone picks it up (as you say) and copper fastens it.
                        Even if they don't I imagine you will in your own good time
                        finalise the Script 😉

                        Mike

                        Support us so we can support you! Upgrade to Premium Membership!

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

                          @krash88 said:

                          It looks great in it's current form, but I get this error in the console... Maybe I'm doing something wrong...

                          Error: #<NoMethodError: undefined method definition' for #<Sketchup::Group:0xbec0960>> C:/Program Files/Google/Google SketchUp 6/Plugins/SketchyFFD.rb:224:in analizeLattice'
                          C:/Program Files/Google/Google SketchUp 6/Plugins/SketchyFFD.rb:60:in updateFFD' C:/Program Files/Google/Google SketchUp 6/Plugins/SketchyFFD.rb:13 C:/Program Files/Google/Google SketchUp 6/Plugins/SketchyFFD.rb:13:in call'

                          Ooops! I fixed it and updated the script in the original post. Kwistenbiebel this is probably the same bug you were seeing.

                          Chris

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

                            @unknownuser said:

                            I can't get this script to work. Nothing happens.
                            I create a sphere, group it, right-click and do 3x3 FFD, enter the new group with Construction Points, move some to another position, exit the group, right-click the sphere group and choose Update FFD. Nothing happens.

                            Can you open the ruby console and see if it is printing any errors?

                            Chris

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

                              ...exactly the same here. I see no errors in the ruby panel though.

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

                                @kwistenbiebel said:

                                ...exactly the same here. I see no errors in the ruby panel though.

                                Wow. I tried it on 2 different machines and it works. Maybe you are using a Mac? Altho I don't see why that would make any difference..

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

                                  Does the plugin in any means uses web based 'action script' or 'javascript' as I had trouble before with corrupt Iexplorer settings?
                                  (I refer to web panel based plugins like Skindigo that failed in the past on my pc due to 'script blockers' )

                                  1 Reply Last reply Reply Quote 0
                                  • boofredlayB Offline
                                    boofredlay
                                    last edited by

                                    It is working fine on my home machine as well as my work machine. Both pc on xp. One new, the other 8 years old. 😲

                                    http://www.coroflot.com/boofredlay

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

                                      @kwistenbiebel said:

                                      Does the plugin in any means uses web based 'action script' or 'javascript' as I had trouble before with corrupt Iexplorer settings?
                                      (I refer to web panel based plugins like Skindigo that failed in the past on my pc due to 'script blockers' )

                                      No other scripts at all. Just pure ruby.

                                      Hrmm. Very strange. Try doing a 2x2 FFD on a simple box. With the ruby console open in case of errors.

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

                                        Very cool script. Thank you.

                                        I do seem to being doing something wrong with it though. (Leave it to me to break it. 😒 ) See the attached screen grab.

                                        I drew a sphere centered on the blue axis and above the ground plane. After moving a single point marked at the top and updating, the egg moved off to where it is now. What did I do wrong?
                                        Dave screws it up.

                                        Etaoin Shrdlu

                                        %

                                        (THERE'S NO PLACE LIKE)

                                        G28 X0.0 Y0.0 Z0.0

                                        M30

                                        %

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

                                          @cphillips said:

                                          @krash88 said:

                                          It looks great in it's current form, but I get this error in the console... Maybe I'm doing something wrong...

                                          Error: #<NoMethodError: undefined method definition' for #<Sketchup::Group:0xbec0960>> C:/Program Files/Google/Google SketchUp 6/Plugins/SketchyFFD.rb:224:in analizeLattice'
                                          C:/Program Files/Google/Google SketchUp 6/Plugins/SketchyFFD.rb:60:in updateFFD' C:/Program Files/Google/Google SketchUp 6/Plugins/SketchyFFD.rb:13 C:/Program Files/Google/Google SketchUp 6/Plugins/SketchyFFD.rb:13:in call'

                                          Ooops! I fixed it and updated the script in the original post. Kwistenbiebel this is probably the same bug you were seeing.

                                          Chris

                                          It works great now! thanks for the fix!

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

                                            @dave r said:

                                            Very cool script. Thank you.

                                            I do seem to being doing something wrong with it though. (Leave it to me to break it. 😒 ) See the attached screen grab.

                                            I drew a sphere centered on the blue axis and above the ground plane. After moving a single point marked at the top and updating, the egg moved off to where it is now. What did I do wrong?
                                            [attachment=0:wa4rvigs]<!-- ia0 -->FFD1.JPG<!-- ia0 -->[/attachment:wa4rvigs]

                                            It looks like you did a "Update FFD" without first closing the control point group.

                                            Chris

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

                                            Advertisement