SuperNX—Learn

SuperNX / Learn

Tolerance Stack-Up Analysis: Worst-Case vs RSS Guide

· Updated

Video walkthrough · 6:03 How to Do a Tolerance Stack-Up: Step by Step With a Real Example
The player loads from YouTube (youtube-nocookie.com) only when you press play. Watch on YouTube.

Every assembly you ship is a bet that a chain of imperfect dimensions still adds up to a working product. Each feature on each part is made somewhere inside its tolerance zone, and the gaps, preloads and interferences you actually care about are emergent properties of all of them at once. Tolerance stack-up analysis is how you find out what the assembly will really do before the parts exist — and the method you choose changes the answer by a lot.

Two methods for tolerance stack-up analysis

For a linear (1D) chain — dimensions laid end to end along one direction — the assembly dimension is a signed sum of the contributors. Nominal gap g equals the closing dimension minus everything in between. What differs between methods is how the individual tolerances combine.

Worst-case (arithmetic) stack-up

Worst-case analysis assumes every contributor lands simultaneously on the corner that hurts you most. The assembly tolerance is the plain sum:

Tasm = T1 + T2 + … + Tn

If the drawing tolerances are respected and the parts are actually conforming, the assembly cannot fail — the result bounds every physically possible combination. That guarantee is why worst-case is the required method for safety-critical and regulated work: there is no residual probability to argue about.

RSS (root-sum-square) stack-up

Statistical analysis accepts that the corners almost never coincide. If each contributor varies independently with its ±t treated as roughly ±3σ of a distribution, the assembly standard deviation combines by quadrature and the RSS tolerance is:

Tasm = √(T1² + T2² + … + Tn²)

RSS grows like √n instead of n — for equal contributors, far more forgiving. The price is that a small fraction of assemblies will fall outside the RSS band; you are trading a hard guarantee for a quantified yield.

Worked example: a housing and three rings

Three rings of width 16.00 ±0.05 mm sit side by side inside a housing whose shoulder-to-shoulder depth is 50.00 ±0.10 mm. The end gap is what keeps the stack from binding:

Worst-case. The gap tolerance is 0.10 + 3 × 0.05 = ±0.25 mm, so g = 2.00 ±0.25 — somewhere between 1.75 and 2.25 mm, guaranteed. If the design needs the gap to stay above 1.80 mm, worst-case analysis says the drawing fails: a conforming set of parts can still close the gap to 1.75 mm. You would have to tighten a tolerance or move the nominal.

RSS. The same chain statistically: √(0.10² + 0.05² + 0.05² + 0.05²) = √0.0175 ≈ 0.132 mm, so g = 2.00 ±0.13 as an equivalent ±3σ band — the assembly σ is about 0.044 mm. The 1.80 mm requirement is 4.5σ below the mean, which corresponds to single-digit ppm fallout if the distribution assumptions hold. Same drawing, same parts — one method says redesign, the other says ship.

That gap between the two answers is the entire business case for statistical analysis, and also the entire risk. Which one you are allowed to believe depends on the questions in the companion article, worst-case vs statistical tolerance analysis.

Choosing between them

SituationMethodWhy
Safety or regulatory requirementWorst-caseNo residual fallout to justify to a certifying body
Very low volume / first articlesWorst-caseStatistics of a process you have not measured are fiction
Production parts under process controlRSSIndependence and normality are defensible; yield is quantified
Many contributors, tight assembly specRSSWorst-case often demands tolerances that are not manufacturable
Correlated contributors (same die, same setup)Worst-case or modelled correlationRSS assumes independence; correlation breaks it silently

Where hand calculation falls apart

One linear chain of four dimensions is a spreadsheet afternoon. Real assemblies stop being that problem quickly:

This is the wall we built SuperNX against. It reads your Siemens NX model directly, finds the dimension chains through the actual mating geometry, and runs worst-case and statistical analysis with per-contributor sensitivity — then writes a report and a toleranced model back, rather than a spreadsheet you re-transcribe by hand. It exists because the honest version of this work does not fit in a spreadsheet once the assembly gets real.

The same steps on a real NX part

Here is the chain method on a real part. SuperNX ran its free demo part, a planar linkage on a base plate, and solved KC51, “Link apex pin T6 to base edge (perpendicular distance)”. The part’s PMI tolerance on it is very wide, 50.99 +0.1/−18.8 mm, a ±9.45 mm half-band about its centre, so KC51 passes with a large margin. The instructive part is the chain and the ranking.

ContributorKindStandard / fitTerm (mm)
T1 J1 bore height above base edgemachiningISO 2768-1 f±0.049
T2 link centre distance J1–J3machiningISO 2768-1 f±0.098
J1 pivot clearanceclearanceH7/g6±0.012
J3 apex hinge clearanceclearanceH7/g6±0.012

