[OpenSCAD] Discuss manifoldness, co-incident faces edges etc

arnholm at arnholm.org arnholm at arnholm.org
Fri Nov 15 04:14:50 EST 2019

On 2019-11-15 09:15, nop head wrote:
> If you can partition the self-overlapping object into separate
> sections that don't self overlap but do overlap each other than they
> can be unioned back together. So perhaps the solution lies that way.

That sounds as complicated as the original problem, maybe more so. 
Partitioning is not so easy, it is the kind of thing that is done in 

Here is a rough sketch of I think it could be done (ignoring the issue 
of property resolution):

Assume we start with a clean 2-manifold solid, potentially self 

Stage 1 is to detect whether self overlapping has indeed happened. I 
think this must be done by discovering face/face intersections between 
faces of the solid.

Stage 2 is to imprint the intersection edges on those faces, i.e. split 
them creating N-manifold edges. When all intersections are done, you 
have some internal faces with no outside.

Stage 3 is to identify those internal faces and remove them.  This is 
tricky. The candidates are faces referring to N-manifold edges where 
N>2, but it is not a sufficient criterion. However if you can identify 
the internal faces and remove them, the result is 2-manifold.

Carsten Arnholm

More information about the Discuss mailing list