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

Doug Moen doug at moens.org
Thu Nov 14 10:46:28 EST 2019

On Thu, Nov 14, 2019, at 10:32 AM, arnholm at arnholm.org wrote:
> Attempting to automatically repair the kind of self intersection you 
> describe, i.e. two faces intersecting will give "interesting" results. 
> If you split the two faces into say 4 triangles it implies creating a 
> 4-manifold edge... so an automatic repair attempt of such issues is 
> mostly self defeating. 

Thanks for correcting me on that.

Actually, the repair would result in a 2-manifold mesh *if* topology information is part of the mesh, because the repair would create duplicated vertexes in the vertex list. This would fix a self-intersection problem for the purposes of running a CGAL operation; it would allow a boolean operation to succeed. Keep in mind that CGAL uses the Nef Polyhedron representation for boolean operations, and two polyhedra that meet at an edge is representable as a Nef Polyhedron. As long as the automatic repair process produces something that we can convert into a Nef Polyhedron without losing topology information, then it works.

However, if you discard the topology information (eg, when exporting to STL), then you end up with a 4-manifold edge, and the figure-8 mesh isn't 2-manifold, and isn't printable. That's the part I wasn't clear on when I wrote the earlier post.

More information about the Discuss mailing list