Skip to main content

Module mesh_solid

Module mesh_solid 

Source
Expand description

A B-rep solid from a triangle mesh.

A mesh already says which triangles meet along which edges: once its repeated vertices are welded, two triangles that share two vertices share an edge. So the topology is built from that connectivity directly (one vertex per mesh vertex, one edge per mesh edge), and no geometric sewing search is needed, which is what lets a printable file of hundreds of thousands of triangles convert in seconds.

Adjacent triangles that lie in one plane merge into one planar face, bounded by the region’s outer loop and its holes, and a run of boundary segments along one straight line between the same two faces becomes one edge: a cube’s twelve triangles become six faces and twelve edges, and the faces take fillets and chamfers as a modelled box’s do.

Curved regions are recognized: triangles across which the surface turns smoothly are grown into regions for as long as their vertices lie on one cylinder, cone, sphere or torus, verified at the stated tolerance, and the region is rebuilt on that surface. Its boundary with each neighbour is placed on the surface exactly (a parallel circle or a ruling of it), so a meshed bore comes back as a cylinder between two circles, and a band all the way round its axis gets a seam as a modelled one has. A sphere or torus with no boundary is one face, a sphere bounded by one circle a cap, and a band round a torus’s tube runs between two of its meridians. A region whose boundary is no such curve, or that nothing canonical fits, stays faceted.

Windings are made consistent across each connected piece and turned outward. A mesh that does not close (a hole, an edge three triangles share, a piece that cannot be oriented) does not fail: it comes back as open shells, with the report saying why.

Structs§

MeshSolid
The result of solid_from_mesh.
MeshSolidOptions
How solid_from_mesh builds.
MeshSolidReport
What solid_from_mesh did, and where the mesh does not close.

Functions§

solid_from_mesh
Build a B-rep from a triangle mesh.