Fusion Guide
advanced10 min read

Tutorial 12: 3D-Printed Assembly with Tolerances

Design a four-part printed pen holder with press fits, slip fits, a threaded lid and a captive nut, driven by one tolerance table of parameters and verified before printing.

Goal#

Design a small desk organizer made of four printed parts that must fit together without sanding: a base, a rotating turntable, a lid with a printed screw thread, and a pin with a captive hex nut. The assembly needs four different kinds of fit: a press fit (pin into base), a slip fit (turntable on pin), a threaded fit (lid onto the turntable) and a snug captive fit (nut in a hex pocket). All of them come from one tolerance table stored as user parameters, so a single change retunes the whole assembly after a calibration print.

Tolerance work is what separates models that look right from parts that work. FDM printers shrink holes and swell shafts by a few tenths of a millimeter, and the error depends on orientation, material and settings. The method is to measure your own printer, store the results as parameters, and let every feature reference them.

What you'll learn#

  • Building a tolerance table as user parameters with a clear naming scheme.
  • Printing a calibration coupon to measure your own offsets.
  • Modeling press, slip, thread and captive-nut fits from parameters.
  • Using a Hole thread with a class, and when to model printed threads instead.
  • Assembling with joints and checking clearance with Interference and Measure.
  • Documenting tolerances on a drawing.
  • Iterating after test prints.

Prerequisites#

  • Tutorials 1, 2 and 4.
  • Calipers that read to 0.01 mm.
  • A printer that prints dimensionally consistently. Print everything for this tutorial in the same material, nozzle and orientation settings.

The tolerance table#

Add these in Modify > Change Parameters as user parameters. Comments help later.

NameValueUse
tol_press0.05 mmTotal diametral clearance for a press fit (hole slightly larger than a shaft that is slightly oversize by the printer)
tol_slip0.25 mmDiametral clearance for a free-turning fit
tol_slide0.35 mmDiametral clearance for a free sliding fit (pens in their holes)
tol_nut0.20 mmPer-side clearance around a hex nut pocket
tol_thread0.30 mmRadial clearance between printed internal and external threads
tol_gap0.40 mmMinimum gap between faces that must not touch (general guidance, not used in the steps below unless you add gaps)
hole_shrink0.10 mmMeasured shrinkage added to any printed hole diameter
shaft_swell0.00 mmMeasured growth to subtract from a shaft (update after calibration)
layer0.20 mmLayer height, used to make heights multiples of layers

The values are starting points for a typical 0.4 mm nozzle printing PLA or PETG; replace them with your measured numbers (see Calibration).

Part sizes#

PartKey dimensions
Base80 mm diameter x 20 mm, center pin socket 12 mm deep, nut pocket underneath, 1.2 mm web between them
Pin8 mm diameter x 45 mm, 1 mm chamfer, M8 x 1.25 thread on the lower 10 mm, M8 hex nut captured at the bottom
Turntable70 mm diameter x 25 mm, center bore 8.35 mm, five 11.45 mm pen holes, 36 mm diameter neck 6 mm tall
Lid70 mm outer diameter, internal thread M36 x 2 equivalent printed thread, 10 mm tall

A standard M8 hex nut has 13 mm across flats; its thickness is about 6.5 mm (DIN 934) to 6.8 mm (ISO 4032 maximum). Measure your actual nut and adjust the pocket depth.

Steps#

Part A: Calibration coupon#

  1. New design Tolerance Coupon. Create a block 60 x 20 x 5 mm with holes of 4.0, 4.2, 4.4, 4.6, 4.8 and 5.0 mm, and a second block with pins of 4.0 mm diameter.
  2. Print and measure. Print flat, and a separate set standing upright; orientation changes round holes. Measure each hole with calipers or pin gauges and note which hole a 4.0 pin slips through with just a slight resistance.
  3. Compute offsets. If a nominal 4.2 mm hole measures 4.05 mm, then hole_shrink is 0.15 mm. Update hole_shrink, and set shaft_swell if a nominal 4.0 mm pin measures 4.05 mm.

Part B: Design the base#

  1. New design Pen Holder. Add the tolerance parameters and part parameters: pin_d = 8 mm, base_d = 80 mm, base_h = 20 mm.
  2. Component Base. Sketch a circle base_d on XY, extrude base_h. Fillet the top outer edge 2 mm.
  3. Press-fit socket. Sketch a circle on the top face with diameter pin_d + tol_press + hole_shrink - shaft_swell; Cut depth 12 mm. The modeled socket is 8.15 mm for an 8.00 mm pin; the printer is expected to shrink the printed hole by hole_shrink, leaving about tol_press (0.05 mm) of clearance, which is the press fit. Add a 0.5 mm chamfer to the socket entry so the pin starts straight.
  4. Hex nut pocket. On the underside, sketch a Polygon: Sketch > Polygon > Circumscribed Polygon with six sides. A hex nut with 13 mm across flats needs a pocket with across-flats of 13 + 2*tol_nut. Circumscribed polygons are sized by the circle tangent to the flats, so use diameter 13 mm + 2*tol_nut. Cut depth 6.5 mm + 0.3 mm = 6.8 mm, leaving a 1.2 mm web below the socket floor (20 - 12 - 6.8). The pocket must be concentric with the socket; constrain both to the origin.
  5. Through bore. Add a hole of diameter pin_d + tol_slide + hole_shrink (8.45 mm) through the 1.2 mm web between the nut pocket and the socket, so the threaded end of the pin can reach the nut. Use the Hole command with Placement from the sketch point at the center.
  6. Bridging layers. If the pocket's ceiling must be printed over empty space, add a sacrificial 0.2 mm bridge layer: leave one layer (layer) of material over the bore and remove it with a drill after the print. Model it as a separate cut to remember.

Part C: Pin and nut#

  1. Component Pin. Sketch a circle pin_d - shaft_swell and extrude 45 mm. Chamfer the top edge 1 mm and the bottom edge 0.8 mm so it starts into the socket. Add a modeled M8 x 1.25 thread to the lower 10 mm with Create > Thread (Modeled on, Full Length off, length 10 mm) so the nut can grip the pin. The pin sits with its bottom end 2 mm above the base underside, so the end projects into the nut pocket.
  2. Anti-rotation flat. Add a 0.5 mm deep flat along one side with a cut, 20 mm long, so the pin can be glued or locked with a grub screw later (optional).
  3. Nut component. Optionally insert a standard nut using Insert > Insert McMaster-Carr Component (see the McMaster-Carr page) for realism and interference checks. Otherwise model a 13 mm across flats hex 6.5 mm tall with an 8 mm hole.

Part D: Turntable with slip fit#

  1. Component Turntable. Sketch a 70 mm circle and extrude 25 mm.
  2. Bearing bore. The turntable rotates on the pin: bore diameter pin_d + tol_slip + hole_shrink (8.35 mm with default numbers). Cut through all.
  3. Pen holes. Draw one circle at radius 26 mm from the center (this keeps the holes outside the 36 mm neck you add in step 17: the inner edge is at about 20.3 mm, the neck radius is 18 mm); circular pattern in the sketch with 5 instances; cut 20 mm deep. Pen holes are for 11 mm pens: 11 + tol_slide + hole_shrink = 11.45 mm; use that expression for the diameter, not a literal.
  4. Washer ledge. Add a 0.4 mm raised ring (diameter 30 mm) on the underside so the turntable rides on a small contact area and not on the full base top. Rotating contact area matters for friction. Sketch a ring (30 mm outer, 26 mm inner) and extrude it downward as Join with height 2 * layer (0.4 mm).
  5. Thread on the turntable. The lid screws onto the turntable's upper neck. Model the neck: a 6 mm tall cylinder of diameter 36 mm - tol_thread (35.7 mm) on top of the turntable, then extend the 8.35 mm bore through it. Use Create > Thread, select the cylindrical face of the neck, set Modeled, choose the ISO Metric profile, the 36 mm size with a 2 mm pitch and an external class such as 6g. The Thread dialog reads these entries from the threads library; whether a 36 x 2 entry exists is not stated in Autodesk's help, so check the library list (or add a custom thread, see Manage the threads library), or fall back to a Coil with a trapezoidal profile as described in the Coil and Pipe page.
  6. Thread clearance. Standard thread classes assume machined parts, so printed threads need extra clearance. Here the clearance is split: the neck is 36 - tol_thread (35.7 mm) and the lid bore is 36 + tol_thread (36.3 mm), giving 0.3 mm radial clearance (0.6 mm on diameter).

