2D mesh embedded in 3D -> 3D

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

2D mesh embedded in 3D -> 3D

Kenneth Sloan


This may be easy - but I can't find it.  All clues gratefully accepted.

GIVEN: an STL file describing a 2D mesh embedded in 3D.  Isomorphic to a disc, with a simple boundary.

PRODUCE: a "thickened" version.  A "slab" where one face is the original surface, the opposite face is an offset
surface roughly parallel to the original, and the two faces are connected along their boundaries.

I'm about to write my own program to do this, outside of OpenSCAD - but I was hoping there was something I missed in the documentation.  I *think* all I need is the ability to somehow import the STL sheet and have OpenSCAD do
something reasonable with it (even though it is a one-sided infinitely thin sheet instead of the boundary of a solid object.

My first stab at this will probably involve tacking on a base.  I do this now with height fields (but…my original surface is not guaranteed to be a single-valued f(x,y)).  It's close enough that I can extract the boundary, offset a copy of the boundary in z, and then triangulate the gap between the two copies of the boundary.  Now I have a legit solid object that OpenSCAD can handle.  That would allow me to design a crude block…and subtract to create a crude block where one face is the original surface.  That is probably all my application really needs.

My next step sill be to move each vertex a small distance along it's surface normal to create the opposite face.

This *may* be sufficient for the very simple surfaces I have now - but a truly general version will have to deal with a possible self-intersecting surface.  I'll probably try smoothing the surface normals before offsetting.

I have all the pieces, so this will take only a couple of hours.  BUT…this feels like a reasonable request for
extending OpenSCAD.  The functionality I need is: import a 2D mesh with boundary and treat it more-or-less like
a polygon.  

Or…perhaps there's an existing feature that I have missed.

Any suggestions?

--
Kenneth Sloan
[hidden email]


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566