GD&T Tolerance Stack-Up Analysis: A Worked Example for Design Engineers
Quick answer: A GD&T tolerance stack-up analysis is a structured calculation that sums all dimension and tolerance contributors along a closed loop to predict the minimum and maximum gap — or interference — in an assembly. It uses ASME Y14.5-2018 GD&T values, assigns directional sensitivities (+1 or −1), and applies either worst-case arithmetic or root-sum-square (RSS) statistics to determine whether the design will assemble and function across all production parts.
When the Gap Disappears at Assembly
A bracket that fits perfectly in CAD refuses to clear its mating bore on the shop floor. Every part is within individual print tolerances — every single one. But nobody added up what happens when every feature drifts to its worst permissible limit simultaneously. The result is a surprise interference fit, a line stoppage, and a root-cause meeting nobody wanted to attend.
Tolerance stack-up analysis exists to catch exactly this failure before a single chip is cut. It is one of those calculations that experienced engineers have done so often they can sketch it on a napkin — but that newer engineers often skip because no standard mandates a formal submission for every design. This walkthrough fixes that gap.
What Is Really at Stake
The consequences of a missed stack-up are rarely limited to one bad part. In high-volume automotive work, a shift in a datum hole position tolerance can mean thousands of assemblies that are technically conforming but functionally unusable. In aerospace, a clearance that goes negative under worst-case conditions is a non-conformance against AS9102 Rev C dimensional results, potentially triggering a full delta FAI. In medical devices, interference at a moving joint can invalidate an ISO 13485 design validation.
The ASME Y14.5-2018 standard defines the geometric tolerances used as inputs, but it does not prescribe a stack-up method — that is the engineer's responsibility. Getting both the inputs and the method right is what separates a reliable analysis from one that merely looks correct.
The Step-by-Step GD&T Tolerance Stack-Up Worked Example
The assembly studied below is a simple three-part bracket-to-housing arrangement. A steel bracket (Part A) mounts onto a cast housing (Part B) using two M6 bolts through clearance holes. A spacer (Part C) sits between them. The critical question: will there be positive clearance at the gap between the bracket face and an internal ledge in the housing under all tolerance conditions?
This is a classic 1D tolerance stack-up calculation for assembly, traced along the vertical axis.
Step 1 — Define the Gap and Draw the Loop
Identify the assembly gap you want to control. Label it G. Draw a closed dimension loop that starts at one side of the gap, passes through every contributing feature and part, and returns to the other side. Every dimension that the loop crosses becomes a contributor. If you are working from a PDF drawing, ballooning the relevant dimensions at this stage helps you track each contributor with a numbered reference — more on that below.
In this example the loop crosses five contributors:
- Housing internal ledge height dimension (Part B): 42.0 ±0.15 mm
- Housing datum face flatness (Part B): 0.05 mm zone (contributes a half-value bilateral shift to the stack)
- Spacer thickness (Part C): 10.0 ±0.10 mm
- Bracket base thickness (Part A): 8.0 ±0.08 mm
- Bracket bolt-hole position (Part A): ⌀0.20 at MMC per ASME Y14.5-2018 true position
Step 2 — Assign Nominal Values and Sensitivities
For each contributor, assign a sensitivity of +1 if increasing the dimension opens the gap, and −1 if increasing it closes the gap. This is the most error-prone step — reversing a sensitivity sign flips the result entirely.
| # | Contributor | Nominal (mm) | Tolerance ± (mm) | Sensitivity | Contribution to Gap Nominal |
|---|---|---|---|---|---|
| 1 | Housing ledge height (B) | 42.00 | ±0.15 | +1 | +42.00 |
| 2 | Housing flatness (B) | 0.00 | ±0.025 | −1 | 0.00 |
| 3 | Spacer thickness (C) | 10.00 | ±0.10 | −1 | −10.00 |
| 4 | Bracket base thickness (A) | 8.00 | ±0.08 | −1 | −8.00 |
| 5 | Bracket position shift (A) | 0.00 | ±0.10 | −1 | 0.00 |
Note on Row 2 (flatness): A 0.05 mm flatness tolerance creates a one-sided seating variation. It is entered as ±0.025 mm bilateral contribution in the 1D chain.
Note on Row 5 (position): The ⌀0.20 position tolerance means the hole axis can shift up to 0.10 mm radially — the radius of the tolerance zone — which is the 1D contribution along the stack axis: ±0.10 mm.
Nominal Gap = 42.00 − 0.00 − 10.00 − 8.00 − 0.00 = 24.00 mm
Step 3 — Worst-Case Tolerance Analysis
Worst-case analysis (WCA) assumes every contributor simultaneously reaches its worst permissible extreme. It is the most conservative method and is required when a single assembly failure has serious consequences. ASME Y14.5-2018 does not specify a calculation method, but WCA is the implied basis whenever functional limits are stated on a drawing.
Total worst-case tolerance = sum of all absolute tolerance values:
T_wc = 0.15 + 0.025 + 0.10 + 0.08 + 0.10 = 0.455 mm
Gap range under worst case:
- Maximum gap = 24.00 + 0.455 = 24.455 mm
- Minimum gap = 24.00 − 0.455 = 23.545 mm
Both values are positive, so the assembly always clears the ledge. The design passes worst-case analysis. If the minimum gap were negative, every contributor in the chain would need review — starting with the largest single contributor: housing ledge height at ±0.15 mm.
Step 4 — RSS Tolerance Analysis for Comparison
Root-sum-square (RSS) analysis treats each contributor as an independent, normally distributed random variable. The statistical total tolerance is the square root of the sum of squared individual tolerances. RSS is appropriate for high-volume production where Cpk data confirms statistical behaviour. NIST Technical Note 1297 covers the underlying uncertainty propagation mathematics in detail.
T_rss = √(0.15² + 0.025² + 0.10² + 0.08² + 0.10²)
= √(0.0225 + 0.000625 + 0.01 + 0.0064 + 0.01)
= √(0.049525)
≈ 0.222 mm
Gap range under RSS (±3σ assumption):
- Maximum gap = 24.00 + 0.222 = 24.222 mm
- Minimum gap = 24.00 − 0.222 = 23.778 mm
RSS predicts a much tighter variation band — 0.222 mm versus 0.455 mm worst-case. That difference matters when deciding whether to tighten a costly ground surface tolerance or accept the statistical risk of the occasional non-conforming assembly.
Step 5 — Worst-Case vs RSS: Side-by-Side Comparison
| Attribute | Worst-Case Analysis | RSS Analysis |
|---|---|---|
| Total tolerance | ±0.455 mm | ±0.222 mm |
| Minimum gap | 23.545 mm | 23.778 mm |
| Assumption | All contributors at extreme simultaneously | Contributors independent, normally distributed |
| Best for | Safety-critical, small batch, low-volume | High-volume, known Cpk, statistical process |
| Risk | Over-constrains design; raises machining cost | Optimistic if process capability is unconfirmed |
| Standard reference | ASME Y14.5-2018 functional limits | AIAG SPC manual, NIST TN1297 |
A practical rule used by experienced teams: run worst-case first to confirm the design cannot catastrophically fail, then use RSS to justify relaxing expensive tolerances on non-critical contributors where statistical evidence supports it.
Step 6 — Identify the Dominant Contributor
The housing ledge height tolerance (±0.15 mm) contributes 33% of the total worst-case tolerance budget on its own. It is the dominant contributor. If the nominal gap were tighter — say a required minimum of 23.6 mm instead of the current 23.545 mm floor — that single tolerance would need attention before anything else. Tightening the spacer or bracket instead costs more machining effort for a smaller gain.
This ranked contribution visibility is the core insight stack-up analysis provides. Without it, engineers tighten the wrong tolerances and spend money without fixing the problem. The ASQ tolerance analysis resource library covers contribution ranking methods including sensitivity coefficient approaches for 2D and 3D chains.
Step 7 — Document and Link to Your FAI Package
A stack-up analysis that lives in an engineer's notebook serves no one at inspection time. The loop diagram, contributor table, and pass/fail result should be captured in the design record and referenced in the FAI package. Under AS9102 Rev C Form 1, design characteristics with functional limits derived from a stack-up must be traceable — the balloon number on the drawing should map directly to the stack-up row. For a refresher on how AS9102 forms connect to drawing dimensions, the post on AS9102 Forms 1, 2 & 3 explained covers the traceability chain clearly.
GD&T Stackup Gap Analysis: Reading the Drawing Correctly
The most common source of error in a stack-up is misreading the drawing inputs. Position tolerances stated as diameter values must be halved to get the radial shift for a 1D analysis. Bonus tolerance at MMC changes the effective position tolerance value depending on the actual mating size — always calculate the effective position tolerance at the actual part size, not the nominal. Flatness and straightness tolerances contribute as one-sided or half-bilateral values depending on how the datum is established.
This is exactly where automated drawing ballooning pays for itself. When every GD&T frame on a drawing is captured and tagged with a balloon number, you can audit the contributor list against the balloon index rather than hunting through a dense drawing manually. CadNexa's Smart Detect feature scans an entire drawing in one click and auto-detects dimensions, tolerances, and GD&T frames for engineer review and approval — so no position callout gets missed when building the stack-up input list. For scanned or legacy drawings, the Box+Balloon OCR mode lets you draw a box around any feature control frame and have the value, tolerance type, and GD&T symbol pre-filled automatically, even on TIFFs or older PDFs. Both tools are available from the CadNexa Balloon Tool in the browser, with no software to install.
For a deeper dive into reading feature control frames as stack-up inputs, the Feature Control Frame guide on this blog is a solid companion reference.
Common Mistakes and Pitfalls
1. Forgetting to Close the Loop
Every stack-up loop must start and end at the same point — the gap. If a dimension is included that does not lie on the closed path, the analysis is wrong. Sketch the loop physically on the drawing before building the spreadsheet. This is a non-negotiable first step, not an optional visual aid.
2. Using RSS Without Process Capability Evidence
RSS is a statistical prediction, not a shortcut to looser tolerances. If the manufacturing process is not centred and capable — Cpk ≥ 1.33 per the AIAG Statistical Process Control manual — the RSS result is optimistic and potentially dangerous. Use worst-case until measured Cpk data is available.
3. Ignoring Geometric Tolerances as Contributors
Linear dimensions are only part of the story. Flatness of a datum surface, perpendicularity of a bore, and runout of a shaft all contribute shifts along the stack axis. Omitting geometric tolerances gives a non-conservative result that will not match measured assembly variation in production.
4. Mixing Unilateral and Bilateral Tolerances Incorrectly
A tolerance stated as +0.20/−0.00 is not ±0.10. The nominal must be shifted to the geometric centre before the half-range is entered into the stack-up table. Failing to do this shifts the predicted nominal gap and produces wrong minimum and maximum values for the entire chain.
5. Not Updating the Stack-Up After Drawing Revisions
A stack-up analysis is a living document. Any drawing revision that changes a contributing dimension or tolerance invalidates the previous calculation. Linking balloon numbers directly to stack-up rows makes it immediately clear which rows need recalculation when a revision arrives. The post on GD&T true position formula includes additional notes on how revision changes affect position inputs.
How CadNexa Helps
Capturing all contributing GD&T callouts accurately from a drawing is the foundation of a reliable stack-up. CadNexa's PDF Balloon Tool includes Smart Detect AI auto-ballooning that scans an entire multi-page drawing in one click and tags every dimension, tolerance, and GD&T frame for engineer review and approval. Box+Balloon OCR lets you draw a box around any feature control frame and have the value, tolerance type, and GD&T symbol pre-filled automatically, even on scanned legacy drawings that arrive as TIFFs or older PDFs.
The result is a numbered balloon index that maps directly to your stack-up contributor table, eliminating the manual transcription errors that most often corrupt stack-up inputs. Once balloon data is captured, the FAI Report Generator exports it in AS9102 Rev C, PPAP, ISO, or ASME formats — so the same balloon data that feeds the stack-up also drives the inspection package. CSV export is available on all paid plans for direct import into a stack-up spreadsheet.
Frequently Asked Questions
What is tolerance stack-up analysis in GD&T?
Tolerance stack-up analysis is a calculation method that adds up all individual part tolerances along a dimension chain to determine whether an assembly gap, clearance, or interference will remain within acceptable limits under all conditions. It uses GD&T values from ASME Y14.5-2018 as inputs and applies worst-case arithmetic or RSS statistics to predict the gap range.
When should I use worst-case vs RSS tolerance analysis?
Use worst-case analysis for safety-critical assemblies, small batch sizes, or where a single assembly failure is unacceptable. Use RSS when you have large production volumes and statistical process capability data (Cpk ≥ 1.33) confirming individual tolerances are independent and normally distributed. Never apply RSS to a process you have not measured and confirmed.
What is a 1D tolerance stack-up calculation?
A 1D stack-up adds tolerances along a single linear axis — typically the assembly gap direction. Each contributing dimension and its bilateral tolerance is listed, sensitivity values of +1 or −1 are assigned based on the loop direction, and the total tolerance is summed to find the worst-case or statistical gap range. It is the starting point for any assembly gap analysis before moving to 2D or 3D methods.
How does GD&T position tolerance affect a stack-up?
A position tolerance creates a cylindrical tolerance zone whose diameter equals the stated value (plus any bonus tolerance at MMC). In a 1D stack-up, include half the position tolerance diameter — the radial shift — as the contributor, because the feature can shift that amount from its true position along the stack axis.
How many parts should I include in a tolerance stack-up?
Include every part and feature whose variation can affect the assembly gap being studied. A single omitted fastener hole position tolerance can invalidate the analysis. In practice, a 1D chain rarely exceeds five to eight contributors. If more contributors appear, identify and tighten the dominant ones first rather than accepting a long, complex chain.
Conclusion
Tolerance stack-up analysis is not optional for any assembly where fit, clearance, or function depends on multiple parts. The five-contributor 1D example above passes both worst-case and RSS methods — but the margin is defined by a single dominant contributor. Knowing that early means targeted tolerance refinement, not blanket tightening across every part in the chain.
The arithmetic is straightforward once the drawing inputs are captured correctly. That capture step — reading every GD&T frame from a dense production drawing without transcription error — is where most analyses go wrong before a single number is entered into a spreadsheet.