SuperNX—Learn

SuperNX / Learn

Tolerance Stack-Up Analysis: Worst-Case vs RSS — a Working Guide

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. A 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.

The two methods that matter

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 short version