You’re Properly 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”.

  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.
  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.

avatar
  Subscribe  
Notify of