What the Online STL Repair & Topology Auditor Does
Before a 3D slicer (such as PrusaSlicer, OrcaSlicer, Bambu Studio, Cura, or Lychee) can generate clean 2D contour slices, the input `.stl` triangle soup must form a closed, watertight 2-manifold volume. Because standard STL files only store an unordered list of triangle vertex coordinates without shared connectivity, exported CAD or photogrammetry meshes frequently contain gaps, unmerged vertices, zero-area slivers, or inverted face normals that cause missing layers or slicer crashes.
MeshKit's STL Repair Online tool reads both binary and ASCII `.stl` files up to 100 MB directly in your browser, welds coincident vertices within `1e-6 × bounding_box_diagonal`, builds a complete half-edge topology graph, counts open boundary edges, holes, non-manifold edges, and flipped normals, computes exact surface area and signed tetrahedral volume, and exports a repaired binary `.stl` file.
How to Audit & Repair an STL File in 4 Steps
- Select or Drop Your `.STL` File: Click the upload box or drag any binary or ASCII `.stl` file up to 100 MB. MeshKit verifies the exact binary byte formula (`84 + 50 × N`) rather than trusting the `solid` header prefix.
- Review the Topology Metrics: Check the KPI strip for open boundary loops (holes), boundary edge count, non-manifold edges, flipped normals, degenerate zero-area triangles, bounding box dimensions, surface area (`cm²`), and signed volume (`cm³`).
- Run the Manifold Repair Solver: Click Execute Manifold Repair. MeshKit welds coincident vertices, culls degenerate faces, unifies inverted face normals via dual-graph breadth-first search, closes planar boundary loops, and re-audits the resulting mesh.
- Download the Watertight Binary `.STL`: Click Download Watertight .STL to save the compact binary STL (`84 + 50 × triangles` bytes) ready for your slicer.
Worked Example: Cube Topology & Signed Volume (Golden Vectors C13 & C14)
Consider a closed `10 × 10 × 10 mm` cube composed of `12` triangles (2 per square face):
Boundary Edges (used 1×) = 0 | Holes = 0 | Non-Manifold Edges (used >2×) = 0
Surface Area = 6 × (10 mm × 10 mm) = 600 mm² = 6.00 cm²
Signed Volume = Σ [ v0 · (v1 × v2) ] ÷ 6 = 1,000 mm³ = 1.000 cm³
If top 2 facets are removed (10 facets): 4 boundary edges forming 1 open hole loop.
Technical Limitations
Planar loop patching and vertex welding reliably seal flat or mildly curved holes and unify flipped face normals. Self-intersecting shells, boolean overlaps of multiple disjoint solids, or complex non-planar saddle holes may require full voxel remeshing or CAD re-export. MeshKit re-runs the topology audit after every repair pass and only displays Repaired (0 defects) when zero boundary and non-manifold edges remain.
Frequently Asked Questions
How does MeshKit distinguish binary STL files that start with the word "solid"?
Many CAD exporters write the word `solid` in the 80-byte binary header. MeshKit checks whether the exact file size in bytes equals `84 + 50 × N` (where `N` is the 32-bit unsigned triangle count at byte offset 80). If it matches, the file is parsed as binary regardless of header text.
What does a negative signed volume mean?
A negative signed volume means the mesh's triangle vertex windings are oriented clockwise (pointing inward) instead of counter-clockwise (pointing outward). MeshKit warns you when a mesh is inside-out, reports the absolute volume, and flips all normals outward during repair.
What is the difference between a boundary edge and a non-manifold edge?
In a watertight mesh, every undirected edge is shared by exactly 2 triangles. An edge used by only 1 triangle is a boundary edge (part of a hole). An edge shared by 3 or more triangles is a non-manifold edge (such as an internal baffle or T-junction).
Does repairing an STL change its dimensions?
No. Vertex welding uses an adaptive tolerance of `1e-6` times the bounding box diagonal (for example, `0.0001 mm` on a `100 mm` part), preserving exact part dimensions while merging floating-point seams.