Symptom: the finished part does not agree with the model. A screw will not go into its hole, a spigot misses its socket, two halves printed separately do not fit together, and the callipers show a few tenths of a millimetre of difference where the model had round numbers. The print itself looks perfectly fine: even layers, smooth surface.
Dimensional accuracy in FDM printing is the sum of several independent errors, each of which works in a different direction. The polymer shrinks as it cools, so the part wants to be smaller. Excess material pushes the walls outwards, so it grows the other way. Holes come out tighter than in the model regardless of both. That is why the first step is never to rescale the model, but to establish which of these mechanisms dominates.
Most common causes and fixes
1. Material shrinkage during cooling
Every thermoplastic takes up more space when molten than after it has set. The scale of the effect differs between materials, and that is why a large part in ABS comes out noticeably smaller than the same part in PLA. The error accumulates with size: at 10 mm it is imperceptible, at 200 mm it changes the fit.
How to check: print a calibration cube and measure it on three axes. If all the dimensions are proportionally smaller and the error grows with length, you are dealing with shrinkage, not an extrusion error.
What to do: where accuracy matters, choose the material with the least tendency to deform — that is PLA and its variants. With ABS, ASA and PC/ABS prepare for compensation: measure your own printed part, work out the ratio of the actual dimension to the modelled one and enter it as a scaling factor in the slicer. Do this separately for XY and for Z, because shrinkage is not uniform.
| Porima material | Tendency to warp | Bed | Chamber | Nozzle |
|---|---|---|---|---|
| PLA and PLA variants | none | 0–60 °C | open | 200–260 °C depending on variant |
| PLA/CF | low | 50–70 °C | open | 220–250 °C |
| PETG and PETG Transparent | none | 60–80 °C | open | 240–260 °C |
| HIPS | low | 80–110 °C | open | 230–270 °C |
| HT PETG | moderate | 100–120 °C | bed adhesive recommended | 270–300 °C |
| PA (nylon) | moderate | 90–120 °C | enclosed and heated | 260–290 °C |
| ASA | moderate | 90–120 °C | enclosed, 50 °C | 250–280 °C |
| ABS | high | 80–110 °C | enclosed, 50 °C | 250–280 °C |
| ABS/CF | high | 80–110 °C | enclosed, 50 °C | 260–280 °C |
| PC/ABS | high | 100–120 °C | enclosed, 50 °C | 260–290 °C |
Source: the official FDM technical data table from the manufacturer, Porima. The manufacturer states the tendency to warp on a descriptive scale and does not publish a percentage shrinkage figure — which is why the compensation has to be established by measuring your own part. Full listing: print temperature table.
2. Elephant's foot distorts the measurement at the base
The first layers, pressed against the hot bed, spread sideways and form a flare at the base. A measurement taken in exactly that place will read high, even though the rest of the print is within dimension. Hence the classic mistake: someone reduces flow across the whole model to fix something that happens only at the bottom.
How to check: measure the same dimension just above the bed and at half the height of the part. The difference between those two readings is precisely elephant's foot.
What to do: always measure in the middle section of the print, and tackle the foot at source: lower the bed temperature within the material's range, improve first layer calibration and enable elephant's foot compensation in the slicer. Only once it is gone should you start correcting dimensions.
3. Too much or too little extrusion
Flow changes external and internal dimensions in opposite directions. Too much material: the solid grows and the holes narrow. Too little: the reverse happens, with visible gaps on top of it. That asymmetry is the best diagnostic test you have to hand.
How to check: print a rectangular block with a hole of known diameter and measure both dimensions. If the solid is too large and the hole too small, the cause is excessive flow. If both are too small, look for shrinkage or axis calibration.
What to do: correct the flow multiplier in small steps, by one or two percentage points, and print the same test pattern after every change. Check the external perimeter extrusion width too — that is what governs the dimension of the finished part more than any other setting.
4. Holes print smaller than they are in the model
This is not a fault but a consequence of geometry. The printer approximates a circle with a polygon whose segments run along chords rather than along the arc, and the pressure in the nozzle additionally presses material into the inside of the hole. The smaller the diameter, the proportionally larger the error — which is why the problem is usually noticed on holes for M3 screws.
What to do: enable hole compensation in the slicer — Hole horizontal expansion in Cura, X-Y hole compensation in PrusaSlicer and OrcaSlicer. Establish the value by measuring your own test plate with several holes. The parameter works independently of outer contour compensation, so one does not replace the other. For dimensionally critical holes it is safer to print them undersize and ream them out.
5. Drifted step calibration and a wrong filament diameter
If the extruder feeds a different amount of material from what the slicer assumes, you are calculating all the other compensations on a false basis. The same principle applies to the filament diameter entered in the profile: it is from that figure that the slicer works out the volume. Check the X and Y axis steps too, especially after changing a belt.
How to check: mark 100 mm on the filament from the extruder inlet, command an extrusion of 100 mm and measure how much was actually drawn in. Measure the filament diameter with callipers in several places and take the average. Porima filaments are produced to a ±0.03 mm tolerance, so a large spread on a single spool is in itself a warning sign.
What to do: correct the extruder steps according to the measurement and enter the measured filament diameter in the slicer instead of a round 1.75 mm. Repeat the calibration after every change of extruder or hotend.
6. Thermal expansion of materials printed in a chamber
ABS, ASA, PC/ABS and nylon are printed in an enclosed, heated chamber, so a part measured straight after the print is still thermally expanded. With PLA the effect is far smaller, because the printer works closer to ambient temperature.
What to do: measure parts once they have cooled completely, ideally after several hours and at the same temperature at which they will be used. If you are determining a compensation factor for ABS or ASA, take all the measurements under identical conditions, otherwise you will calculate the correction from scattered data.
Quick checklist
- Measure a calibration cube on three axes, always at half height.
- Rule out elephant's foot before you touch any other parameter.
- Check the extruder steps and the filament diameter entered in the slicer.
- Establish the direction of the error with a solid-plus-hole test and correct flow in small steps.
- Enable hole compensation and determine its value on your own test plate.
- With ABS, ASA and PC/ABS calculate the shrinkage factor from your own measurement and enter it as scaling.
- Measure only cooled parts, at a constant temperature.
Overriding rule: change one parameter at a time. With dimensions this is not advice but a precondition for getting a repeatable result.
What an FDM printer will not guarantee
Layer-by-layer printing has anisotropy built in: accuracy on the Z axis depends on layer height and will always differ from accuracy in the XY plane. Threads, interference fits and sliding surfaces cannot be achieved by slicer compensation alone and it is not worth spending time on it. The honest approach looks like this: design critical dimensions with an allowance and finish them by machining, ream out holes for bearings, cut threads or use heat-set inserts. A compensation factor determined for one material does not carry over to another, and with polymers working at high temperature — HT PETG has a declared resistance of 125 °C, PA of 150 °C — the conditions of use alone can change the dimension. Both figures come from the manufacturer's own designation, not from testing to a standard.
Related problems
Compensation only makes sense when the filament is repeatable from spool to spool. Porima filaments are produced to a ±0.03 mm diameter tolerance, and we publish the manufacturer's full official print data — you don't have to guess it. Our warehouse is near Poznań, in Swarzędz.
See Porima filaments · Print temperature table · All 3D printing problems