[Plugin] SketchyFFD (Classic)
-
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.
-
@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 !
-
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:inupdateFFD' C:/Program Files/Google/Google SketchUp 6/Plugins/SketchyFFD.rb:13 C:/Program Files/Google/Google SketchUp 6/Plugins/SketchyFFD.rb:13:in
call' -
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 ScriptMike
-
@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:inupdateFFD' 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
-
@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
-
...exactly the same here. I see no errors in the ruby panel though.
-
@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..
-
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' ) -
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.
-
@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.
-
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?
-
@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:inupdateFFD' 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!
-
@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
-
Yup. That's what I did alright.
Thanks for the help.
Dave
-
Coen's post makes me ask, is there anyway to make this work on a component instead of or in addition to a group?
-
Where's the "dope slap" smilie?
I was doing it in reverse, trying to make a group of a components. Thanks Coen. I gotta think inside the box.
-
@unknownuser said:
You're welcome Dave!
What's a dope slap though?
Also, I have been experimenting more with this script. I had an idea to position the cloned Construction Points along a series of curved Edges that you usually see used on Soap Skin Bubble examples, but I haven't been successful. I am trying to see (and would like Chris to shed some light on this) if the Construction Points have coordinates assigned to them. What I mean is that if I clone the Construction Points from the top and use them in the bottom will this distort the FFD? Should I therefor use the top ones? Well I tested this and it does seem so that there are coordinates assigned to them because by running two tests, one with using the Construction Points from above and the other test by using the bottom ones, and the result were different. The second test is what you see below, which brings me to another point - it is interesting to see what kind of curvy geometry you can create with this script, cloning Construction Points and positioning them. I hope I can find a way to understand how to exactly control them so it becomes easy to make any kind of curved geometry I had hoped to create in the first place.
As it is currently written it creates the construction points at fixed points and then weights the model based on that initial position. I am actually surprised that coping the construction points works at all.
I think what you are asking for is: Take this mesh and start FFD with this group of arbitrary positioned control points. That should be possible and probably not to difficult.
But you would have to be careful. When you start a FFD it creates a table of weights for each construction point with 3 floats per vertex in the group to deform.
So if you have a mesh with 1000 verts and a 3x3 set of control points:
3x3x3=27 control points
2710003=81,000 floatsWhen you update it loops through each vertex and calculates how much to move it based on the weighted changes in the control point. So the more control points you have the slower it is.
In your picture it looks like you have 9x9x3 control points. That comes to 729,000 floats. It would be really really slow to deform.
Chris
-
I'd take "really really slow" over "no such function at all" any day.
-
I think its pretty clear what he means.
He much rather have a slow tool that does what he wants then not having that tool at all.
Advertisement