Adjust STL Tessellation and Tolerance in FreeCAD
Exporting a 3D model to STL in FreeCAD converts smooth analytical surfaces into a polygonal mesh, a process known as tessellation. Adjusting the tessellation quality, specifically the surface deviation (chord length tolerance) and angular deviation, ensures that curved surfaces export smoothly without visible facets or excessively bloated file sizes. This guide covers how to configure these tolerances globally in export settings and manually on individual objects using the Mesh Design workbench.
Method 1: Adjusting Global Export Settings
FreeCAD uses default deviation parameters when you export a body or part directly via File > Export. You can refine these settings globally:
- Open FreeCAD and go to Edit > Preferences.
- Select Import-Export from the left-hand menu.
- Click on the Mesh Formats tab.
- Locate the Export section to adjust the deviation
parameters:
- Maximum mesh deviation: This controls the chord
height (the maximum allowable distance between the true curved geometry
and the flat surface of the polygon). Lower values result in smoother
curves. A default value is typically
0.1 mm; changing this to0.01 mmto0.05 mmprovides significantly higher resolution for detailed 3D printing.
- Maximum mesh deviation: This controls the chord
height (the maximum allowable distance between the true curved geometry
and the flat surface of the polygon). Lower values result in smoother
curves. A default value is typically
- Click Apply and OK.
Any standard export to .stl will now utilize this
updated deviation threshold.
Method 2: Manual Tessellation via the Mesh Design Workbench
For precise, per-model control over chord tolerance and mesh structure, convert the shape into a mesh before exporting.
- Switch to the Mesh Design workbench using the workbench selector dropdown.
- Select the solid body or part you wish to tessellate in the tree view.
- In the top menu, select Meshes > Create mesh from shape... (or click the corresponding toolbar icon).
- A task panel will appear with several meshing algorithms:
Standard Mesher
The Standard mesher is the quickest way to configure basic geometric tolerances:
- Surface deviation: The chordal tolerance. It dictates the maximum gap between the polygon edge and the true mathematical curve. Smaller numbers yield more polygons and smoother surfaces.
- Angular deviation: The maximum angle allowed
between adjacent polygon faces. Decreasing this value (e.g., from
30°down to10°or5°) prevents sharp faceting on tightly curved bends.
Netgen Mesher
For complex organic geometry or uniform triangle distributions, the Netgen option provides fine-tuned controls:
- Select the Moderate, Fine, or Very fine presets.
- Alternatively, choose User defined to specify the exact Chordal error and maximum/minimum edge lengths.
- Click OK to generate the mesh object in the tree view.
- Hide the original solid body, select the newly generated mesh object, and go to File > Export to save it as an STL.
Practical Tolerance Guidelines
- FDM 3D Printing: Set surface deviation to
0.02 mmto0.05 mm, and angular deviation to15°to20°. Finer settings generally exceed the physical resolution limits of FDM nozzles. - Resin (SLA/DLP) Printing: Set surface deviation to
0.005 mmto0.01 mm, and angular deviation to5°to10°to prevent visible layer faceting. - Avoid Over-Tessellation: Setting the chord
tolerance excessively low (such as
< 0.001 mm) drastically increases polygon counts, creating unnecessarily large file sizes that can cause slicers and CAD software to freeze without any visible improvement in print quality.