Mesh repair/Normals
Unify mesh normals (local)
Make triangle winding consistent across shared manifold edges and flip closed components to outward orientation. The Worker accepts STL, OBJ, PLY, 3MF, GLB, or self-contained glTF and writes an oriented binary STL locally.
Oriented mesh
No uploadOriented mesh
Winding is propagated across shared manifold edges. Closed components are flipped to outward orientation using signed volume. Boundary and non-manifold edges cannot constrain their neighbours.
Drop a mesh to orient
STL, OBJ, PLY, 3MF, GLB, or a self-contained glTF. Shared manifold edges are used to make triangle winding consistent; output is binary STL.
.stl · .obj · .ply · .3mf · .glb · .gltf → STL
Drop a mesh to orient
STL, OBJ, PLY, 3MF, GLB, or a self-contained glTF. Shared manifold edges are used to make triangle winding consistent; output is binary STL.
Choose a fileMax file size: 500 MB · No upload
No upload · File.slice() / ArrayBuffer → Worker → oriented STL.
How it works
- 1
Drop a mesh file in any supported format.
- 2
The Worker builds shared-edge constraints between adjacent triangles and propagates a consistent winding.
- 3
Closed components whose signed volume is negative are flipped to point outward.
- 4
Download the oriented binary STL. No upload is performed.
What the numbers mean
Winding is propagated through shared manifold edges. Open boundaries and non-manifold edges cannot constrain their neighbours, so conflicts and non-manifold edges are reported instead of silently guessed.
This operation changes triangle order, not vertex positions. It does not fill holes, split non-manifold edges, or remove self-intersections; use clean-mesh, fill-holes, or a slicer check as needed.
Printing notes
- Run manifold-check after orientation to confirm solid winding.
- Open surfaces may be consistently wound but cannot have an outward closed orientation.
- Keep the original file until a slicer accepts the oriented STL.
Questions
References
- · ISO/ASTM 52900
- · Mesh orientation and signed volume