StepSTLTools
CAD Meshing & Tessellation Physics

STEP Tessellation & Chordal Deviation Explained

Master the physics of converting mathematical B-Rep curves into high-fidelity triangular meshes for flawless additive manufacturing.

The Fundamental Geometric Tradeoff

STEP files store true curves defined by non-linear polynomials with zero faceting. STL files store only flat triangles. Chordal deviation (linear deflection) is the maximum allowable gap between the real curve and the straight line connecting triangle vertices. Halving the chordal tolerance quadruples your triangle count.

1. The Math of the Sagitta (Chordal Deviation)

In classical Euclidean geometry, when an arc of radius $R$ is approximated by a straight chord subtending an angle $\theta$, the distance from the midpoint of the chord to the arc is known as the sagitta ($e$).

The governing mathematical equation is:

e = R × (1 - cos(θ / 2))

When you set linear deflection to 0.01 mm in StepSTLTools, you are commanding the OpenCASCADE kernel: "Subdivide this cylinder with as many triangular facets as necessary so that no flat face dips more than 10 microns away from the theoretical mathematical surface."

2. Linear vs Angular Deflection: Dual-Tolerance Sizing

Single-tolerance meshing fails because CAD models contain features of radically different sizes:

  • Large Cylinders (e.g. 100mm diameter pipe): Linear deflection easily controls accuracy. Setting e = 0.01 mm automatically requires dozens of triangles around the perimeter.
  • Tiny Fillets (e.g. 0.5mm corner radius): Under a pure 0.01 mm linear deflection rule, the sagitta allows a huge angular step (θ ≈ 23°). This would turn a smooth 0.5mm fillet into an ugly 4-sided hexagon!

To solve this, StepSTLTools enforces dual-tolerance meshing: a face is subdivided whenever either the linear tolerance (e) OR the angular tolerance (θ) threshold is reached.

3. Recommended Tessellation Tiers

Select the optimal meshing tier for your fabrication process:

Quality TierLinear DeflectionAngular LimitTypical File SizeIdeal Manufacturing Process
Ultra Fine (SLA / Jewelry)0.002 – 0.005 mm5° – 8°50 – 150 MBMicron-scale resin printing and precision molds
Engineering Fine (FDM Sweet Spot)0.01 – 0.02 mm10° – 12°10 – 30 MBFunctional mechanical assemblies and snap fits
Standard Rapid Prototyping0.05 mm15°3 – 8 MBGeneral concept verification and fast slicing
Draft / High Speed0.10 – 0.20 mm20° – 25°< 2 MBQuick test fits and low-detail draft components

4. Conversion Workflow

Test your custom chordal deviation parameters directly in your browser:

  1. Load your model into our STEP to STL Converter.
  2. Choose between Standard (0.02mm) and Ultra (0.005mm) precision presets.
  3. Inspect the 3D wireframe mesh in the WebGL viewport to verify smooth curves without redundant vertex bloat.

5. Sliver Triangle Mitigation: Aspect Ratio Controls

A common pitfall in CAD meshing is the generation of sliver triangles—facets with aspect ratios exceeding 100:1 (long, razor-thin needle triangles). These occur on shallow transitional fillets and swept organic lofts.

Sliver triangles cause severe computational rounding errors inside slicer engines:

Zero-Area Floating Point Collapse

When triangle vertex coordinates differ by less than IEEE 754 single-precision epsilon (≈ 1.19 × 10−7), the calculated normal vector collapses to zero length (NaN / indeterminate). Slicers cannot compute layer boundary intersections for degenerate faces.

Equilateral Delaunay Optimization

High-quality meshing algorithms enforce edge-swap passes to drive triangle aspect ratios toward 1:1 (equilateral). This ensures uniform perimeter wall segment lengths and steady extruder backpressure during continuous printing.

6. Nozzle Sizing & Tessellation Matching Guide

Setting chordal deflection far below your physical printer nozzle diameter produces zero observable benefit on real-world plastic parts while degrading slicer responsiveness:

Nozzle DiameterEffective Extrusion WidthRecommended Linear DeflectionMax Useful Triangle Count
0.2 mm (High Detail)0.22 mm0.005 mm500,000 – 1,500,000
0.4 mm (Standard)0.42 – 0.45 mm0.015 – 0.020 mm150,000 – 400,000
0.6 mm (Engineering)0.62 – 0.65 mm0.030 – 0.040 mm50,000 – 150,000
0.8 mm (Coarse / Volumetric)0.85 – 0.90 mm0.050 – 0.080 mm20,000 – 60,000

7. Arc Welder (G2/G3) Slicing Integration

