Calibration
Slicer Flow Rate and Extrusion Multiplier Calibration Math
Key takeaways
- Slic3r, PrusaSlicer, and OrcaSlicer model extruded lines as a stadium (capsule) cross-section with area A = (w - h) × h + π × (h / 2)², which is roughly 9% to 14% smaller than a naive w × h rectangle.
- Measuring a single-wall hollow cube with calipers systematically over-reads line width due to layer stacking waviness, filament diameter variance, and corner swell, leading to chronic under-extrusion.
- Filament diameter changes scale volume quadratically—a +0.03 mm shift from 1.75 mm to 1.78 mm increases extruded volume by 3.46%—making visual and tactile top-surface passes far more reliable.
Slicer flow ratio (called Extrusion Multiplier in PrusaSlicer and Flow Ratio in OrcaSlicer and Bambu Studio) scales the volume of plastic commanded for every extrusion move to compensate for filament diameter variance, tooth bite depth changes across polymer hardnesses, and thermal expansion. Modern Slic3r-derived slicers compute road volume not as a flat rectangle (w × h), but as a stadium (capsule) cross-section (A = (w - h) × h + π × (h / 2)²) that accounts for the rounded semicircular edges of a squished polymer bead. Because digital calipers measure the peak outer crests of stacked layers rather than true mean volumetric width, tuning flow via top-surface test coupons yields stronger, dimensionally accurate parts than single-wall caliper tests.
The Slic3r Stadium (Capsule) Cross-Section Formula
After verifying your extruder’s mechanical steps or rotation distance using Extruder E-Steps and Rotation Distance Calibration, the slicer converts every 3D toolpath segment of length L, extrusion width w, and layer height h into a linear millimeter advance (ΔE) of raw filament on the spool.
As documented in the Slic3r Flow Math manual—the mathematical model inherited by PrusaSlicer, SuperSlicer, Bambu Studio, and OrcaSlicer—a molten bead pressed between the nozzle flat and the underlying layer does not form a sharp-cornered rectangle. Surface tension and viscous flow cause the unconstrained left and right edges of the bead to bulge into two semicircles of radius h / 2.
This composite shape is a stadium (2D capsule), consisting of:
- A central rectangle of width
w - hand heighth, with area(w - h) × h - Two semicircular end caps of diameter
h(radiush / 2), forming one full circle of areaπ × (h / 2)²
Adding these two components gives the exact cross-sectional area A_stadium of a free-standing extruded line:
A_stadium = (w - h) × h + π × (h / 2)²
= w × h - h² × (1 - π / 4)
≈ w × h - 0.214602 × h²
Stadium Model vs. Naive Rectangular Approximation (w × h)
Estimating extrusion volume as a naive rectangle (A_rect = w × h) overstates the cross-sectional area by 0.2146 × h²—the four corner regions outside the semicircular edges. You can compare both models interactively in the Flow & Volumetric Speed Calculator.
For a 0.40 mm (0.0157 in) nozzle printing at w = 0.45 mm (0.0177 in) line width and h = 0.20 mm (0.0079 in) layer height:
A_rect = 0.45 × 0.20 = 0.09000 mm²
A_stadium = (0.45 - 0.20) × 0.20 + π × (0.10)² = 0.05000 + 0.03142 = 0.08142 mm²
Here, the naive rectangular formula is 10.54% larger (0.09000 / 0.08142 = 1.1054) than the stadium cross-section used by Slic3r-family slicers. As layer height approaches extrusion width (see Nozzle Size vs. Layer Height Limits), the difference increases:
Extrusion Width w (mm) |
Layer Height h (mm) |
Aspect Ratio (w / h) |
Naive A_rect = w × h (mm²) |
Slic3r A_stadium (mm²) |
Stadium / Rectangle Ratio |
|---|---|---|---|---|---|
| 0.50 | 0.10 | 5.00 | 0.05000 | 0.04785 | 95.71% (-4.29%) |
| 0.45 | 0.20 | 2.25 | 0.09000 | 0.08142 | 90.46% (-9.54%) |
| 0.40 | 0.20 | 2.00 | 0.08000 | 0.07142 | 89.27% (-10.73%) |
| 0.60 | 0.30 | 2.00 | 0.18000 | 0.16069 | 89.27% (-10.73%) |
| 0.42 | 0.28 | 1.50 | 0.11760 | 0.10078 | 85.69% (-14.31%) |
Centerline Spacing and G-Code E Distance
When two perimeters or solid infill lines are printed side by side, setting centerline-to-centerline spacing s equal to w would leave voids above and below the contact tangent of the two semicircles. Instead, Slic3r overlaps adjacent toolpaths by h × (1 - π / 4):
s = w - h × (1 - π / 4) ≈ w - 0.214602 × h
At w = 0.45 mm and h = 0.20 mm, adjacent paths are spaced s = 0.4071 mm apart so the displaced semicircular caps pack into a void-free solid cross-section.
To compute the G-code filament advance ΔE for a segment of length L, flow multiplier M, and filament diameter d_fil = 1.75 mm:
ΔE = (A_stadium × L × M) / [π × (d_fil / 2)²]
If you also adjust flow at runtime using Marlin’s M221 S<percent> command or Klipper’s M221, the firmware scales all incoming ΔE steps by S / 100. A file sliced at M = 0.95 printed with M221 S96 runs at an effective multiplier of 0.95 × 0.96 = 0.912.
Why Single-Wall Caliper Checks Mislead
A legacy calibration method prints a hollow single-wall cube in vase mode, measures wall thickness with calipers, and sets new_multiplier = old_multiplier × (target_width / measured_width). The Voron secondary printer tuning guide and slicer developers advise against single-wall caliper calibration for three reasons:
- Peak-to-Peak Layer Stacking Error: Flat caliper jaws span 15 to 40 layers simultaneously. Micro-variations in Z positioning and belt tooth ripple cause layers to stack with
±0.015 to 0.030 mmhorizontal jitter. Calipers bridge across the widest outer crests rather than reading the mean width of a single stadium cross-section. On a0.40 mmwall, a0.02 mmcrest error represents a5.0%flow miscalculation. - Corner Swell and Pressure Advance Transients: Deceleration into and acceleration out of corners cause melt pressure transients unless Retraction, Stringing, and Pressure Advance are already tuned.
- Arachne Variable-Width Perimeters and Overlap Physics: Modern slicers use the Arachne engine to vary perimeter width dynamically. Moreover, a single unconstrained wall in free air has no neighboring line to press against; tuning flow to make a single wall measure
0.45 mmon calipers typically starves multi-wall perimeters and solid top infill by5% to 10%.
If you use a 2-wall or 3-wall test cube (as described in the Prusa Knowledge Base Extrusion Multiplier guide), calculate target thickness from the stadium spacing formula (W_total = w + (N - 1) × s, not N × w) and treat calipers only as a secondary check alongside visual top-surface inspection.
Filament Diameter Variance and Quadratic Volume Scaling
Because filament cross-sectional area scales with the square of diameter (A_fil = π × d² / 4), small manufacturing tolerances in spool diameter produce roughly double the percentage change in extruded volume. For a slicer locked to d_nom = 1.75 mm, the delivered volume ratio and corrective flow ratio for an actual filament diameter d_actual are:
Volume Ratio = (d_actual / 1.75)²
Corrective Multiplier = (1.75 / d_actual)²
Measured Diameter d_actual (mm) |
Diameter Deviation (mm / %) | Cross-Sectional Area A_fil (mm²) |
Actual Volume Delivered (%) | Corrective Flow Ratio ((1.75 / d_actual)²) |
|---|---|---|---|---|
| 1.70 mm | -0.05 mm (-2.86%) | 2.2698 | 94.37% | 1.0597 |
| 1.72 mm | -0.03 mm (-1.71%) | 2.3235 | 96.60% | 1.0352 |
| 1.73 mm | -0.02 mm (-1.14%) | 2.3506 | 97.73% | 1.0233 |
| 1.75 mm (Nominal) | 0.00 mm (0.00%) | 2.4053 | 100.00% | 1.0000 |
| 1.77 mm | +0.02 mm (+1.14%) | 2.4606 | 102.30% | 0.9775 |
| 1.78 mm | +0.03 mm (+1.71%) | 2.4885 | 103.46% | 0.9666 |
| 1.80 mm | +0.05 mm (+2.86%) | 2.5447 | 105.80% | 0.9452 |
Always dry hygroscopic polymers before calibrating flow (see Filament Moisture and Drying Temperatures), as steam micro-bubbles in wet PETG, ASA, or PA artificially inflate apparent extrusion volume.
The Top-Surface Visual and Tactile Pass Method
The two-stage top-surface coupon method in OrcaSlicer, Bambu Studio, and SuperSlicer evaluates how solid infill lines pack together above the bed:
- Isolate from First-Layer Squish: Coupons print 15 to 25 layers tall with sparse infill beneath 4 to 5 solid top layers, preventing Z-offset errors (see First-Layer Squish and Z-Offset Calibration) from telegraphing to the top face.
- Pass 1 (Coarse Sweep): Nine tiles print at
-20, -15, -10, -5, 0, +5, +10, +15, +20%relative toM_old. Inspect the center of each tile (ignoring outer perimeter seams) under raking light and with a fingernail: under-extruded tiles show faint gaps or valleys between lines, while over-extruded tiles feel rough with plowed ridges. Select the smoothest gap-free tile (p_coarse). - Pass 2 (Fine Sweep): Print a second pass stepping in
1%increments around the Pass 1 winner to find the cleanest center surface (p_fine).
In OrcaSlicer and Bambu Studio, each modifier percentage p updates the filament profile’s flow ratio M_old via:
M_new = M_old × (100 + p) / 100
For example, starting from M_old = 0.98, if Pass 1 is best at +5% (0.98 × 1.05 = 1.029) and Pass 2 is best at -2%:
M_final = 1.029 × (100 - 2) / 100 = 1.029 × 0.98 = 1.0084 → round to 1.008
Once flow is locked in, compensate any tight mechanical clearances or undersized bores geometrically using Why 3D Printed Holes Come Out Undersized and the Fit & Tolerance Calculator.
Run the numbers
Fit, Clearance & Shrinkage Calculator (+ STL Gauge)
Compute CAD dimensions for press, sliding, loose and print-in-place joints after polymer shrinkage and nozzle geometry, and download a printable STL test gauge.
Extrusion Flow, Volumetric Speed & E-Steps Calculator
Calculate capsule road cross-section, volumetric flow rate (mm³/s), speed limits, slicer flow ratio and Klipper/Marlin extruder steps.
Sources and further reading
3D printing guidance on this page is general. Printers, hotends, slicers and filament batches vary, so verify dimensions and settings with test prints and calipers. Always observe thermal, electrical and ventilation safety around heated components and melted polymers. Spotted an error? Tell us and we will review it under our corrections policy.