Preparing a model for 3D printing

A printable mesh has requirements a renderable one does not. What they are, and how to check.

A model that renders perfectly can be completely unprintable. Rendering needs a surface; printing needs an enclosed volume.

Watertight

No holes. Every edge must be shared by exactly two faces, so the mesh encloses a space. A slicer works by asking "is this point inside or outside", and a mesh with an opening has no answer.

This is the requirement generated meshes most often fail.

Manifold

No edge shared by more than two faces. No vertex joining two otherwise-separate surfaces. No self-intersections. Each describes geometry that could not exist as a physical object, and each confuses the inside/outside test.

Consistent normals

All facing outward. Inverted faces tell the slicer that inside is outside, producing hollow shells or inverted infill.

Real dimensions

Printing is manufacturing. The model must be at true size in real units, and STL carries no unit information — so the slicer's interpretation and your intent have to be made to agree explicitly.

Wall thickness

Every wall must exceed the printer's minimum, typically related to nozzle diameter for filament printers. A surface with zero thickness — a plane, an open shell — is not printable at all; it needs to be given thickness.

Overhangs

Anything beyond roughly forty-five degrees from vertical needs support material. Designing to avoid overhangs reduces support, print time and cleanup. Orientation on the build plate matters as much as the model.

Checking

Mesh analysis tools report non-manifold edges, holes, intersecting faces and thin walls. Run one before slicing rather than discovering problems from a failed print.

Generated meshes specifically

Reconstruction routinely produces holes, self-intersections, non-manifold edges and zero-thickness regions — because none of those matter for rendering. Expect a repair pass. Automatic repair tools handle most cases; the ones they cannot handle usually need the model rebuilt rather than patched.