Once you export your STL, modern slicers (OrcaSlicer, PrusaSlicer, SuperSlicer) can reconstruct true arcs via the ArcWelder plugin. ArcWelder analyzes sequential linear G1 toolpath segments and fits circular arc commands (G2 clockwise / G3 counter-clockwise).

To enable smooth arc reconstruction:

  • Ensure your STEP tessellation linear deflection is set between 0.01mm and 0.02mm.
  • In your slicer, enable Arc Fitting (G2/G3) under Motion & Acceleration settings.
  • This combination yields microscopic G-code file sizes (>60% compression) while firmware executes hardware-interpolated arc motion with zero stepper stutter.

8. Photopolymer Resin (SLA / DLP) Tessellation Rules

Stereolithography (SLA) and Digital Light Processing (DLP) printers achieve layer heights down to 25 to 50 microns with XY pixel resolutions of 18 to 35 microns (such as 12K monochrome LCD panels). Under these optical tolerances, standard FDM tessellation facets become glaringly visible under oblique inspection lighting.

To fully exploit photopolymer resolution:

Linear Deflection Limit: 0.002 mm

Set linear chordal deviation to 2 microns (0.002 mm). This guarantees that the facet chord error is smaller than the optical beam spot size of 405nm ultraviolet lasers.

Angular Deflection Limit: 5°

Cap angular deviation at 5 degrees. Tight organic jewel prongs, dental crowns, and microfluidic channels will render with curvature that matches analytical continuous curves.

9. Command-Line Batch Tessellation Scripting

For industrial engineering pipelines requiring automated conversion of thousands of CAD models per day, OpenCASCADE provides the BRepMesh_IncrementalMesh class:

// C++ OpenCASCADE Tessellation Pipeline

Standard_Real aLinDeflection = 0.015; // 15 microns sagitta

Standard_Real anAngDeflection = 0.209; // ~12 degrees in radians

BRepMesh_IncrementalMesh anAlgo (aShape, aLinDeflection, Standard_False, anAngDeflection, Standard_True);

anAlgo.Perform();

StlAPI::Write (aShape, "output_watertight.stl");

StepSTLTools wraps this exact algorithmic framework inside a modern WebAssembly runtime, providing command-line grade precision without native compilation or dependency installation.

10. Diagnosing Print Defects: Tessellation Flats vs Machine Z-Wobble

When inspecting physical cylindrical 3D prints under raking light, makers frequently misdiagnose geometric facets as mechanical printer artifacts:

  • Tessellation Facet Flats: If vertical ridge lines align with regular angular intervals (e.g. exactly 16 or 32 flat panels around the perimeter), the defect is 100% digital caused by excessive chordal deviation (>0.05 mm) in the source STL.
  • Mechanical Ghosting / Ringing: Oscillating ripple waves that decay in amplitude as the toolhead moves away from a sharp corner are caused by belt resonance and frame flex.
  • Z-Axis Banding: Horizontal repeating rings around the cylinder height are caused by lead screw wobble or stepper driver thermal drift.

If your perimeter shows geometric flat segments, simply re-export the STEP model with 0.015 mm chordal deflection to eliminate faceting before tweaking slicer acceleration.

Access In-Browser CAD Conversion Tools

Tessellate B-Rep solids, inspect facet counts, and export clean watertight STLs.

Frequently Asked Questions About CAD Tessellation

What is chordal deviation in CAD meshing?

Chordal deviation (or linear deflection / sagitta) is the maximum perpendicular distance between a continuous mathematical curved surface (NURBS curve or cylindrical face) and the flat triangular facet generated to approximate it. Smaller chordal deviation values produce smoother curves at the expense of higher triangle counts and larger file sizes.

What chordal deviation setting is best for 3D printing?

For FDM 3D printing with a standard 0.4mm nozzle, a linear deflection of 0.01 mm to 0.02 mm and an angular deflection of 10° to 12° provides smooth, curved perimeters without visible facet flats. For high-resolution resin (SLA) printing, use 0.005 mm deflection to match 30-micron layer heights.

Why does setting chordal deviation too low cause slicer lag?

Setting deflection below 0.001 mm creates millions of microscopic triangles where triangle edges are smaller than the machine nozzle diameter. This inflates STL file sizes to hundreds of megabytes, exhausting slicer RAM and causing stuttering toolpath g-code buffers during print execution.

How does angular deflection differ from linear deflection?

Linear deflection controls the absolute dimensional error in millimeters (sagitta), which primarily protects large-radius cylinders. Angular deflection limits the angle (in degrees) between adjacent triangle normal vectors, which prevents sharp corners on small-radius fillets and tight holes.