What does watertight mean in 3D printing?

By Asked 3D Content TeamPublished Last verified

What does watertight mean in 3D printing?

In 3D modeling and slicing, watertight describes the model’s mesh rather than the printed part: a surface closed everywhere with no holes. Every edge joins exactly two faces (the Blender manual’s test) and every face points outward, so the slicer can tell inside from outside. A part that holds water is the other meaning.

For that meaning, walls and slicer settings decide it: see how to make a print watertight.

A closed cube beside the same cube with its top face missing, leaving an open rimThe closed cube is watertight; with one face gone, every edge around the gap joins only one face, so the surface no longer separates inside from outside.3Open edges around the hole1Closed mesh2Missing face
  1. Closed mesh
  2. Missing face
  3. Open edges around the hole
The closed cube is watertight; with one face gone, every edge around the gap joins only one face, so the surface no longer separates inside from outside.

Mesh errors that stop a model being watertight

Mesh error What it is What the slicer does How to fix it
Hole (open edges) Edges attached to only 1 face PrusaSlicer closes cracks narrower than twice its “Slice gap closing radius” (0.049 mm by default). UltiMaker Cura leaves faults in the shell or infill unless “Extensive stitching” is on Close it in the modeling program, or run Make Manifold in Blender’s 3D Print Toolbox
Non-manifold edge An edge shared by 3 or more faces Bambu Studio flags it as an “Error” (open edges are only “Info”) Make Manifold
Flipped normals A face pointing the opposite way to its neighbors (“Bad Contiguous” in Blender) PrusaSlicer reverses them automatically. Under 3MF (3D Manufacturing Format), a mesh with negative volume “will not be printed (or will become voids)” Mesh ‣ Normals ‣ Recalculate Outside (Shift-N) in Blender
Self-intersection Faces of one model passing through each other 3MF has slicers fill the overlap as solid. Cura’s “Union overlapping volumes” slices it as one volume A Boolean union in Blender, though some slicers cope without one

Sources for the table: the Blender manual, the PrusaSlicer 2.9.6 and Bambu Studio 02.08.02.61 source code, UltiMaker’s “Mesh fixes settings” page and section 4.1 of the 3MF Core Specification 1.4.0.

Why does the slicer need a closed mesh?

A slicer cuts the model into layers and must decide which side of each outline is solid. Under the 3MF Core Specification, the slicer sends a ray out from a point and counts its crossings of the surface, each signed by the face’s normal (the direction the face points). A net count of one or more means inside. With a hole, the surface no longer separates inside from outside, and the slicer has to guess.

Slicers patch much of this on their own. Prusa’s knowledge base says PrusaSlicer “will automatically repair models to a certain degree”, but “not all of the corrupted 3D models can be repaired automatically.” When polygons are missing from the shell, UltiMaker says Cura “won’t be able to slice the model correctly.”

How to check whether a model is watertight

  1. PrusaSlicer: hover over the warning icon beside the model in the object list. It lists “Auto-repaired N errors” and, if the mesh is still open, “Remaining errors: N open edges”. A clean mesh shows “No errors detected” in the sidebar.
  2. Bambu Studio: its warning icon lists “N errors repaired”, “Error: N non-manifold edges” and “Info: N open edges”. On Windows, right-clicking the icon in either slicer runs the Windows repair.
  3. UltiMaker Cura: switch to X-ray view, where faults often show as red areas.
  4. Blender: install the 3D Print Toolbox (from Blender Extensions on Blender 4.2 and newer), open the 3D Print tab in the sidebar and click Check All. A watertight mesh reads 0 for both Non-manifold Edges and Bad Contiguous Edges. In Edit Mode, Select ‣ Select All by Trait ‣ Non Manifold selects the bad edges, and Make Manifold tries to repair them.
  5. Layer preview: slice and look for gaps in the walls or infill, where UltiMaker says the faults show.

Sources

  1. 3D Print Toolbox, Blender 4.1 Manual (Blender Foundation) (accessed October 28, 2026)
  2. 3D Print Toolbox 1.5.0, Blender Extensions (Blender Foundation) (accessed October 28, 2026)
  3. Select All by Trait, Blender 5.2 LTS Manual (Blender Foundation) (accessed October 28, 2026)
  4. Editing Normals, Blender 5.2 LTS Manual (Blender Foundation) (accessed October 28, 2026)
  5. 3MF Core Specification 1.4.0, section 4.1 Meshes (3MF Consortium) (accessed October 28, 2026)
  6. src/libslic3r/MeshDiagnostics.hpp at v02.08.02.61, Bambu Studio on GitHub (accessed October 28, 2026)
  7. src/slic3r/GUI/GUI_ObjectList.cpp at v02.08.02.61, Bambu Studio on GitHub (accessed October 28, 2026)
  8. src/slic3r/GUI/GUI_ObjectList.cpp at version_2.9.6, PrusaSlicer on GitHub (accessed October 28, 2026)
  9. src/libslic3r/PrintConfig.cpp at version_2.9.6, PrusaSlicer on GitHub (accessed October 28, 2026)
  10. Mesh fixes settings (UltiMaker Support) (accessed October 28, 2026)
  11. Corrupted 3D models for printing (Prusa Knowledge Base) (accessed October 28, 2026)