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

Doug Moen doug at moens.org
Thu Nov 14 12:16:58 EST 2019


I found a boolean mesh library, an alternative to CGAL or Carve, with some incredible properties.

It is very robust. Unlike CGAL or Carve, the input can contain self-intersections. The input is not generally required to be manifold, although there is still the restriction of no open boundaries or non-manifold “flaps”, and consistent orientation.

The algorithm is based on CGAL exact arithmetic, but they have a method for converting the output to floating point without introducing self intersections.

The performance is very good: on average 7x faster than CGAL, competitive with Carve (about 12% slower). The performance gets much better if you combine many meshes using a single operation. They found one case where unioning 10 objects took a few seconds with their code, and a few weeks with CGAL.

And it is open source, part of libIGL.

http://www.cs.columbia.edu/cg/mesh-arrangements/mesh-arrangements-for-solid-geometry-siggraph-2016-zhou-et-al.pdf

https://github.com/libigl/libigl/blob/master/include/igl/copyleft/cgal/mesh_boolean.h



More information about the Discuss mailing list