Skip to content
DOWNWAY

Tolerance stack-up for small manufacturers: a practical walkthrough

A tolerance stack-up adds the dimensions and tolerances along a loop between two features to find the range of a gap. Worst case adds the tolerances directly and guarantees assembly; RSS takes the square root of the sum of squares and predicts the statistical range when parts are centered and independent. Build the loop, compute both, and tighten only the tolerances that dominate.

Guilherme Rodrigues ItinoseUpdated 6 min read

Key takeaways

  • Draw the loop first: every dimension between the two features, with a direction.
  • Worst case: gap tolerance = sum of tolerances. Guaranteed, often expensive.
  • RSS: gap tolerance = √(sum of squares). Realistic for centered, independent processes at volume.
  • The largest tolerances dominate; tighten those, not all of them.
  • Small batches and unknown processes favor worst case.

A shaft that will not go into its housing, a cover that does not close, a gap that is sometimes 0.2 mm and sometimes negative. These are stack-up problems, and they are usually found on the shop floor. A stack-up on paper, before release, finds them earlier. This walkthrough uses one simple example from start to finish.

The example

A shaft carries a spacer, a bearing and a retaining ring inside a housing. We need the axial gap between the bearing and the ring’s groove wall to stay positive (the ring must fit) and below 0.5 mm (limited end float).

# Dimension Nominal (mm) Tolerance (mm) Direction
A Shaft shoulder to groove 30.00 ±0.05 +
B Spacer width 10.00 ±0.05 −
C Bearing width 15.00 ±0.12 −
D Ring thickness 1.50 ±0.05 −

The numbers are illustrative.

Step 1: Build the loop

Start at one side of the gap, walk through every dimension to the other side, and give each a sign: positive if it opens the gap, negative if it closes it.

Stack-up loop: shaft dimension A opens the gap; spacer B, bearing C and ring D close it +A shoulder → groove 30.00 ±0.05 −B spacer −C bearing gap −D ring
The loop: one positive dimension, three negative. (Schematic, not to scale.)

Step 2: Nominal gap

Gap = A − B − C − D = 30.00 − 10.00 − 15.00 − 1.50 = 3.50 mm?

That is clearly not what we wanted: our target was 0 to 0.5 mm. The nominal check alone just caught a design error. Suppose the real design has A = 26.75 mm. Then:

Gap = 26.75 − 10.00 − 15.00 − 1.50 = 0.25 mm.

This is why the nominal line is worth writing down even when it seems obvious.

Step 3: Worst case

Worst-case tolerance of the gap is the sum of all tolerances:

0.05 + 0.05 + 0.12 + 0.05 = ±0.27 mm

So the gap ranges from 0.25 − 0.27 = −0.02 mm to 0.25 + 0.27 = 0.52 mm. Both limits fail: at the minimum the ring does not fit, at the maximum end float exceeds 0.5 mm.

Step 4: RSS (statistical)

RSS assumes the dimensions vary independently and are centered:

√(0.05² + 0.05² + 0.12² + 0.05²) = √(0.0025 + 0.0025 + 0.0144 + 0.0025) = √0.0219 ≈ ±0.148 mm

The statistical range is about 0.10 to 0.40 mm, inside the requirement. Whether you can rely on it depends on volume and process capability, not on the arithmetic.

Step 5: Fix the dominant tolerance

The bearing width (±0.12) contributes most. It is a purchased part, so its tolerance is fixed by the bearing standard and the manufacturer; choose the bearing tolerance class accordingly, or change the design so the bearing width leaves the loop (for example, locate the bearing from a shoulder on the other side).

If the bearing stays in the loop, options in order of cost:

  1. Use a selective shim or a wave spring to absorb variation.
  2. Tighten A (a machined dimension on your part) from ±0.05 to ±0.02.
  3. Use a ring available in several thicknesses and select at assembly.

With A at ±0.02, the worst case becomes 0.02 + 0.05 + 0.12 + 0.05 = ±0.24 mm, so the gap ranges from 0.01 to 0.49 mm. It now passes, but with almost no margin at either end, and it cost a tighter machined tolerance. The bearing still contributes half of the stack, which tells you the most robust fix is in the design (a shim, a spring or a different locating scheme), not in the machining.

Choosing the method

Situation Method
Prototypes, small batches, unknown suppliers Worst case
Safety-critical fits Worst case
High volume, capable processes, independent dimensions RSS, or RSS with a correction factor
Many dimensions and 3D variation Variation analysis software

Setting up a stack-up spreadsheet

You do not need special software for one-dimensional stacks. A spreadsheet with these columns covers most cases:

Column Content
Item Dimension reference on the drawing
Description What the dimension is
Nominal Nominal value
± Tolerance Half the total tolerance band, after converting unequal limits
Direction +1 or −1 along the loop
Contribution Nominal × direction
Squared tolerance For the RSS column

Sum the contributions for the nominal gap, sum the tolerances for worst case, and take the square root of the summed squares for RSS. Keep the sheet with the drawing revision it was made for.

Unequal tolerances

Real drawings often have unequal limits such as 10 +0.10 / −0.00. Convert them to a mean and an equal tolerance before stacking: 10.05 ±0.05. Using the nominal 10 with “±0.10” overstates the variation and shifts the result.

Including geometric tolerances

Geometric tolerances enter the loop when they move the feature along the direction of the stack. A position tolerance of Ø0.2 on a hole contributes ±0.1 to a stack in any direction across the hole axis. A perpendicularity tolerance on a shoulder contributes to an axial stack only over the length where the mating part bears against it. Bonus tolerance from maximum material condition can enlarge the zone; for worst-case analysis of clearance fits, include the bonus at the extreme that hurts.

When the stack fails

Before tightening tolerances, look at the design options. They are often cheaper:

  • Remove a dimension from the loop by locating parts from the same datum.
  • Add an adjustment: shims, slots, eccentric pins, set screws.
  • Absorb variation with compliant parts: wave springs, O-rings, flexible couplings.
  • Select at assembly: sort parts or choose ring thicknesses.

Tightening a machined tolerance is the last resort, because it raises the price of every part forever.

A habit worth building

Write the stack-up for every gap that must stay positive or bounded, before the drawing is released. Keep it with the drawing. When someone proposes “just tightening everything”, the stack-up shows which tolerance actually matters.

When to outsource this

  • You have recurring assembly problems and no time to analyse them
  • A new design needs a stack-up before tolerances are released

When not to

  • The stack involves complex 3D variation and many GD&T controls; use dedicated variation analysis software

FAQ

When is RSS safe to use?

When you build enough parts for statistics to apply, the processes are capable and centered, and the dimensions vary independently. For a few prototypes from an unknown shop, use worst case.

Do geometric tolerances enter a stack-up?

Yes. Position, profile and runout tolerances contribute to the loop, usually as ± half the tolerance zone, and bonus tolerance from material condition modifiers must be handled with care.

Send us one drawing

We return a review with issues found, suggested fixes and a fixed-price scope.