Dimensional Accuracy: XY Compensation and Hole Sizes
Calibrate flow and the first layer first, then print a test part, measure it cooled with calipers, and decide whether the error is a fixed amount (use XY or hole compensation in mm) or grows with size (use shrinkage compensation in percent). OrcaSlicer has separate hole and contour compensation; PrusaSlicer's XY Size Compensation grows or shrinks the whole outline. Do not change steps per mm to fix it.
What the test measures
How far a printed part's size is from the model's, on the X and Y axes. OrcaSlicer notes that tolerances vary with each printer and filament combination, so the same filament and profile can measure differently on two printers. The goal is parts that fit together, not a perfect calibration cube.
Prerequisites
- Do it last. OrcaSlicer puts tolerance calibration at the end of its order, because the result depends on every calibration before it.
- Flow ratio. OrcaSlicer lists dimensional errors among the effects of too high a flow ratio. See Flow Calibration.
- First layer and elephant's foot. A squashed first layer makes the bottom wider than the rest. Measure above it, and see Z Offset and Elephant's Foot.
- Calipers and a cooled part. Measure after the part has cooled.
Changing X or Y steps per mm (rotation distance in Klipper) is a firmware change, and Klipper warns that measure-and-trim methods are not accurate enough for the X, Y or Z axes and will likely make the configuration worse. Those values come from the belt, pulley and lead screw hardware. Leave them alone unless you changed that hardware, and then calculate them from it.
How to run it
OrcaSlicer's tolerance test
In Prepare, right-click the plate and choose Add Handy Model, then Orca Tolerance Test. It is a base with six hexagonal holes at tolerances of 0.0, 0.05, 0.1, 0.2, 0.3 and 0.4 mm, plus a printed hexagon tester. Check the fit with a 6 mm Allen key or the tester, and measure both the holes and the tester with calipers.
Any slicer
Print a part with an outside dimension and a hole of the sizes you actually need, in the material you will use. Measure each feature in two directions. Then use the calculator on this page, or the one on the calculators page, to get the deviation and a first corrected design size.
Reading the result
Two kinds of error call for two different settings, so work out which you have. Print the same feature at two sizes if you can.
| What you measure | Kind of error | Setting that matches |
|---|---|---|
| Off by about the same millimeters at every size | An offset at the edges | Hole and contour compensation (mm) |
| Off by about the same percent, so bigger parts are off by more | Scaling, such as material shrinkage | Shrinkage compensation (%) |
| Only the bottom layers are wide | First layer squish | Z offset, then elephant foot compensation |
This split follows from how the settings are defined: compensation moves edges by a fixed distance, while shrinkage compensation scales the whole object by a percentage Rule of thumb.
What to change
OrcaSlicer
- X-Y hole compensation (print settings, Quality, Precision): holes expand or contract in XY by the value. Positive makes holes bigger, negative smaller.
- X-Y contour compensation: the outer contours expand or contract by the value. Positive makes the part bigger, negative smaller.
- Shrinkage (XY) and Shrinkage (Z) in the filament settings: the material compensation OrcaSlicer lists for tolerance work.
- Elephant foot compensation: shrinks the first layers to offset first layer squish.
OrcaSlicer describes hole and contour compensation as small adjustments for assembly issues. Repeat print, measure, adjust until the fit is right.
PrusaSlicer
- XY Size Compensation (Advanced category, expert mode): grows or shrinks the object in XY by the value in mm, negative inwards and positive outwards. PrusaSlicer's tooltip says this might be useful for fine-tuning hole sizes. Because it moves every edge of the slice, a negative value that slims an oversized part also opens its holes, and a positive value does the reverse Formula. PrusaSlicer has no separate hole-only setting in its definitions, so if outsides and holes need opposite corrections, change the model instead.
- Shrinkage compensation XY (a filament setting, with a Z version too): a percentage. PrusaSlicer's example: if you measured 99 mm instead of 100 mm, enter 1%.
- Elephant foot compensation: shrinks the first layer in XY by the value.
PrusaSlicer's own example matches: 100 mm designed, 99 mm measured gives 1%. Measure a long dimension, so caliper error is small compared with the shrinkage.
Or change the model
For one part that has to fit one other part, it is often simpler to adjust the hole or peg in CAD and leave the slicer at zero. The calculator on this page gives a first corrected size. Do not change the slicer compensation and the model at the same time, or you will not know which change did what.
Leave these alone during the test
- Flow ratio, once calibrated. Using flow to fix size trades away surface quality and strength.
- Wall count and line width between test prints; both change where edges land.
- Printer steps per mm, as above.
- Orientation. Test in the orientation you will print the real part.
For the difference between resolution, accuracy and precision, see Resolution, Accuracy and Precision.
- Filament Tolerance Calibration OrcaSlicer
- Precision OrcaSlicer
- PrintConfig.cpp (setting definitions, version 2.9.2) Prusa Research
- Calibration Guide OrcaSlicer
- Rotation distance Klipper
Last reviewed 2026-11-05