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.
| Name | Value | Use |
|---|---|---|
tol_press | 0.05 mm | Total diametral clearance for a press fit (hole slightly larger than a shaft that is slightly oversize by the printer) |
tol_slip | 0.25 mm | Diametral clearance for a free-turning fit |
tol_slide | 0.35 mm | Diametral clearance for a free sliding fit (pens in their holes) |
tol_nut | 0.20 mm | Per-side clearance around a hex nut pocket |
tol_thread | 0.30 mm | Radial clearance between printed internal and external threads |
tol_gap | 0.40 mm | Minimum gap between faces that must not touch (general guidance, not used in the steps below unless you add gaps) |
hole_shrink | 0.10 mm | Measured shrinkage added to any printed hole diameter |
shaft_swell | 0.00 mm | Measured growth to subtract from a shaft (update after calibration) |
layer | 0.20 mm | Layer 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#
| Part | Key dimensions |
|---|---|
| Base | 80 mm diameter x 20 mm, center pin socket 12 mm deep, nut pocket underneath, 1.2 mm web between them |
| Pin | 8 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 |
| Turntable | 70 mm diameter x 25 mm, center bore 8.35 mm, five 11.45 mm pen holes, 36 mm diameter neck 6 mm tall |
| Lid | 70 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#
- 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. - 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.
- Compute offsets. If a nominal 4.2 mm hole measures 4.05 mm, then
hole_shrinkis 0.15 mm. Updatehole_shrink, and setshaft_swellif a nominal 4.0 mm pin measures 4.05 mm.
Part B: Design the base#
- New design
Pen Holder. Add the tolerance parameters and part parameters:pin_d= 8 mm,base_d= 80 mm,base_h= 20 mm. - Component
Base. Sketch a circlebase_don XY, extrudebase_h. Fillet the top outer edge 2 mm. - 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 byhole_shrink, leaving abouttol_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. - 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 diameter13 mm + 2*tol_nut. Cut depth6.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. - 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. - 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#
- Component
Pin. Sketch a circlepin_d - shaft_swelland 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. - 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).
- 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#
- Component
Turntable. Sketch a 70 mm circle and extrude 25 mm. - 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. - 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. - 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). - 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. - 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 is36 + tol_thread(36.3 mm), giving 0.3 mm radial clearance (0.6 mm on diameter).
Part E: Lid#
- Component
Lid. Sketch a 70 mm circle, extrude 10 mm; fillet the top outer edge 1.5 mm. - 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. - Knurl or grip. Add 24 shallow grooves 1 mm deep around the outside using a circular pattern for grip.
Part F: Assemble#
- 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. - Capture the original position if you move parts to test.
- Check clearance. Run Inspect > Interference with all components selected; a press fit shows overlap only if
shaft_swellandtol_pressare 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. - Section analysis through the central axis to see the nut pocket and the pin seating.
- Turn on Contact Sets for Turntable and Base to see whether the washer ledge touches correctly.
Part G: Drawing the tolerances#
- 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#
- 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.
- First article. Print each part, measure the pin and the bores, and record the numbers. Update
hole_shrinkandshaft_swelland any tolerance, regenerate and reprint only the failing parts. - 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_shrinkto 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 type | Diametral clearance on FDM | Notes |
|---|---|---|
| Press (light) | 0.0 to 0.1 mm | Needs chamfers, often glue |
| Snug slip | 0.15 to 0.2 mm | Rotates with friction |
| Free slip | 0.25 to 0.35 mm | Smooth rotation |
| Loose slide | 0.4 mm and more | Rattles |
| Printed thread radial | 0.25 to 0.4 mm | Larger pitch is easier |
Variations#
- Add a magnet pocket (6 x 2 mm disc) with 0.15 mm clearance.
- Replace the nut with a heat-set insert pocket (hole sized per the manufacturer).
- Use configurations for tight, standard and loose tolerance sets.
- Print in two materials to see how tolerances differ.
- Add a ball detent to the turntable.
Troubleshooting#
| Symptom | Cause | Fix |
|---|---|---|
| Pin will not enter socket | Hole shrinkage larger than expected | Raise hole_shrink, ream the hole |
| Turntable wobbles | Slip fit too loose | Reduce tol_slip by 0.05 mm |
| Lid binds | Thread clearance too small | Raise tol_thread |
| Nut spins in pocket | Pocket too big | Reduce tol_nut |
| Elephant foot | First layer squish | Add 0.4 mm chamfer at the bottom |
| Parameters not updating | Typed numbers in features | Replace with named parameters |
Related#
- 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.