Worst case is the sum, ±0.171 mm. RSS is ±0.111 mm. The dominant contributor is T2, the link centre distance: halving it brings the worst case down to ±0.122 mm, while the two H7/g6 clearances together contribute only ±0.024 mm. That ranking is what tells you which tolerance to tighten, or relax, first.

See the full demo result (no sign-up)

The short version

Video chapters and transcript

  1. 0:00 Intro
  2. 0:20 Requirement and loop
  3. 0:54 Signs and nominals
  4. 1:48 Worst case
  5. 2:26 RSS
  6. 3:18 Side by side
  7. 3:43 Rank the contributors
  8. 4:16 Fix the biggest
  9. 5:04 The method
  10. 5:29 Doing it automatically
Read the full transcript

0:00 Intro

You have a stack of parts and a gap that has to stay between two limits. How do you actually check it? In the next few minutes we'll do a tolerance stack-up step by step, on a real example. And we'll finish by finding the one tolerance you should tighten, and the one you shouldn't.

0:20 Requirement and loop

Step one: define the requirement. Here it's a lid. A housing, fifty millimetres deep, holds three parts stacked inside it: twenty millimetres, fifteen millimetres, and fourteen point six millimetres. The gap left at the top must stay between zero point one and zero point eight millimetres. Step two is to draw the loop. Start on one side of the gap, and walk through every part that touches until you reach the other side.

0:54 Signs and nominals

Step three: give every link a sign and a tolerance. A link is positive if making it bigger opens the gap, and negative if it closes the gap. The housing depth is positive: a deeper housing opens the gap. Fifty, plus or minus zero point one five. Part one is negative, because it fills the space. Twenty, plus or minus zero point zero five. Part two: fifteen, plus or minus zero point zero five. Part three: fourteen point six, plus or minus zero point one. All equal-bilateral. Step four: add the nominals, with their signs. Fifty, minus twenty, minus fifteen, minus fourteen point six, leaves a nominal gap of zero point four.

1:48 Worst case

Step five: worst case. Every part lands at its limit, in the wrong direction, all at once. You simply add the tolerances, ignoring the signs. Zero point one five, plus zero point zero five, plus zero point zero five, plus zero point one, gives plus or minus zero point three five. So the gap runs from zero point zero five to zero point seven five. Zero point zero five is below the minimum of zero point one. Worst case says this design fails.

2:26 RSS

Step six: RSS, root sum square. Square each tolerance, add the squares, and take the root. The squares are zero point zero two two five, zero point zero zero two five twice, and zero point zero one. The sum is zero point zero three seven five, and its root is about zero point one nine. The gap runs from zero point two one to zero point five nine. That's inside the limits, so RSS says pass. Use worst case when failure is costly, parts are few, or the process is unknown. Use RSS for many parts made in volume on centred processes. Our worst case versus RSS video covers it.

3:18 Side by side

Put the two results side by side. The requirement is a gap of at least zero point one millimetres. Worst case reaches down to zero point zero five, below the minimum. RSS stays between zero point two one and zero point five nine. The upper limit of zero point eight is met by both methods. It's the low end that decides.

3:43 Rank the contributors

Step seven: rank the contributors. For worst case, divide each tolerance by the total. For RSS, divide each squared tolerance by the total variance. The housing depth dominates: forty-three percent of the worst-case band, and sixty percent of the RSS variance. Part three comes second, and parts one and two barely matter. Squaring makes the biggest term count even more, but the ranking is the same either way.

4:16 Fix the biggest

Step eight: tighten the biggest contributor, and check again. Take the housing depth from plus or minus zero point one five down to zero point one. The worst-case total drops to plus or minus zero point three. The gap now runs from zero point one to zero point seven. That meets the minimum, even at worst case. Now the trap. Part one is the easy one to tighten. But bringing it to plus or minus zero point zero two only gets you to zero point three two, a gap of zero point zero eight to zero point seven two. Still failing. Tighten the biggest contributor, not the easiest one.

5:04 The method

Here's the method to repeat on every gap. Define the requirement, and draw the loop through every part that touches. Give each link a sign, list its nominal and tolerance, and sum the nominals. Run worst case and RSS, and compare them. Then rank the contributors, tighten the biggest one, and check again.

5:29 Doing it automatically

That is one gap. A real assembly has dozens. SuperNX builds the contribution chain for every key characteristic straight from your Siemens NX model, runs worst case and RSS on each, and shows which contributors drive every result. There's a free demo part on nxtolerance.com, plus a free ISO 286 and ISO 2768 calculator. No sign-up needed. Links are in the description.

More video guides →