Engineering Tools

2D Tolerance Stack-Up

Combines a chain of contributor dimensions — each with its own nominal and tolerance — into a resultant closing dimension, two ways: worst-case (a guaranteed bound) and RSS (a statistical estimate). Linear, 1D stacks only — see Limitations below for what this doesn't cover.

Up to 20 contributors; nominal and deviation bounds here are sensible proposed defaults, not sourced engineering limits — still pending confirmation. (T10)

Result

Add at least one contributor with a nominal to see a result.

Check the highlighted row.

Nominal gap:

Worst-case

RSS

RSS assumes contributors are independent and approximately normally distributed within their tolerance band — a statistical estimate, not a guarantee like worst-case.

How this is calculated

Every contributor is first converted to an equal-bilateral tolerance — a half-width around a (possibly shifted) nominal — so asymmetric limits combine the same way plain ± ones do:

tolerance = (upper deviation − lower deviation) ÷ 2

adjusted nominal = nominal + (upper deviation + lower deviation) ÷ 2

The resultant nominal is the signed sum of every contributor (+1 or −1, by direction):

resultant nominal = Σ (direction × adjusted nominal)

Two tolerance bands are then built around that same resultant nominal:

worst-case tolerance = Σ |tolerance| — a guaranteed bound.

RSS tolerance = √(Σ tolerance²) — a statistical estimate, always ≤ worst-case.

These are the standard, textbook worst-case/RSS tolerance-stack formulas (ASME Y14.5 practice) — not sourced from a proprietary workbook, and not specific to injection moulding.

Assumptions

  • This is a 1D linear chain — direction is a plain +1/−1, not a sensitivity factor for an angular or 2D/3D stack.
  • Every contributor's tolerance is taken exactly as entered — no per-contributor adjustment is applied.
  • RSS assumes every contributor varies independently and roughly normally within its stated band, at a consistent confidence level (commonly ±3σ).
  • Parts are assumed rigid — no allowance for deflection, assembly force, or thermal expansion.

Limitations

Specifically, this tool does not cover:

  • Angular, 2D or 3D vector stacks — linear 1D chains only.
  • Cpk, Ppk or any process-capability feature — this tool is about geometric tolerance combination, not process control.
  • Steel-safe allowances or tuning sequences.
  • RSS validity when two contributors share a common cause (e.g. the same datum feature, or the same mould cavity) — their variation isn't independent, so RSS understates the real spread. Use worst-case when in doubt.

Worked example

The calculator above loads pre-filled with this exact example — change any value to see the result update.

A housing holds two parts, closed by a cover. The dimension of interest is the clearance gap between the second part and the cover's inner face:

  • Housing depth: 50.00 +0.10/−0.00 mm, direction + (adds to the gap)
  • Part 1 height: 20.00 ±0.05 mm, direction − (takes up space in the gap)
  • Part 2 height: 15.00 ±0.05 mm, direction −
  • Cover lip: 10.00 ±0.02 mm, direction −

Resultant nominal gap: 50.05 − 20.00 − 15.00 − 10.00 = 5.05 mm. Worst-case tolerance 0.05+0.05+0.05+0.02 = 0.17 mm, giving a range of4.88–5.22 mm. RSS tolerance √(0.05²+0.05²+0.05²+0.02²) ≈ 0.089 mm, giving 4.961–5.139 mm.

Against a required gap of 4.90–5.20 mm, worst-case fails on both sides while RSS passes comfortably — a real example of why the two methods can disagree, and why both are shown rather than collapsing them into a single verdict.

Need help checking your calculation or validating your assumptions?

Request an Independent Technical Review