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

arnholm at arnholm.org arnholm at arnholm.org
Thu Nov 14 10:32:01 EST 2019

On 2019-11-14 16:13, Doug Moen wrote:
> On Thu, Nov 14, 2019, at 8:39 AM, Ronaldo Persiano wrote:
> I have never written a mesh repair algorithm, so I'm not an expert.
> A mesh is self intersecting if any two faces intersect. Repairing the
> intersection of two faces involves splitting both faces into smaller
> triangles.

I have played around with mesh repair, as part of AngelCAD you get 
"polyfix" which is a mesh repair utility that can improve quite a few 
models and sometimes cure them completely by making them 2-manifold.

I think self-intersections are almost always a sign of something else 
gone wrong, it is typically a body that overlaps itself and and not a 
result of a boolean operation. A self-overlapping volume is physically 
impossible. There are lots of ways to use bodies that are not 
2-manifold, but a self overlapping volume seems like an obvious mistake.

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. I would keep it as a separate issue most likely 
requiring the user to fix something he did wrong.

Carsten Arnholm

More information about the Discuss mailing list