|
28th February 2009, 09:06 AM | #1 |
Senior Member
Professional user
Join Date: Jul 2005
Location: France
Posts: 737
|
Re: Request: Extrude in parallel
"No" this is not a bug, this is the way it works in AC3D when you extrude several "non-aligned" faces at once.
What we need is something usually called "extrude region" (by normal). I hope it will be implemented in the future. So I'm with you with that request.
__________________
OL. |
2nd December 2013, 08:15 PM | #2 |
Senior Member
Professional user
Join Date: Nov 2007
Posts: 139
|
Re: Request: Extrude in parallel
Do we have this yet? With the development of 3D printing this sounds like a useful tool to give surfaces a specified depth... If it doesn't exist yet I may have to try creating it...
Ron |
3rd December 2013, 03:34 AM | #3 |
Senior Member
Professional user
Join Date: Dec 2003
Location: UK
Posts: 369
|
Re: Request: Extrude in parallel
I'm not aware at it exists, but would be happy to be proven wrong.
__________________
Regards, Gerry "Mossie" Mos -------------------------------------------------------------------------- WW1 Aircraft Library http://ww1-aircraft.info/ Mossie 3D CAD, "Prompt and Precise" http://mossie3dcad.com/ |
3rd December 2013, 07:14 AM | #4 |
Junior Member
Member
Join Date: Aug 2013
Location: London UK
Posts: 22
|
Re: Request: Extrude in parallel
Surely the normal extrude does this - use the 'extrude by distance' and decide in which direction you want the faces extruded (eg 0,0,0.2 to extrude along the Z axis, 0.2,.2,.2 for a diagonal extrusion).
|
3rd December 2013, 09:55 PM | #5 |
Senior Member
Professional user
Join Date: Nov 2007
Posts: 139
|
Re: Request: Extrude in parallel
Geoffm,
Thanks for pointing the Extrude tool out. It does exactly what I was thinking about implementing, which is duplicating each face, swapping its normal, and moving the vertexes $(width) along the line which bisects all the surface normals. I see now the problem Mossie was talking about earlier. The new plane only ends up parallel to the original plane if all the surrounding faces are the same angle, further $(width) is not the distance between the two faces unless the whole region is flat. This will require further contemplation to come up with an algorithm... Ron |
4th December 2013, 10:55 PM | #6 |
Senior Member
Professional user
Join Date: Nov 2007
Posts: 139
|
Re: Request: Extrude in parallel
I think the math below will do the extrusion we're after, I just need to figure out how to write an Ac3d plug-in to do the work, after looking at the tcl commands available I don't think its sufficient to do much of anything.
Code:
d = distance to extrude, scalar N[] //surface (plane) normal, vector M[] // vertex normal vector, average (bisector) of adjoining plane normals V0 // original vertex location, point Vs // transformed vertex location, point // Should replace V0 with average of all surface points? Ps = V0+dN[] //transform point on surface vector math, point // Helper variables // k can live for the whole surface k = N[x]Ps[x]+N[y]Ps[y]+N[z]Ps[z] // t must be calculated per vertex t=(k-N[x]V0[x]-N[y]V0[y]-N[z]V0[z])/(N[x]M[x]+N[y]M[y]+N[z]M[z]) // Vs new vertex location Vs[x] = V0[x] + tM[x] Vs[y] = V0[y] + tM[y] Vs[z] = V0[z] + tM[z] |
|
|