[OpenSCAD] Ovals

arnholm at arnholm.org arnholm at arnholm.org
Thu Sep 6 02:55:44 EDT 2018


On 2018-09-05 22:27, FourthDr wrote:
> What do you mean by "2-manifold"? I thought manifold was well, 
> manifold.
> There is some other type of manifold?

2-manifold edge means that edge is referenced by exactly 2 faces. 
1-manifold edge means it is referenced by exactly 1 face and that face 
is then obviously not contributing to a closed volume boundary. In 
general, an edge being N-manifold means the edge is referenced by N 
faces. In loose language you could say a face is non-manifold if it 
refers to at least one edge that is not 2-manifold.

In 3d-printing it is common to require all edges to be 2-manifold, 
because the faces will then unambiguously define one or more closed 
volumes. If you had a more sophisticated representation of volumes with 
sub-volumes using e.g. different materials, it would make a lot of sense 
to allow N-manifold edges for N>2, but it is not possible within a 
single STL.

An STL file contains disconnected triangles ("polygon soup"), i.e. faces 
with exactly 3 edges. An edge runs between 2 vertices. A vertex has XYZ 
coordinates.  Strictly speaking, in STL files all edges are 1-manifold, 
because there is no concept of edge or vertex sharing, all vertices (and 
coordinates) are repeated for every triangle, hence it is a "polygon 
soup". It is up to the software reading the STL file to have a guess at 
what matches what and which manifoldness it is supposed to represent, 
and this often leads to conflicting interpretations. STL is (somewhat) 
OK for slicer programs, but not really a good choice for import to CAD 
programs, due to the interpretation issues mentioned. As mentioned, 
there are other formats that are less ambiguous, including WaveFront 
OBJ.

Carsten Arnholm



More information about the Discuss mailing list