[Plugin] Perpendicular Face Tools (UPDATED 26-03-09)
-
Dave, how are you getting the scale to change over the length of the shape? My tool only places the face on the line, but your shapes are all changing scale along their path quite smoothly. What is the trick there?
Chris
-
Chris, I'd love to tell you something like, "I found a loophole in your script." Alas, I'm just scaling the faces after placing them. In the case of the last image I posted, I drew a Bezier curve for the path--the curve you see in the top view--and another for the curve you see in the side view. I drew the custom face as half the profile and used your script to put it at the vertices along the curve. I rotated the large end profile 5Β° off vertical for this pull and then scaled all of them to height to match that upper curve.
After that was all done, I exploded the faces, deleted the faces leaving the edges and used the Skin plugin to fill things in. I only made a quarter of the handle, made it a component and copied/fipped it to make the other three quarters.
I probably don't need to use your plugin to create this but it is so quick at putting the faces in at the desired points and I think the end shape looks a bit nicer with the faces turned at each vertex to split the angle.
-
@dave r said:
Chris, I'd love to tell you something like, "I found a loophole in your script."
Ha, yeah right. A "loophole" in my script would be more likely to crash your system indefintely than create unexpected awesome geometry
Thanks for the explanation. I was wondering how you were getting the scaleing to come out so evenly. The bezier above them makes a lot of sense,
Chris
-
An interesting Ruby, Chris. This can be really handy.
One wish from me - Is it possible to pick a reference point (a vertice that sticks to the path) when placing profiles onto a path?
Right now it uses centers (more or less) of faces? -
Chris, I don't mean to be getting off topic but here's sort of a deconstruction of the thing. The horizontal guides intersect the Bezier curve at the nodes or vertices. (Is it proper to call them nodes?) You can see the Bezier drawn on the ground plane, too. I copied that one and used the copy as the "path" for placing the faces with your plugin. All of this runs parallel to the red axis. Which you would glean from the position of the original face shown in green off to the right.
I did have to scale the faces in the green direction to get the vertical edges to lie on the centerline of the handle.
-
@unknownuser said:
Thanks for the explanation. I was wondering how you were getting the scaleing to come out so evenly. The bezier above them makes a lot of sense,
wouldn't it be awsome if you could get you're script to do that automatically?!! scale to curves. WOW! how about this; draw to curves (rails) at get the profile to copy and scale at given intervals, say /6 or /12 or whatever.
now that would be a great tool!!!!!!!!!!!
-
@takesh h said:
An interesting Ruby, Chris. This can be really handy.
One wish from me - Is it possible to pick a reference point (a vertice that sticks to the path) when placing profiles onto a path?
Right now it uses centers (more or less) of faces?place a constuction point and you should be able to use that.
-
Yeah, it would be very easy to make it recognize a construvtion point as the placement point. So next round:
Near future:
Add construction point placement
Fix rotation keys
Add multiple flat face support for the custom tool.Distant Future:
Re-write custom face tool to rotate correctly always.My Next Life:
Turn it into a proper sweep tool with multiple deformation methods.Lets hope for the best
Chris
And thanks for the detail on that Dave, quite useful. It might be possible to implement that funcitonality. Is that something that is wideuly used enough that it woul be helpful?
-
Chris, if the function was available I think it would be used a lot by certain woodworkers who are using SU for designing their work. I can imagine others would use it as well. I've drawn a number of pieces utilizing the method I used for that handle such as table legs but I've always had to manually place the faces. I always found that the more tedious part of the process.
If you could automate the sizing of the faces, it would be very handy. I think working to nodes on the curves would be good.
I tend to halve or quarter more complex shapes such as that handle because they're generally a small part of a larger project and I don't want their contribution to the file size to exceed their worth if you know what I mean. I wonder if there would be a way in a dialog box to ask if the shape is half of a symmetric profile and should one edge of the profiles be aligned. Or maybe the scaling could be done such that the faces fit between top and bottom lines and left and right lines. If one of the pair of lines is straight, it could be used as the line of symmetry. Does that make any sense?
Not to dump a lot on you but the topper would be to roll the Skin plugin into your script. The process would be place the faces along the path, scale them to fit between the "sweep" curves, explode the face groups, delete the faces leaving the edges, skin between them and smooth the edges. What do you think of that?
-
I've got a few scripts in mind that deal with similar functions. We'll see if I attempt to write it into this one, or create a totally new script. I would definitely like to investigate this area of scripts. They sound like a lot of fun.
Chris
-
A Scaling function between each click of a face along the curve
(with the arrows Right / Left for example Increase / Decrease) -
@unknownuser said:
A Scaling function between each click of a face along the curve
(with the arrows Right / Left for example Increase / Decrease)to go even further off topic :
what if you could scale the faces via some sort of weighing mechanism? (and i'm not sure if 'weighing' is the right term here -- i basically mean that everything isn't scaled equally and the 'pressure' is greatest at a determined point and dissipates as it gets further away ... i can sort of give an idea using the smoove tool but that only works up/down.. if this could somehow work with the scale tool instead, it would open up a lot of options.
[flash=425,344:27kpptas]http://www.youtube.com/v/3AwbiNkwG9c&hl=en&fs=1[/flash:27kpptas]
-
Yeah, a soft selection tool (which is essentially what smoove does) would be nice. Its probably not enough, but you can hold down shift with the smoove tool to make it work in other directions than just the blue axis.
Chris
-
re: the construction point for placement of the custom profile..
would something like this be hard to implement? (via 1001bit's extrude tool)
[flash=425,344:avk32lsb]http://www.youtube.com/v/3AQ0bMPJh4Y&hl=en&fs=1[/flash:avk32lsb]
-
I like that. I'll have to think about it. It might require some re-writing and re-organizing.
And I am really bad at the on-screen display of rubber band lines and crosshairs and lines that light up etc. Maybe once I get those under control, I can implement something more visually friendly. For now, I might just have to include a true construction point recognition.
Thanks for the great suggestions,
Chris
-
@dave
@unknownuser said:Between Chris's plugin and the Skin plugin, this was all dead simple and fast work.
What is the number of the version of Skin plug you use?
-
@unknownuser said:
@dave
@unknownuser said:Between Chris's plugin and the Skin plugin, this was all dead simple and fast work.
What is the number of the version of Skin plug you use?
Looks like 2.2.1
-
Many thx
-
i think a good branch/byproduct of perpendicular face tools could be perpendicular line.. (and this ruby might already exist? tried searching to no avail)
the only thing it would need to do (that i can think of) is draw a construction line perpendicular to a line that's on a plane.
goal - perp.line at the green dot -- [edit] the greyish background is actually a plane.. the line isn't floating in space.. i should've shown that better.
using perpendicular face tool (which is now the easiest way for me to do this)
the proposed byproduct
this would be one of the cool little rubies that i'd assign a shortcut to..
[EDIT] i said:
"the only thing it would need to do (that i can think of) is draw a construction line perpendicular to a line that's on a plane."i guess it should also be a little smarter than that and function how perp.face tools does in that if you click on a vertex, the angle will be bisected.
-
Jeff
Just draw a perpendicular line [by inference] to end segment and convert to construction line with xline.rb
http://www.smustard.com/script/Xlinedtr
Advertisement