sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    [Plugin] SketchyFFD (Classic)

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

      now I have only 7.1, and no idea , how it works/or not!!!!

      My inspiring A, B, Sketches book: https://sketchucation.com/shop/books/intermediate/2612-alphabet-inspired-sketches--inspiring-drills-for-architects--3d-artists-and-designers-

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

        Here's what I get in the console on 7.1 running on XP Home...

        WARNING: make_unique is a deprecated method of Sketchup:Group
        Error: #<NoMethodError: undefined method `*' for nil:NilClass>

        1 Reply Last reply Reply Quote 0
        • starshipS Offline
          starship
          last edited by

          I registered just to say thank you for this BRILLIANT plugin!
          As a side note, I have Windows Vista and SU 7. No problems at all. The plugin is working fine for me. πŸ˜‰

          1 Reply Last reply Reply Quote 0
          • mariochaM Offline
            mariocha
            last edited by

            @cphillips said:

            There is a problem with the script under 7.1 or just 7.0? Can you give me some idea how to reproduce the bug? If it starts misbehaving open up the ruby console and see if it is printing any errors.

            Well, here, under 7.1 Mac, it still works but not as well as before. No matter where the group is located, the FFD dot matrix appears at the origin.
            FFD-7.1.png
            The console does provide a warning:
            %(#0000BF)[onSelectionBulkChange1
            Webdialog set to#Sketchup::Group:0x1ce30424
            WARNING: make_unique is a deprecated method of Sketchup:Group
            onSelectionCleared
            ]
            Hope this helps.

            %(#008000)[Mario C.
            Every rule has exceptions, but some.]

            1 Reply Last reply Reply Quote 0
            • mariochaM Offline
              mariocha
              last edited by

              Good news, I guess the last update of SU corrected something related cause FDD now works just fine again.
              No matrix offset anymore 😍 πŸ‘


              FFD-SU-updt.png

              %(#008000)[Mario C.
              Every rule has exceptions, but some.]

              1 Reply Last reply Reply Quote 0
              • B Offline
                bmscmoreira
                last edited by

                First, thanks to the author for this great plugin! Unfortunately Im not getting it to work right with the latest sketchup release (SketchUp 7 (7.1.5803) and OSX.
                The live update does not work, and only the 3x3 FFD works (with no live update).
                My console reports this:

                When creating the 3x3 FFD control points:
                "WARNING: make_unique is a deprecated method of Sketchup:Group"

                When creating the NxN FFD control points:
                "WARNING: make_unique is a deprecated method of Sketchup:Group
                Error: #<NoMethodError: undefined method *' for nil:NilClass> /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/SketchyFFD.rb:453:in calcBernstein'
                /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/SketchyFFD.rb:210:in initFFD' /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/SketchyFFD.rb:209:in upto'
                /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/SketchyFFD.rb:209:in initFFD' /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/SketchyFFD.rb:200:in each'
                /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/SketchyFFD.rb:200:in initFFD' /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/SketchyFFD.rb:151:in startFFD'
                /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/SketchyFFD.rb:20"

                Hope to fix this soon... the plugin is a really must-have 😒

                http://www.brunomoreira.net

                1 Reply Last reply Reply Quote 0
                • A Offline
                  Agisen
                  last edited by

                  thank you

                  1 Reply Last reply Reply Quote 0
                  • V Offline
                    voodyneo
                    last edited by

                    thankyou

                    1 Reply Last reply Reply Quote 0
                    • L Offline
                      lepiredesochs
                      last edited by

                      Hi All,

                      I just installed this ruby, everything is fine except that I cant update the FFD ( I actually have no "update FFD" choice in the menu).
                      Anybody can help?

                      Cheers,

                      Ben

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

                        mmm ..me to
                        wheres UpdateFFD ?

                        1 Reply Last reply Reply Quote 0
                        • BurkhardB Offline
                          Burkhard
                          last edited by

                          First page!

                          [http://www.ia-plus.de(http://www.ia-plus.de)]

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

                            since switching to SketchUp 7 I can only use the default 3x3 lattice. any user defined deformation matrix doesn't work (the lattice is created, but moving the points doesn't have any effect)... πŸ˜•

                            1 Reply Last reply Reply Quote 0
                            • G Offline
                              gbabcock
                              last edited by

                              Chris,

                              Thanks for the great plug-in, it really makes SU into a useful tool!

                              I think I found the cause of the problems some are having since with the 22 Aug update. The symptom is that once you use SketchyFFD, you can't change the size of the FFD. For example, if you create a 2x2 FFD you can only use a 2x2 for that session. Closing SU and reopening (or reloading the plug-in) clears it. Also NxN only works when all three dimensions are the same. At least that's what I have observed, and it seems consistent with the posts.

                              Starting on line 440 is the following:

                              [mod=:2y04bwod]THIS IS VERY OLD CODE, AND NO LONGER REGARDED AS GOOD-PRACTICE [$var ETC].
                              THE NEWEST VERSION OF FFD FROM THE PLUGINSTORE IS THE BEST AVAILABLE...[/mod:2y04bwod]

                              #Calculate the Bernstein polynomial.
                              #Uses a table for speed. 
                              #thanks to steven-arts for the idea.
                              $binomialTable=[]
                              def calcBernstein (i, n, u) #Bernstein Polynomial
                                  begin
                                      binomial=$binomialTable[i][n]
                                  rescue
                                      $binomialTable[i]=[] if($binomialTable[i]==nil)
                                      $binomialTable[i][n]=ffdfactorial(n).to_f / (ffdfactorial(n - i).to_f * ffdfactorial(i).to_f)
                                      binomial=$binomialTable[i][n]
                                  end
                                  #binomial = factorial(n).to_f / (factorial(n - i).to_f * factorial(i).to_f)
                                  bernstein = binomial * (u**i) * ((1-u)**(n-i))
                                  return(bernstein)
                              end
                              

                              The 4th line of this section, "$binomialTable=[]", declares the array and initializes it empty. But it is BEFORE the function declaration, so it gets executed only on the initial program load. Once you dimension the array with "binomial=$binomialTable[i][n]" you can't change the dimensions without reinitializing it. I simply moved this line inside the function so it will reinitialize on each call and it works fine.

                              I've tested this in SU 7.1.860 with 2x2, 3x3, and random NxN FFD's in the same session with no problems. Hope this helps!

                              Glenn

                              Glenn

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

                                well, that did the trick for me. thanks, Glenn.
                                however, there are still some issues sometimes. like that a transformation isn't applied to certain parts of the geometry.

                                and I have got two questions/suggestions for improvements for a future version:

                                • when you undo an action, the deformation, that has been applied to the geometry will be undone. the changed position of the control vertexes however is not set back. thus, when you undo an unwanted deformation and then move some control vertexes again, the old (undone) transformation is simply added to the new transformation)
                                  so my question is: is there a way to undo the repositioning of control vertexes alongside the undo-process of the geometry?

                                • when you deform a group, then delete the lattice and then create a new ffd lattice, the array of control vertexes is shaped around the old position of the group. in order to correct this you have to explode and regroup the geometry.
                                  I guess there is now easy way to overcome this problem. but if there was a possibility the plugin could reevaluate a groups position/scale, before creating the lattice, that would be cool.

                                1 Reply Last reply Reply Quote 0
                                • mariochaM Offline
                                  mariocha
                                  last edited by

                                  Yeah !, that modification came just in time. I needed it for work. Modeling a boat.
                                  Great work.

                                  As for the undo, for now I undo twice, one for the geom and one for the vertices. Seems to work fine.

                                  %(#008000)[Mario C.
                                  Every rule has exceptions, but some.]

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

                                    Is Chris no longer maintaining this?

                                    Hi

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

                                      hey Glenn,

                                      marvellous! now it works like a charm. a new matrix is always reliably adjusted to the group's dimensions and - for me even more important - undoing an operation effects geometry and control vertexes at the same time! 😍

                                      thank you very much for improving the script, Glenn πŸ‘

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

                                        I do have a question about the workings of this plugin.

                                        is the deformation a gradual process? (each change I make with the matrix adds another deformation to the geometry, therefore the order is important)

                                        or is it only dependent on the matrix's final state? (no matter if i do 10 changes or a hundred, the final position of control vertexes is important)

                                        because if the latter is the case (which I hope), you could - in theory at least - write a mighty modifier plugin not too much unlike 3Ds Max's deformers, where you can assign various preset-deformations to an object.
                                        these modifiers are attached to the group, can be switched on/off or their attributes can be adjusted.
                                        also you can add several modifiers (like a 'twist', a 'bend', and a 'squeeze' modifier). then the order is important (whether you twist or bend first), which of course can be changed later too...

                                        I don't want to know how difficult/impossible it is to write such a script. but just imagine the capabilities! you would add a whole new level of non-destructive controls to SketchUp 😲

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

                                          @gbabcock said:

                                          OK, here's the latest update. This one should fix the problems with control points and subdividing being misaligned with the deformation group.

                                          I'd appreciate any feedback to let me know if it's working well.

                                          Glenn

                                          Maybe better to create a new thread - so the download is at the start of the thread - not buried somewhere randomly in between. If you do that I'll tab this one obsolete and add a link to the new version.

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

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

                                            Hi guys,

                                            I've installed the SketchyFFD plugin by dropping it into my plugins folder but cannot locate it in SU. How do I access it/ turn it on?

                                            Thanks.

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 10
                                            • 11
                                            • 12
                                            • 13
                                            • 14
                                            • 20
                                            • 21
                                            • 12 / 21
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement