← Journal

Worst case vs RSS: re-reading a tolerance stack after a change

· 7 min read · Written with an AI assistant

When a design change moves a mating feature, the tolerance chain changes shape. This article explains what worst-case and RSS results each assume and how TolAnalyst reports them. It covers two settings that quietly change the answer, and wh

A design change moves a mating feature, the model rebuilds and the drawing updates. The tolerance stack that justified the original clearance does not update with it. The number you get when you re-run it depends on assumptions and settings that rarely make it into the change record.

This article is about reading that number properly. It covers four things:

One caveat up front. The TolAnalyst behaviour described here comes from the SOLIDWORKS 2018 help page for the Analysis Results screen. That is older help. Check the wording against the help for the release you run before relying on any detail.

A moved feature changes the chain, not one dimension

A stack is a chain of dimensions and tolerances that connects one feature to another through the parts in between. When people re-check a stack after a change, they often edit the one dimension that changed and re-add the column. That only works if the chain keeps the same shape.

Moving a mating feature usually changes the shape of the chain. Take a cover plate located on a housing by two dowels. The original design held a shaft-to-cover clearance through housing → dowel → cover. A change request then moves the dowel holes onto a separate spacer plate, to clear a new boss. The clearance now runs housing → spacer → dowel → cover.

That change adds a new part, a new interface and new tolerances to the loop. Editing the old spreadsheet line would miss all of them.

So for any change that touches a mating face, hole or datum, the first question is not “what’s the new number?” It is “which features are in the chain now?”

Worst case and RSS, worked by hand

The two methods ask different questions.

Here is the clearance from the example after the change, with four contributors:

Contributor                  Tolerance (mm)
Housing face to dowel hole   ±0.10
Spacer thickness             ±0.05
Spacer hole position         ±0.15
Cover face to dowel hole     ±0.20

Worst case: 0.10 + 0.05 + 0.15 + 0.20 = ±0.50
RSS:        sqrt(0.10² + 0.05² + 0.15² + 0.20²)
          = sqrt(0.0100 + 0.0025 + 0.0225 + 0.0400)
          = sqrt(0.0750) ≈ ±0.27

Say the nominal clearance is 0.40 mm. Worst case gives a minimum of −0.10 mm, which is interference. RSS gives a minimum of about 0.13 mm, which looks fine. The parts are the same, but the conclusions are opposite.

The RSS figure rests on textbook assumptions:

Break any of these and RSS becomes optimistic. A spacer ground from bar that always comes out near the top of its band is not centred. Two holes drilled in one set-up are not independent. And with only four contributors, the averaging that makes RSS attractive has little to work with.

Neither number is simply right. They answer different questions, and the reviewer needs to know which question was asked.

What TolAnalyst reports, and how it counts contribution

According to the 2018 TolAnalyst help, the results screen shows:

Seeing both answers side by side is useful, provided the reader knows the RSS pair carries the assumptions above.

The same help page also describes a Min/Max Contributors list, which shows each feature that contributes to the result. It defines contribution with its own example. With a nominal of 10 mm and a worst-case maximum of 11 mm, the tolerance stack is 1 mm. A feature that uses 0.1 mm of that 1 mm contributes 10%.

Apply that definition to the worked example. The stack from nominal to the worst-case limit is 0.50 mm.

That ranking is what makes the contributor list worth reading. If the stack fails, tightening the spacer thickness buys little. Looking at the cover hole position buys the most.

Read the list for what should not be there, too, and for what is missing. Suppose the list still shows the old housing-to-cover dowel path after the change, with no spacer in it. That tells you the study was not rebuilt against the new chain.

Two settings that change the answer

The 2018 help describes two options on the results screen that alter the worst-case figures.

Orientation tolerances. This option adds geometric orientation tolerances to the worst-case calculation: angularity, parallelism and perpendicularity, plus angular plus/minus location tolerances. The results recalculate automatically each time the option is switched on or off (SOLIDWORKS 2018 help). With the option off, the stack ignores the tilt that a perpendicularity callout allows. On a tall part, that tilt can matter more than the linear tolerances.

Float fasteners and pins. This option uses the clearance between holes and fasteners to widen the worst-case minimum and maximum. Each part can move by the radial distance between the hole and the fastener (SOLIDWORKS 2018 help). Whether that is realistic depends on how the parts are located:

Because the results recalculate the moment either option is toggled, a passing result can easily be shown without anyone noticing which state the boxes were in. So record the settings in the change record, next to the number. Something like this is enough:

Stack:        shaft-to-cover clearance, rev C
Governing:    worst case (RSS shown for information)
Orientation tolerances:   ON
Float fasteners and pins: OFF (dowelled location)
Contributors: housing, spacer, dowel, cover
Result:       worst-case and RSS min/max from study, attached

A reviewer can then reproduce the number, or argue with it.

What tooling should check, and what the engineer approves

Some of this is mechanical and should be automated. Some of it is judgement and should not be.

Checks a tool can run reliably:

Decisions the engineer owns:

What this means for CAD and engineering tooling

The failure mode here is rarely bad arithmetic. It is a correct calculation on the wrong chain, or with settings nobody wrote down. Tooling helps most when it ties the stack to the change: it flags that a moved feature sits in a chain, re-runs the study, and records exactly how the result was produced.

That split shapes how we are designing AI-CAD at Bluecoderhub. In our target workflow, verification and analysis sit between the CAD change and the drawing. The aim is for agents to prepare the mechanical checks and the record, while an engineer approves every decision, including which stack method governs. AI-CAD is a prototype under active development. This describes the intent, not a shipped feature.

The next time a change request moves a hole, start with the chain, not the number. List the contributors, run both methods, and write down the option states. Then decide which answer you are prepared to sign. If you work on tolerance stacks and see the trade-offs differently, we would like to hear from you, and the journal will return to drawings and GD&T in later articles.

Sources