Fixture Tolerance Stack-Up Calculator

A locating pin, a spacer, a plate and a shim make a fixture, and the dimension that matters is not on any of them — it is the gap at the end, which nobody controls directly. Every tolerance in the chain feeds into it, and there are two entirely different ways to add them up that disagree by a factor of two or more. Neither is wrong. They answer different questions, and knowing which one you have quoted is most of the argument.

Signed. A dimension that adds to the chain is positive; one that subtracts, such as a bore the stack sits inside, is entered negative.
The half width of the tolerance band from the print. A dimension given as plus 0.004 minus 0.000 has a half width of 0.002 about a shifted nominal, and the nominal box above is where you shift it.
The limit the resultant gap or dimension has to sit inside, from the drawing. Used only to report how much of it each method consumes. This page issues no pass or fail.
Some groups quote the plain root-sum-square, others inflate it by a factor to allow for distributions that are not what the method assumes. Whatever your own quality group uses goes here — this page does not choose one.
Tolerance Stack-Up Calculator — Worst Case and RSSBuildFigure

Two honest answers that disagree

Take the default chain: a 2.000 in part with 5 thou on it, two more at 1.500 and 0.750 with a thou each, and a 4.000 in bore the stack sits inside, entered negative, also with a thou. The nominal result is 0.2500 in. Add the tolerances straight and you get 8 thou either way. Square them, add, take the root, and you get 5.29 thou. The worst case is 1.51 times the root-sum-square, and the same fixture is either plus or minus 8 or plus or minus 5.3 depending entirely on which question you asked.

Worst case is what a single assembly can actually do. Nothing forbids four parts from all being at the far end of their bands on the same day, so if the fixture has to work every time, that is the number. Root-sum-square is what a run of them looks like, and it is the more useful number when you are setting tolerances rather than accepting a part.

Squaring is what makes the analysis useful

In that default chain the 5 thou component holds 62.5 percent of the worst case, which sounds like a majority but not an overwhelming one. Square everything and it holds 89.3 percent of the variance. The other three components together hold 10.7 percent, and tightening all three to half a thou each would move the root-sum-square from 5.29 to 5.07 — a saving of a fifth of a thou for three tightened tolerances.

Halve the 5 thou one instead and the root-sum-square drops to 3.04, and taking that component to zero would still leave 1.73. That is the whole argument for doing the analysis rather than tightening everything: in nearly every chain one dimension owns the result and the rest are noise, and which one it is is not always the largest part or the most expensive.

What the root-sum-square quietly assumes

It assumes independence. Two spacers cut from the same bar on the same setup are not independent — if the stop drifted, they both drifted the same way, and their errors add like a worst case rather than combining like a root-sum-square. It assumes the parts scatter within their bands rather than piling up at one end, which fails whenever a process is aimed to leave stock or to clear a go gauge. And it assumes there are enough terms for the statistics to mean anything; with two dimensions the root of the sum of two squares is not a distribution, it is a number.

The multiplier field exists because of all that. Various groups inflate the root-sum-square by some factor to allow for the assumptions being imperfect. This page will not tell you what factor to use, because the honest answer is that it depends on your processes and your own measurement history.

Signs, and the tolerance that only goes one way

Every nominal here is signed. A dimension that lengthens the chain goes in positive, one that consumes it — a bore, a pocket, a counterbore depth the stack sinks into — goes in negative. The nominal result is the signed sum, and it comes out with a sign of its own, which is worth reading: a negative result on a gap means the stack is longer than the space, before any tolerance is considered at all.

The tolerances are always magnitudes. A tolerance has no direction, which is exactly why it stacks. A print that gives a dimension as plus four thou minus nothing has to be converted before it comes in here: shift the nominal up by two thou and give it plus or minus two. Putting the four in as a half width doubles that component contribution and quietly ruins both answers.

The line this page does not cross

It reports how much of the drawing tolerance each method consumes and then stops. It does not say the fixture is acceptable, will assemble, or is in tolerance, because those are inspection judgements against a specific print and a specific set of measured parts. A chain that uses 53 percent of the print tolerance on the root-sum-square and 80 on the worst case is a fact about arithmetic. What to do about it belongs to whoever signs the drawing.

Questions people ask

What is the difference between worst case and RSS tolerance stack-up?

Worst case adds the tolerances directly and tells you what a single assembly can do if everything lands at its limit in the same direction. Root-sum-square squares them, adds, and takes the root, which describes the spread across a run of assemblies when the errors are independent. On the default chain here the two give 8 thou and 5.29 thou, and both are correct answers to different questions.

Which tolerance stack-up method should I use?

This page will not choose for you, and the choice is not really arithmetic. If a single assembly has to work every time and there is no sorting or selective fit, the worst case is the number that guarantees it. If you are allocating tolerances across a production run and can tolerate a small fraction falling outside, root-sum-square is the one that stops every tolerance being tightened for no gain. Many places quote both, which is why this page prints both.

Why does one component dominate the RSS result?

Because squaring exaggerates. In the default chain a 5 thou tolerance among three of one thou holds 62.5 percent of the worst-case sum but 89.3 percent of the variance. Tightening the three small ones to half a thou each saves two tenths; halving the large one takes the root-sum-square from 5.29 down to 3.04. That asymmetry is the main practical reason to run the analysis at all.

How do I enter a plus 0.004 minus 0.000 tolerance?

Convert it to a symmetric band first. Shift the nominal up by 0.002 and enter the tolerance as 0.002. Entering 0.004 as the half width doubles that component contribution to both the worst case and the variance. Every tolerance on this page is a half width about the nominal you give, because that is the only form that stacks correctly.

Does this tell me whether my fixture will work?

No. It gives the nominal result, both tolerance bands, and how much of the print limit each one consumes. Whether the fit assembles, locates the part repeatably and holds it where the operation needs it is settled by the print and by inspection of real parts, not by a stack-up. The analysis narrows where to look; it does not issue a verdict.

Related