[Plugin] SketchyFFD (Classic)
-
Hello my name paan,
can you find or make sketchup plugin that can detect the edge of the texture and turn into that shape . It's more like make the rectangle turn into the shape of the texture that have transparent background .
sorry for my bad English and i hope you understand what i meant
and if you find it don't forgate to send an email to me at:
fan_mustar@yahoo.com.my -
hi paan,
I think that is quite difficult, because SketchUp isn't ment to do such operations with textures. I am not a ruby coder though.
if you have got Adobe Illustrator there may be a workaround by importing the image, tracing it and then exporting as dwg. file. then you can import the dwg into SketchUp... haven't done it myself though.oh, and in future it might be better to open up a new thread for such enquiries. that is a completely different topic after all. having it as a separate discussion would help others too, when they are looking to solve similar problems
-
@bluescreen said:
Hello my name paan,
can you find or make sketchup plugin that can detect the edge of the texture and turn into that shape . It's more like make the rectangle turn into the shape of the texture that have transparent background .
sorry for my bad English and i hope you understand what i meant
and if you find it don't forgate to send an email to me at:
fan_mustar@yahoo.com.my -
I am confusing...FFD works for me occasionally!!!
-
same for me. sometimes it works with 3x3 control points. sometimes it doesn't. sometimes it just needs a restart. sometimes it needs a whole new file. and sometimes it doesn't work at all, no matter what I do (custom control point numbers don't seem to work at all anymore).
so I am afraid this script needs to be rewritten for SU 7.1
what a pity -
Sorry, I wasnt keeping up on this thread.
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.
-
now I have only 7.1, and no idea , how it works/or not!!!!
-
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> -
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. -
@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.
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. -
Good news, I guess the last update of SU corrected something related cause FDD now works just fine again.
No matrix offset anymore
-
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:ininitFFD' /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/SketchyFFD.rb:209:in
upto'
/Library/Application Support/Google SketchUp 7/SketchUp/Plugins/SketchyFFD.rb:209:ininitFFD' /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/SketchyFFD.rb:200:in
each'
/Library/Application Support/Google SketchUp 7/SketchUp/Plugins/SketchyFFD.rb:200:ininitFFD' /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
-
thank you
-
thankyou
-
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
-
mmm ..me to
wheres UpdateFFD ? -
First page!
-
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)...
-
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
-
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.
-
Advertisement