kapy academy

Real printed clearances

9 min readUpdated Jun 2026

You already know which fit family your joint needs: whether it has to rotate, slide, locate, or stay press-fit. What you're missing is the number: the actual gap, in millimeters, to model between the two parts so that intent holds once they come off the bed. Get it right and a lid closes with a click, a pivot turns without binding, and a bearing seats with a satisfying push. Miss it by a tenth and that same lid rattles or won't go on at all. And the trap is that the number you type on screen isn't the one that shows up in the part. FDM has a bias that always runs the same way, and that bias is exactly what these numbers compensate for.

The bias you compensate for isn't the scatter

You have to separate two things that get confused all the time. One is random scatter: the part comes out a few microns different every time, drifting up and down with no pattern, and no clearance can fix that, because you don't know which way it will deviate. The other is systematic bias: a constant dimensional shift, in a fixed direction, that repeats print after print. That one you can anticipate, and that's what you're compensating for when you open up a gap.

FDM's bias always runs the same way: holes come out small and shafts come out big. Several effects stack up. The nozzle lays down a bead about 0.42–0.48 mm wide. (The slicer sets that line width itself; it isn't dictated by the nozzle diameter.) And although the slicer centers the toolpath nicely on a compensated vertical wall, the squish of the first few layers (elephant's foot) closes the hole at the bottom and fattens the shaft at its base. On top of that you get shrinkage on cooling, which pulls both inward, and, on small circles, the polygonal approximation of the contour, which flattens the curve inward. All of those effects push the same way: they tighten the fit.

The consequence is the one that breaks mechanisms: zero clearance on screen is interference in the part. The two walls have already moved toward each other before you step in. That's why you never design to the nominal machining gap; you have to open it on purpose, knowing the machine will swallow part of it. The physics behind this bias is laid out in Holes, pegs and first-layer squish.

Reason per side, convert to diameter at the end

When you say "0.2 mm of clearance" you mean the gap on each side of the shaft, measured on the radius. That means the hole is 0.4 mm larger than the shaft in diameter: twice as much. It's the most common mistake in the trade: thinking in diameters, subtracting 0.2, and getting half the play you wanted — or reasoning per side, subtracting it twice, and getting double.

Always reason per side, because that's how the material works: each wall lays its bead toward the gap independently, the hole's and the shaft's alike. The bias is per side too: half a bead's width eats into the clearance on each side. Add the two sides only at the end, when you convert to the diametral dimension you type into the model. And mind the sign: zero on screen is already interference in the part, not clearance.

per-side clearance (c)per-side clearance (c)Ø hole − Ø shaft = 2c
Cross-section of a concentric shaft inside a hole: the radial gap is thin and uniform all the way round. Each blue dimension measures the per-side clearance c; the hole diameter exceeds the shaft by 2c.

The number, by function and by material

How much gap you need is set by function, not preference. This is the starting table for PLA, given per side and at normal quality (0.4 mm nozzle, 0.2 mm layer). PLA is rigid and dimensionally stable, so it's the baseline reference you correct the other materials from.

Per-side clearance by function — PLA, 0.4 mm nozzle / 0.2 mm layer
What you want Clearance/side Feels like
Rotates or slides free 0.15–0.25 mm turns without binding, tolerates dust and paint
Slides without play 0.10–0.15 mm runs smooth but doesn't rattle
Locates and pulls apart by hand 0.05–0.10 mm holds, comes apart with your fingers
Press-fit (stays put) −0.05 to −0.15 mm/side presses in and doesn't move

The last row is negative on purpose: a printed press-fit that holds needs tenths of a millimeter of interference per side, not the microns of a metal fit; FDM scatter would eat those and leave you with a loose fit. In diameter that's 0.1–0.3 mm of overlap, which is what actually generates grip in PLA. How to size that press-fit without cracking the wall is covered in Choosing the fit: clearance, transition, interference.

The material moves the target, and always in a direction you can anticipate:

  • PETG is a bit rubbery, oozes more, and prints slightly oversized. Add 0.05–0.10 mm per side on top of your PLA number for fits that move. And don't trust a tight press-fit: PETG flows under load, and a press-fit that goes in perfectly can loosen on its own a few days later.
  • ABS / ASA shrink considerably more on cooling, so parts come out a touch smaller, and that shrinkage grows with size. Add clearance for sliding fits and re-tune the press-fits by measuring, because the bias is no longer constant: it depends on the dimension.

Watch out for compensating twice

Many slicers ship their own corrections for the same bias: elephant's foot compensation, which trims the first few layers, and XY contour and hole compensation, which moves the wall to open up the gaps. If you turn those on, they're already subtracting part of what you mean to subtract in the model. Compensating in the slicer and in the geometry at the same time leaves you with double the clearance and a loose fit you can't account for.

Decide where you compensate and stay there. The clean approach is to pick one place—the model or the slicer—and leave the other at zero, so your tolerance stack measures the whole system the way you're actually going to print. If you leave the slicer's XY compensation on, your measured number already includes it; don't add it again in the model.

The real number comes from your printer

No table replaces your specific machine. The material, the nozzle, the speed, the temperature, the number of perimeters, and the flow calibration shift the figure easily—up to 0.1 mm per side between a well-calibrated PLA and an uncalibrated PETG—and one tenth is exactly the margin between "slides" and "binds." Higher temperature means more flow and more squish, and that narrows holes even further: that's why a hot machine needs a bit more gap than the same machine run cold. The table above is the starting point; your real value comes from the part.

The honest way to find it is a tolerance tower: a series of holes on the same shaft (or shafts in the same hole), each with a different clearance stepped 0.05 at a time and labeled. You pull it off the bed and test by hand which one turns free, which one slides without play, and which one stays put. You note those three numbers and, from there, you stop guessing: that's your gap for each function. How to build and log that coupon is in Test coupons and calibration.

For the number to transfer, two conditions must hold. Orient the coupon the way the final part will sit: a hole printed horizontally comes out oval — and, if it's large, collapsed at the top from the overhang — and its effective clearance has nothing to do with that of a vertical hole. A small horizontal hole, up to 8 or 10 mm, holds up reasonably without support; above that, the sag starts to show. And use it only across similar diameters: the bead error is absolute, but its relative weight and curvature effects change with size, so a 6 mm coupon doesn't guarantee the same gap on a 20 mm pivot or a 2 mm one.

Within those two conditions, measure it once and reuse the number across all your mechanisms until you change material or nozzle. Material and nozzle are the two that move the bias appreciably; everything else, with the machine calibrated, holds. From there you're designing with measured clearances instead of guessed ones, and parts start fitting on the first try. The next step is to close the loop—print, measure, correct, and print again—as explained in Iterate and measure.

Discord