Part E: Lid#

  1. Component Lid. Sketch a 70 mm circle, extrude 10 mm; fillet the top outer edge 1.5 mm.
  2. Internal bore. Hole with diameter 36 mm + tol_thread, depth 7 mm, then add a thread with Create > Thread, Modeled, internal, same size and pitch.
  3. Knurl or grip. Add 24 shallow grooves 1 mm deep around the outside using a circular pattern for grip.

Part F: Assemble#

  1. Joints. Ground the Base. Pin to Base: Rigid joint. Turntable to Pin: Revolute joint, axis along the pin. Lid to Turntable: Revolute with a slider offset or simply Rigid for presentation.
  2. Capture the original position if you move parts to test.
  3. Check clearance. Run Inspect > Interference with all components selected; a press fit shows overlap only if shaft_swell and tol_press are set to negative values. Report is expected to be clean with the default numbers (clearance fits). Use Measure between the pin cylinder and the turntable bore to confirm a diametral gap of 0.35 mm.
  4. Section analysis through the central axis to see the nut pocket and the pin seating.
  5. Turn on Contact Sets for Turntable and Base to see whether the washer ledge touches correctly.

Part G: Drawing the tolerances#

  1. Create a drawing (New Drawing > From Design). Add the base and pin views. Put tolerances on the critical dimensions: socket diameter 8.15 +0.1 / -0 mm, pin diameter 8.00 +0 / -0.05. Use the dimension edit dialog to select Precision and Tolerance type; see the Drawings tolerance page.

Part H: Print, measure, iterate#

  1. Print orientation. Base: open pocket facing the bed or up with supports? Print the hex pocket facing up if the nut is inserted by pausing the print, or print it bottom-down with bridging. Pin: print standing upright so that the pin is round, or lying flat for strength and accept slight ovality. Turntable and lid: top down for threads.
  2. First article. Print each part, measure the pin and the bores, and record the numbers. Update hole_shrink and shaft_swell and any tolerance, regenerate and reprint only the failing parts.
  3. Record settings. Store the slicer profile name and material in the parameter comments. A tolerance table is only valid for a specific printer, nozzle, material and setting.

Checkpoints#

  • The parameter list holds all tolerances with comments.
  • Pin socket diameter equals pin_d + tol_press + hole_shrink (8.15 mm).
  • Turntable bore equals 8.35 mm; pen holes 11.45 mm; neck 35.7 mm and lid bore 36.3 mm.
  • Changing hole_shrink to 0.2 mm regenerates every hole without errors.
  • Interference is clean, and the bore gap measures 0.35 mm.

Fit guide#

These ranges are general FDM guidance, not Autodesk data; calibrate on your own printer.

Fit typeDiametral clearance on FDMNotes
Press (light)0.0 to 0.1 mmNeeds chamfers, often glue
Snug slip0.15 to 0.2 mmRotates with friction
Free slip0.25 to 0.35 mmSmooth rotation
Loose slide0.4 mm and moreRattles
Printed thread radial0.25 to 0.4 mmLarger pitch is easier

Variations#

  1. Add a magnet pocket (6 x 2 mm disc) with 0.15 mm clearance.
  2. Replace the nut with a heat-set insert pocket (hole sized per the manufacturer).
  3. Use configurations for tight, standard and loose tolerance sets.
  4. Print in two materials to see how tolerances differ.
  5. Add a ball detent to the turntable.

Troubleshooting#

SymptomCauseFix
Pin will not enter socketHole shrinkage larger than expectedRaise hole_shrink, ream the hole
Turntable wobblesSlip fit too looseReduce tol_slip by 0.05 mm
Lid bindsThread clearance too smallRaise tol_thread
Nut spins in pocketPocket too bigReduce tol_nut
Elephant footFirst layer squishAdd 0.4 mm chamfer at the bottom
Parameters not updatingTyped numbers in featuresReplace with named parameters
  • Parameters Dialog and User Parameters for expression syntax.
  • Hole and Thread for thread classes.
  • Design for Manufacture for general printing rules.
  • Dimensions and Tolerances for the drawing annotations.

Sources

Checked against these Autodesk help topics (opens autodesk.com):

Related pages