STL and 3MF: the printing formats

STL is triangles and nothing else. 3MF fixes most of what that costs, and is less universally supported.

Printing formats describe a solid to be manufactured rather than a surface to be rendered, and they carry correspondingly less.

STL

A list of triangles with their normals. That is the entire format.

  • No units. A file could be millimetres or inches; the slicer guesses or you tell it.
  • No colour or materials.
  • No structure. No objects, no groups, no hierarchy.
  • Vertices are not shared between triangles — each is listed independently, which makes files larger than they need to be and introduces precision issues at seams.

Its virtue is that every slicer and printer on earth reads it.

3MF

A modern replacement, built as a zipped XML package.

  • Units are explicit.
  • Colour and materials are supported.
  • Multiple objects with hierarchy and transforms.
  • Print settings can travel with the model.
  • Shared vertices, so files are smaller and topologically sound.

Support is good in current slicers and less certain in older toolchains and print services.

What both require of a mesh

  • Watertight. No holes. A surface with an opening does not enclose a volume, and a slicer cannot decide what is inside.
  • Manifold. No edges shared by more than two faces, no self-intersections.
  • Consistent normals, all facing outward.
  • Correct scale, in real units.

None of these are requirements for rendering, which is why a model that looks perfect on screen can be unprintable.

Generated meshes for printing

Reconstruction routinely produces holes, non-manifold edges and self-intersections. A generated model almost always needs repair before it will slice — see preparing models for print.