You’re Probably Doing 3D Printing Tolerancing Wrong. Here’s a Better Way.

Do you use 3D printing to make functional parts? Do your printed parts have slight dimensional errors, such as undersized holes? It is essential to take care of this if you use your FDM 3D printer to make precise or functional parts. Here’s the easiest and most elegant fix, using nothing but your slicer and a caliper.

Because the extruded molten plastic gets squashed by the nozzle and also flows outward toward the sides, everything you print is fattened, creating overall oversized prints and undersized holes.

Fortunately, there are ways to fix this flaw. First, I would recommend against these methods, if you currently use them:

Bad methods
  • Compensating by slightly changing the values in CAD: this is cumbersome if you use different printers or have collaborators, and problematic if you work with assemblies in CAD.
  • Changing the size in the slicer: FDM 3D printers generally have undersized ID and oversized OD, so enlarging or shrinking the size is bound to reduce one problem while worsening the other.

The Elegant Way: Horizontal Expansion

In Cura, the Horizontal Expansion setting allows you to set a compensation value for the aforementioned print “fatness”.

In Slic3r, you can find this as Print Settings/Advanced/XY Size Compensation.

  1. Print this test I made.
  2. Use a caliper to measure the size of the outside and the hole. The outside should be 30mm wide and the inside 15mm. Compare your measurement to the intended values. Average the difference between X and Y directions and between outer and inner. Then divide it by two (because the expansion happens on both sides).
  3. If the outside is oversized and the inside is undersized, use a negative sign and type it into the “Horizontal Expansion” box in Cura. Negative values make your prints “skinnier”. If your print was too fat (it usually is), that’s what you want.

If you don’t have a caliper, you can still estimate your tolerance error using a test like this. If you’re squashing your initial layer, make sure you first use a reasonable Initial Layer Horizontal Expansion to eliminate elephant feet.

Notify of

Inline Feedbacks
View all comments

that’s nice, i tought only my printer had this problem and i always designed it oversized for a perfect print, thx, cheers from brasil

Burt Harris

With Cura 4.6, there’s another parameter, “Hole Horizontal Expansion”. This seems to be a good step forward so that you won’t impact the outside measurement’s calibration while adjusting the inside measurements.