Every slicer has a tolerance field. Most people set it once, pick a number a forum suggested, and never touch it again. That field is the wrong place to solve the problem. Tolerances are not something the slicer grants you at the last minute; they are something the part asks for at the design stage. A part that needs a 0.05 mm compensation to assemble was a badly designed part that a slicer was asked to rescue.
This is the layer above the individual features. Over the past few weeks we have covered ribs and bosses, thread geometry, snap fits, pivots, gears, load paths and vibration. Each of those articles answered how to shape one feature correctly. This one answers a different question: how do you design a part so that the printer's inevitable error lands somewhere harmless? That is design for additive manufacturing in its practical form, and it is mostly about deliberately giving material away.
Where the error actually comes from
Printed dimensions drift for reasons that have nothing to do with your CAD model. Before you can design around them, you need to know which ones are systematic and which ones are random, because they behave completely differently.
| Source | Typical magnitude | Systematic or random | What it does to a part |
|---|---|---|---|
| Material shrinkage | 0.3–2% linear, material dependent | Systematic | Uniform scale error plus differential error between thick and thin regions |
| Nozzle width rounding | ±0.5 line width on every isolated feature | Systematic, axis dependent | A thin wall lands on a whole number of passes; a pin lands on one pass too many |
| Extrusion variation | 1–4% of nominal flow | Random, drifts with spool and temperature | Wall thickness varies part to part on the same machine |
| Thermal contraction after release | 0.1–0.4% over a large footprint | Systematic, geometry dependent | Long parts pull in at the ends; the first layer defines the datum |
| Layer squish and elephant foot | 0.1–0.3 mm at the base | Systematic | The bottom face is wider than the model, so anything measured from it is wrong |
| Machine and frame deflection | 20–80 µm over 200 mm | Random-ish, repeatable per machine | Bows and tapers that no CAD model predicted |
The important split is not the size of the error, it is whether it repeats. A systematic error can be calibrated out once and it stays out. A random error cannot be calibrated out at all — it can only be designed around, by making the feature tolerant enough that the random band still fits. Most failed designs are the ones that tried to calibrate a random error, and there is a measurement discipline behind telling the two apart.
Six design rules that buy you tolerance
These are not slicer settings. They are geometry decisions, and they are ranked by how much trouble each one saves.
1. Never let a functional surface be a printed surface that matters
The cheapest tolerance in 3D printing is the one you do not need. If a bore has to be round and true, do not print it and hope — print it undersize and ream or drill it. If a face has to be flat, print it oversize and face it on a flat plate with sandpaper. A printed hole is an oval with a seam in it; a reamed hole is a hole. The design rule is that any dimension with a real function gets a machining allowance, not a compensation value. Where a bore carries real load in rotation or shear, the same logic pushes you toward a metal-bearing or bushing arrangement rather than a printed sliding surface.
2. Put the controlled dimension on the datum, not on the cavity
Measure a printed part and you will find the outside is closer to nominal than the inside. The outside is set by the perimeter path, which the slicer controls tightly; the inside is set by where that path stops, plus every bit of overshoot, undershoot and residual pressure in the hotend. When you need two features to be a fixed distance apart, make them both bosses measured from a common outside face rather than a pocket measured from an inside face. Same CAD distance, very different as-built spread, and it is the single most common way a tolerance problem gets mistaken for a machine problem.
3. Design in a clearance band, and state both numbers
A single clearance value is a guess. A band is a design decision. Write it as a range in your CAD notes and you force yourself to think about both ends.
| Joint type | Clearance band on a 0.4 mm nozzle | Why that band |
|---|---|---|
| Snug slip fit, hand assembled | 0.15–0.25 mm | Below 0.15 the seam bulge interferes; above 0.25 a 3 mm pin rattles |
| Loose running fit | 0.3–0.5 mm | Absorbs random flow variation without visible slop on a 10 mm feature |
| Press fit, permanent | 0.00 to −0.10 mm | Interference is fine, but the receiving wall must be at least 2 mm or it splits along a layer line |
| Threaded insert pocket | See the dedicated article | Handled by insert geometry, not by generic clearance |
| Anything that must not move under load | 0.00, with a real fastener | Printed clearance is not a locating feature; it is a wear allowance |
Note what is missing from that table: a single global “0.2 mm clearance”. A part designed with one number for every joint is a part that will be loose in some places and jammed in others, and the failure will look random even though the cause is a design choice.
4. Make features land on whole toolpaths
This is the rule almost nobody applies and the one with the best return. A feature narrower than about three extrusion widths cannot be made to its nominal size, because the slicer can only place a whole number of lines. A 0.9 mm wall on a 0.4 mm nozzle becomes either two lines (0.8 mm plus swell, effectively 0.85–0.95) or three (1.2 mm, 33% over nominal).
So design thin features in multiples of the line width: 0.8, 1.2, 1.6, 2.0 mm on a 0.4 mm nozzle. Two lines is the practical minimum for anything structural; one line is decoration, and adding a third line to a thin wall rarely buys the strength people expect because the extra line lands where the load is not. The same arithmetic applies to pins and slots — a feature that is exactly three lines wide is a feature whose size the slicer can actually hit, and hitting it is not a calibration problem at all.
5. Chamfer instead of fillet, in orientations you can print
A fillet on an internal corner is a lovely thing on a machined part and a liability on a printed one. Fillets on upward-facing geometry create a curve that starts vertical and ends horizontal, which means a band of overhanging surface that needs support or cooling luck, and it is the same mechanism that makes a bad overhang fail. A chamfer at 45° or steeper is self-supporting, prints with the same toolpath quality as a vertical wall, and relieves the stress concentration almost as well.
The rule: fillet where the curve is on a vertical edge and therefore vertical all the way up. Chamfer where the feature is horizontal and would otherwise need support. If you want the mechanical benefit of a fillet plus printability, use a chamfer with a small fillet blended into it so the transition does not start at zero thickness.
6. Draft the walls that must mate and the walls that must release
Draft angle is the one conventional manufacturing rule that transfers to 3D printing with a sign change, and it is the reason this article exists. In injection moulding you draft a wall 1–2° so the part releases. In FDM you draft a wall away from the mating surface so that the first millimetre of a joint — the millimetre that always has the worst dimensional error — cannot interfere.
A 2° draft over a 20 mm engagement is 0.7 mm of relief at the entry, tapering to nothing where the fit actually locks. The part becomes easy to start, exact at the end, and immune to the elephant-foot bulge at the base. This is the same logic as a lead-in chamfer on a machined bore, and it costs you one line in the CAD sketch. It is also the rule that keeps a threaded interface from cross-threading on the first turn instead of the fifth.
The elephant foot is a dimensional error, not a cosmetic one
The bottom 0.3–0.5 mm of every print is wider than the model by 0.1–0.3 mm per side, because the first layers are squashed into the bed to make them stick. People treat this as a surface finish annoyance and deburr it. On a textured or smooth PEI plate the bulge can be larger still, because the plate surface is what the first layer is pressed into. It is a dimension.
Any part whose functional dimension is measured from the build plate face carries that error into the assembly. Concretely: a bracket that seats on its bottom face will stand 0.2 mm proud, and every bolt hole in it will be 0.2 mm high. Over a 200 mm part that is enough to shear a screw hole when the mating part is bolted down flat.
The fix is not a slicer compensation, it is geometry: chamfer the build plate face by 0.4 mm at 45° so the bulge forms on the chamfer, not on the functional face. The chamfer absorbs the squish, the reference surface stays true, and the part sits flat. It is one sketch operation, it never needs recalibrating when you change material, and it works on every printer in the shop regardless of what it is fed — a carbon-filled ASA and a soft high-speed TPU squish by different amounts, but they both squish on the chamfer.
Printed dimensions do not scale the way you expect
Asymmetric error is the thing that ruins otherwise good parts. When you compensate for material shrinkage by scaling the model 1.005, you scale everything: hole centres move, wall thicknesses grow, and a press fit becomes an interference. The correct move is to design so that no dimension depends on a uniform scale assumption, and to keep multi-part interfaces honest with the tolerance stack-up arithmetic rather than a single compensation value.
Three ways to do that:
- Anchor on the mating feature. Dimension hole-to-hole distances from the hole, not from the outside edge, so shrinkage between the outside and the hole never enters the tolerance stack.
- Let one axis float. Where a part spans two mounting points, make one hole round and the other a slot. The slot absorbs all of the differential shrinkage, and the part bolts down without preload.
- Do not stack two shrinkages. If a printed part has to fit an injection-moulded part that also shrank, you are stacking two different systematic errors. Design the interface with a clearance band wide enough to swallow both, or put a printed adapter between them.
Using the printer as a measuring instrument
You cannot design tolerance bands you have never measured. Every shop needs one calibration coupon, printed in the material and on the machine that will make the real part, and measured once. It does not need to be clever: three bosses at 10, 25 and 50 mm spacing, one slot at each nominal width from 3.0 to 4.0 mm, and a stepped wall from 0.8 to 2.0 mm.
| Measurement | What it tells you | How to use it in design |
|---|---|---|
| Boss-to-boss distance vs nominal | Effective linear scale for your material | Set the clearance band centre, not the scale factor |
| Which slot width a 3 mm pin actually enters | Your real running fit on that machine | Use that number in the joint table above, replacing the generic band |
| Wall thickness steps vs nominal | Your extrusion swell in practice | Tells you whether a 0.8 mm wall is 0.8 or 0.95 on this machine |
| Height of the bottom face vs nominal | Elephant foot magnitude | Sizes the base chamfer |
Print the coupon once per material, once per machine, and once again after any nozzle or hotend change. One coupon, ten minutes, and you stop guessing at compensation values for the rest of the year. Keep the numbers on the shop wall — the interesting part is how much they differ between a PLA+ and a carbon-filled material on the same machine, which is exactly why a single global clearance value cannot work.
Two pieces of hardware make the coupon worth printing more than once. A sealed drying box keeps the moisture variable out of the measurement, because a wet spool prints measurably different from a dry one and you will otherwise record that as machine drift. And on a carbon-filled material, a tungsten carbide nozzle holds its bore far longer than brass, which is what keeps the calibration valid between coupons instead of drifting silently.
The material you choose moves the band, it does not remove it
Different materials do not merely print differently, they shift where the error sits. The clearance band you use for a general-purpose filament is not the band you use for a stiff, filled one.
| Material family | Shrinkage and error behaviour | Design consequence |
|---|---|---|
| PLA and PLA+ | Low and predictable, but unforgiving of heat near the machine | Bands from the table above work directly; add the base chamfer and you are done |
| PETG and matte blends | More flow variation and more stringing, slightly soft as-printed | Widen slip fits by about 0.05 mm; expect the surface to creep under a press fit |
| ABS and ASA | Real shrinkage, but the error is mostly in long spans | Dimension across short spans; a slot on one mounting point is close to mandatory |
| Carbon-filled grades such as PETG-CF, PA6-CF20 and ASA-CF | Stiff, dimensionally stable, abrasion resistant, and they wear a brass nozzle | Best dimensional repeatability of the group, but the nozzle wears and the band slowly drifts |
| Flexible grades, including softer TPU 85A | Nominal size means very little; the part deflects to fit | Design an interference fit and let the material do the tolerating |
That last row is worth noticing: a flexible material does not have a tighter tolerance, it has a different tolerance strategy. Where a rigid part asks the printer to be accurate, a soft part asks it to be roughly right and then conforms. If a joint is giving you trouble, changing the material to something that deflects is often cheaper than adding another compensation pass.
Where a printed part stops being the right answer
Design for additive manufacturing cuts both ways. There are interfaces where no amount of design work makes a printed part the correct choice, and recognising them early saves weeks.
- Dimensional tolerance tighter than ±0.1 mm across more than 50 mm. You can hit it on one machine in one material after calibration, and you will lose it on the next spool.
- A flatness or parallelism callout that a gasket depends on. Printed faces are not flat; they are corrugated, and a gasket follows the corrugation until it leaks.
- Repeated assembly cycles on the same threaded interface. Threads belong in metal inserts, and the printed part should only be a carrier.
- Any dimension that a customer will measure and reject against. If a gauge is involved, print the fixture to hold a machined insert, not the insert.
- Surfaces that slide against each other under load. Printed-on-printed sliding surfaces have a wear allowance that grows every cycle.
Everything not on that list is a design problem, and design problems have geometry answers. That is the whole point of this layer: the printer's error budget is roughly fixed, so the part should be shaped so that the entire budget is spent in places where nobody measures anything.
A ten-point check before you commit to a design
- Every functional dimension has either a machining allowance or a clearance band, never a bare nominal.
- No critical fit depends on a printed hole being round.
- Clearances are specified per joint, in ranges, not as one global value.
- Thin features are multiples of the extrusion width, two lines minimum for anything structural.
- Internal corners are chamfered; fillets only appear on vertical edges.
- Mating walls carry 1–3° of draft so the entry cannot interfere.
- The build plate face is chamfered to absorb elephant foot.
- One mounting hole in every multi-point span is a slot.
- Shrinkage is handled by floating one axis, not by scaling the model.
- A calibration coupon exists, in the real material, on the real machine, with the numbers written down.
None of these are slicer settings, and none of them require a new printer. They are the difference between a part that was designed for a machine that does not exist and a part that was designed for the machine on your bench.
The one hardware decision that genuinely belongs in this conversation is nozzle diameter, because it sets the quantum the whole tolerance system is built on. A larger nozzle cannot resolve a thin feature, and a standard-diameter hotend assembly is the honest baseline. Where you need flow rather than detail — a large bracket, a jig, a housing that will be machined afterwards anyway — a high-flow nozzle lets you print the allowance generously instead of fighting for resolution you are going to remove on the mill. And anything running a filled material for weeks at a time needs the nozzle to survive the filler, or the calibration you just measured quietly expires.
Feed reliability belongs in the same bucket. A tolerance band measured on a print that starved for two layers is not a measurement of the machine, it is a measurement of the spool path; a buffer feeder removes that variable, and a dryer cabinet removes the moisture one. Between them, the error budget stops changing underneath you.
Design the tolerance in, then print it. That order is the whole discipline.