Fix On request

Turn meshes as real tools export them into closed, valid surfaces.

Exports, downloads and scans arrive with slivers, cracks, flipped faces, holes, overlapping parts and self-intersections. fix repair handles most files: parts turned outward, holes filled and crossings removed. When a file is broken throughout, fix wrap encloses it in a closed, valid surface just outside it, keeping sharp edges, and fix reconstruct rebuilds it from samples of its outside. fix shell keeps only the outermost surface, and fix denoise smooths scan noise while keeping sharp edges.

The fix module is granted on request, free for non-commercial use; see access and licensing.

Three views of a bracket: as exported, wrapped in a closed surface, and wrapped keeping its sharp edges.
The bracket as exported (left), wrapped at 1% of its size (middle), and wrapped keeping its sharp edges (right, the default).

Commands

betti fix repair

Orient parts outward, fill holes and remove self-intersections.

betti fix repair scan.stl fixed.3mf

betti fix orient

Turn parts over so that their faces show their front to the outside.

betti fix orient part.stl outward.obj

betti fix shell

Keep only the outermost surface, nothing inside it.

betti fix shell part.stl outer.obj

betti fix denoise

Remove noise, as from a scan, keeping sharp edges.

betti fix denoise scan.stl smooth.obj

betti fix wrap

Wrap any input in a closed, valid surface just outside it.

betti fix wrap -gap 2% messy.stl wrapped.obj

betti fix reconstruct

Rebuild a mesh broken throughout from samples of its outside.

betti fix reconstruct -size 0.5% broken.stl rebuilt.obj