Re: [Plugin] Flatten to Plane v1.2 20101023
-
(c) TIG 2010
Permission to use, copy, modify, and distribute this software for
any purpose and without fee is hereby granted, provided that the above
copyright notice appear in all copies.
THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
You need this file
#FlattenToPlane.rb >>> Plugins Folder
You must also have this file
#WorkPlane.rb >>> Plugins Folder http://forums.sketchucation.com/viewtopic.php?p=274345#p274345
Usage:
Make or choose a 'WorkPlane' that is located on the 'plane' onto which
you want to project your 'flattened' Geometry.
Select the 'WorkPlane' and the required Geometry [Edges etc, note that
Faces etc will be ignored], and/or Groups, and/or Component_Instances.
Run this Tool from the menu 'Plugins' > 'Flatten to Plane'
or type 'flattentoplane' in the Ruby Console.
If there is no 'WorkPlane' and/or other objects in the Selection you get an
error message.
Assuming it runs...
All Edges in the Selection that are not 'hidden' or not on 'off layers' are
projected onto that 'plane'.
The new 'flattened' Edges are put into a new Group named 'FLAT_123456.789'
[it has a 'date/time' suffix].
Each new Edge takes the original Edge's layer.
If an Edge is in a Group it is put into a new Group made inside the new
'FLAT_123456.789' Group that is named after the original Group's name +
'_FLAT'. This nested Group takes the original Group's layer.
If an Edge is in a Component_Instance it is put into a new Group made
inside the new 'FLAT_123456.789' Group that is named after the original
Component Definition's name + '_FLAT'. This nested Group takes the
original Instance's layer.
On completion the new Group ['FLAT_123456.789'] is left highlighted.
Donations:
by PayPal to info @ revitrev.org ___________________________________________________________________________
Version:
1.0 20101022 First release.
1.1 20101022 Nested groups/instances now included.
1.2 20101023 The correct Plane of a 'WorkPlane' is now used even if it has
been Transformed inside its own Group.
___________________________________________________________________________#FlattenToPlane.rb -
Cool Plugin, will definitely use this, thank you. I've got one request though, is there a way to make an option that the new geometry created becomes a plane with no interior lines. See the image below, the cylinder has a lot of lines but is not a plane. I feel more often than not if you are using this plugin you'll want to extrude the geometry afterwords but for complex shapes you'll end up with a lot of lines to delete. I could be wrong though. Maybe just make it so the new geometry has all the planes drawn in.
-
To add faces you can quickly over-drawn th whole thing with a giant circle which will 'face' and intersect with any edges that could 'face': then erase the outer giant circle.
To make a 'silhouette' is much more complex as we'd need to do the above programmatically AND then erase inner island faces and afterwards we need to tidy unfaced edges and any coplanar edges that are not needed...
I'll think about it... -
TIG, thank you, again
-
Here's v1.1 http://forums.sketchucation.com/viewtopic.php?p=281320#p281320
Nested groups/instances now included. -
ThomThom's Cleanup script works pretty well to delete all the co-planar lines once the face exist. I tried creating the large circle around the geometry to get the faces but it doesn't always create all the necessary faces, so maybe you could look into just create the faces for the resultant geometry. But that's just a suggestion.
-
I have no words to thank for your quick response. Your speed to make the solution is amazing.
I just got the script and was playing with it for a while. I created a work plane i selected my group and run it.
The result was the model got unfolded on the working plane. Or is it my problem I've attached the model.
And One more thing, If i have my section plane on, does it flatten only the visible geometry.
Again thank you so much.
-
Ok, I must be doing something wrong. I am building a model wind turbine and want to cut out blades for the model. The blades wrap around a frame in a helical design. I want to flatten the helical shape so that I can get the 2d curve that best approximates the shape of the blade. So I download both plugins and select a plane and select my model. I run the flatten plugin and I now have a blue box around my model blade, but it is still in 3 dimensions. Any ideas as to what I am doing incorrectly? This looks like a great plugin and is just what I need to get my new business started if I can make it work! Thanks in advance for your help.
-
Gude
I can see the problem...
I can't see see what's causing it [yet]
I think perhaps you need Jim Foltz's 'unfold.rb'.............. -
@powerwall said:
Ok, I must be doing something wrong. I am building a model wind turbine and want to cut out blades for the model. The blades wrap around a frame in a helical design. I want to flatten the helical shape so that I can get the 2d curve that best approximates the shape of the blade. So I download both plugins and select a plane and select my model. I run the flatten plugin and I now have a blue box around my model blade, but it is still in 3 dimensions. Any ideas as to what I am doing incorrectly? This looks like a great plugin and is just what I need to get my new business started if I can make it work! Thanks in advance for your help.
This tool only 'projects' a form onto a plane [when it's working!] - if you want to 'unfold' a form use Jim Foltz's 'unfold.rb'..........
There is is also 'flatten.rb' from Smustard ? -
Here's an alternative 'Silhouette to Plane' Tool http://forums.sketchucation.com/viewtopic.php?p=281445#p281445
-
Thanks so much for the info on the unfold tool. This is exactly what I need to convert the 3d curve to a 2d shape that I can have manufactured. I have my first customer for my wind turbine design but the blade design has been a hangup as my manufacturer was unable to determine the curves to cut for the blades. Not knowing CAD, I was at a loss. I can't put into words how great it is to have a solution. Thanks a million!
Keith Tully
Power Wall Systems
http://www.powerwallsystems.net -
SU 8 versionHello,
first I must thank you for your marvelous plugins.
so I try this one and exept for the workplane coplanar to the ground the result is not coplanar with is workplane but seems to be perpendicular.
SU 8 on mac 10.6
see attatchment.
-
I think the problem lies with the transformations of the WorkPlanes...
If you simply move / rotate the WorkPlane group then the tool will use its 'plane' correctly - as the WorkPlane is effectively 2D and its bounds are not orthogonal to the main axes.
You seem to have unlocked and edited the internal contents of the WorkPlane group so that they are then angled within the group and therefore whilst the group is 'orthogonal' to the axes the plane's face is not: because the tool takes the WorkPlanes group's transformation to place the 'flattened' version it appears 'orthogonal' matching the WorkPlane group's alignment and not the internal 'face'...I can probably trap for this too...
-
Here's v1.2 http://forums.sketchucation.com/viewtopic.php?p=281320#p281320
The correct Plane of a 'WorkPlane' is now used even if it has been Transformed inside its own Group. -
sorry for the stupid question, but I can't test this at the moment.
does this script take geometry and lay it flat, or does it create a projection onto the work plane?
I'm looking for a script that will take a bunch of randomly oriented faces and lay them out nice and flat on the ground plane. For lasercutting, so I don't want them projected/distorted.
Thanks,
C -
@manamana said:
sorry for the stupid question, but I can't test this at the moment.
does this script take geometry and lay it flat, or does it create a projection onto the work plane?
I'm looking for a script that will take a bunch of randomly oriented faces and lay them out nice and flat on the ground plane. For laser-cutting, so I don't want them projected/distorted.
Thanks,
CThis tool makes a 'projection' of the vertices in a shape to the nearest points on a plane.
Therefore if the object is skewed relative to the plane its projection will be distorted compared to its 'parent'.
This tool and its sibling 'SilhouetteToPlane' are very similar - this one projects vertices into new lines and keeps grouping etc whilst the other makes a cardboard-cutout silhouette of the 'profile' and faces it.
To lay the faces in objects flat onto the ground I suggest you try Jim Foltz's 'unfold.rb' - it's not 'automatic' but it's easy enough to use...
Are your faces individually grouped?
If so it might be easy enough to script a tool to transform them all 'flat' [normal=[0,0,1]] and all moved to be on the ground - z=0 - you might need to do some tidying if they overlapped etc... but another algorithm to shift them around once they were 'flat' so their bounds didn't intersect would also be feasible...
Adding text-tags to the grouped faces and their 'flattened' counterparts would also be helpful to keep track of them?
-
Could someone provide a few worked examples where this tool, and Silouette to plane, prove useful? I am still not clear on function.
Thanks!
Bob -
See this...
-
Dear TIG,
Many thanks for the illustration. So, am I right in thinking that this tool could be used to create third angle projects? Presumably, after using the flattening to plane/keep all edges tool, one could then delete unwanted lines and/or change lines to construction lines to show hidden detail?
Kind regards,
Bob
Advertisement