Inspection and Tolerance Stack-up
How each GD&T control is inspected (functional gages, CMM, manual methods), measurement uncertainty and guard banding, and worst-case and RSS tolerance stack-ups with worked examples.
A tolerance is only useful if it can be checked, and a stack-up only works if every dimension in it is tolerance-controlled in the same way. This page covers how each geometric control is inspected (functional gages, coordinate measuring machines and manual methods), how measurement uncertainty affects accept and reject decisions, and how to add up tolerances in a stack, by worst case and by RSS. It is part of the GD&T guide and follows ASME Y14.5-2018.
Datum set-up
Every orientation, location and runout measurement starts by holding the part on its datum features in the order the frame lists them. The datum features are real, imperfect surfaces; the datum is the perfect plane, axis or point that the measurement equipment simulates.
- Primary datum. Rest the part on at least three high points of the feature (a surface plate simulates a plane). The part rocks until the three highest points touch.
- Secondary datum. Bring the part against a second simulator (a fixed block or a pin) square to the first, with two points of contact.
- Tertiary datum. One more point against a third simulator.
- Datum features of size (a hole or a diameter) are simulated by a gage element at the right size: the virtual condition if the datum reference has Ⓜ, or an adjustable, expanding element for RFS.
- Datum targets locate the part on points, lines or areas: pins, blocks or pads at the dimensioned positions.
See the Datums and Datum Reference Frames page for how datum feature simulators and datum shift work.
Functional gages
A functional gage is a fixture built to the virtual condition of the features. If the part goes onto the gage, it meets the position tolerance, bonus included. The gage models the mating part, so it answers the practical question: will it assemble?
- Pins at virtual condition. A hole with ⌀10.0–10.2 and position ⌀0.1 at MMC has a virtual condition of 10.0 − 0.1 = 9.9, so the gage pin is ⌀9.9, held at the basic location from the datum features. The part must slip on over all the pins at once.
- Datum simulators. The gage locates the part on the datum features the way the drawing says; for an MMC datum reference the simulator is fixed at its virtual condition, so the datum shift is built in.
- Gage tolerance. A gage is itself imperfect, so its size and location tolerances are a small fraction of the part tolerance (typically 5 to 10%) and are applied so that a part that was bad is never accepted, even if a good part is sometimes refused. The part tolerance is not reduced to pay for the gage.
- Fast, but narrow. A gage tells you pass or fail and nothing about how far out the part is, so it cannot guide process adjustments; it works only for features controlled at MMC (or LMC with a different gage); it does not work for RFS.
- Cost. A dedicated gage pays for itself on high volumes, and on parts that are checked on the line. For low volumes a CMM is usually cheaper.
CMM inspection
A coordinate measuring machine (CMM) measures points on the surfaces with a probe, and software fits geometry to them. It reads the actual numbers rather than just pass or fail, so it shows how the part is wrong.
- Datum reference frame. The software builds the frame from the datum features in the order given: it fits a plane to the primary, a line or plane to the secondary square to it, and so on, applying the material condition if the datum has one.
- Fitting. Least squares is common for diameters and planes, but the standard’s datum feature simulator is a perfect boundary that touches the high points; a minimum-zone or constrained fit better reproduces the definition. Different fits can give different results near the limit, so say which one is used.
- Sampling. The number and spread of points matter. A circle measured with three points cannot see lobing; a plane with four points cannot see a dome. For form, take enough points to find the high and low spots (many more than for size).
- Bonus tolerance. The software has to read the measured size and add the bonus. A report that checks every hole against 0.1 and ignores the Ⓜ will reject good parts.
- Temperature. Dimensions are defined at 20 °C. Let the part soak in the measurement room, and use compensation for large aluminum or plastic parts.
- Digital standards. ASME Y14.5.1M defines the mathematics of each control and ASME B89.4.10360 (ISO 10360) tests CMMs; Y14.43 covers gages and fixtures.
Manual methods, control by control
| Control | Typical manual method | Notes |
|---|---|---|
| Straightness | Straightedge and feeler gages; indicator traveled along a line on a surface plate | Axis straightness needs a CMM or a gage |
| Flatness | Surface plate, three jacks and a height gage or indicator; the range of the readings after leveling is the flatness | Optical flats for very flat surfaces |
| Circularity | Roundness tester; or V-block and indicator for a quick check (which includes lobing errors in a particular way) | The V-block method needs a correction factor for lobes |
| Cylindricity | Roundness tester with a straightness column; a CMM scan | Three-point methods cannot see all lobing |
| Perpendicularity, parallelism | Part on its datum surface plate, indicator over the surface or a pin in the hole; or a gage | The range of indicator reading is the error |
| Angularity | Sine bar or sine plate set to the angle, then the indicator | Sine bar angle set with gage blocks |
| Position | Functional gage; height gage and plug gages; CMM | Coordinate calculation is needed for a hole pattern |
| Concentricity / coaxiality | Runout is the quick substitute; CMM for position | Concentricity is hard to measure and is not in ASME 2018 |
| Circular runout | Part on centers or in V-blocks, indicator on the surface, turn one revolution | Hold the part against an end stop |
| Total runout | Same set-up, with the indicator moved along the surface while turning | Read the whole movement |
| Profile | CMM scan; optical comparator for 2D outlines; templates and gages | Compare to the CAD model |
Measurement uncertainty and decision rules
Every measurement has an uncertainty U: the interval in which the true value probably lies. A part measured at 0.048 against a tolerance of 0.05 is probably good, but if U is 0.008, the true value may be 0.056. The rule used to decide acceptance changes what is shipped.
- Simple acceptance. If the measured value is inside the tolerance, accept it; ignore U. This is common practice, but it sometimes accepts bad parts.
- Guard banding. Reduce the acceptance limit by U, so a part is accepted only if it is inside the limit minus U (ISO 14253-1 default rule). Fewer bad parts leave, but more good ones are rejected.
- Rules of thumb. The measuring system should be 4 to 10 times better than the tolerance. Gage repeatability and reproducibility (GR&R) studies show how much of the tolerance the measurement process consumes.
- Say which rule. If the customer and supplier use different rules, they will disagree at the limit.
Worked example: guard band
A flatness tolerance of 0.050 is measured with an expanded uncertainty of 0.008 (95% coverage).
Test uncertainty ratio = 0.050 ÷ 0.008 = 6.25 (about 6:1)
Acceptance limit = tolerance − U = 0.050 − 0.008 = 0.042
A part that measures 0.046 is inside the tolerance but outside the guard-banded limit of 0.042, so it is not accepted under that rule. The ratio of about 6:1 is typical of a good CMM on a medium tolerance.
Tolerance stack-up
A stack-up adds the tolerances in a chain of parts to find the variation of a gap, a clearance, or a fit. It answers the question “will it always assemble?” before anything is made.
The method
- 1. Define the gap and its direction. Pick the dimension you care about and a positive direction.
- 2. Make a loop. Follow the chain of features and parts from one side of the gap to the other.
- 3. Sign each dimension. Dimensions that open the gap are positive; those that close it are negative.
- 4. Use the mean (mid-limit) values and an equal-bilateral tolerance: convert “25.00 +0.10 −0.00” to 25.05 ± 0.05.
- 5. Add the tolerances. Worst case sums them; RSS takes the square root of the sum of squares.
- 6. Compare to the requirement. The gap’s minimum has to be above its minimum allowed value.
Worst case: Tgap = T1 + T2 + … + Tn
RSS (statistical): Tgap = √( T1² + T2² + … + Tn² )
- Worst case guarantees every part works, and so makes the tolerances tight. Use it for safety or when the volume is low.
- RSS assumes every dimension varies independently and is centered, with about the same process capability. It gives a smaller gap variation (about 99.7% of assemblies), but a few may fail. Use it when parts are made in volume by capable processes.
- Geometric tolerances join the stack too. A position tolerance ⌀t moves a feature by up to t ÷ 2 either way from nominal along a line, and more diagonally; a flatness or perpendicularity adds its own value. At MMC the bonus is added to a gap that is measured at that size.
Worked example: a one-dimensional stack
A housing slot is A = 25.00 ± 0.10. Two parts sit in it: B = 12.00 ± 0.05 and C = 10.00 ± 0.05. What is the gap that is left, and what are its limits?
Gap = A − B − C = 25.00 − 12.00 − 10.00 = 3.00
| Method | Variation (±) | Minimum gap | Maximum gap |
|---|---|---|---|
| Worst case | 0.20 | 2.80 | 3.20 |
| RSS | 0.1225 | 2.878 | 3.122 |
Worst case: ± (0.10 + 0.05 + 0.05) = ±0.20, so the gap is 2.80 to 3.20. RSS: √(0.10² + 0.05² + 0.05²) = √0.015 = 0.1225, so about 2.878 to 3.122. If the gap must never be below 2.9, worst case fails and RSS passes (by a small margin: a few assemblies in a thousand could still be below).
Fastener check
The most common stack-up is whether a bolt will pass through the holes of two parts, which also gives the position tolerance. The two cases are:
| Case | Formula | Each part’s tolerance |
|---|---|---|
| Floating fastener (a bolt and nut, free in both parts) | T = H − F | The same value, T, for each part |
| Fixed fastener (a stud or screw in a tapped hole in one part) | T1 + T2 = H − F | Split between the two parts, often equally: (H − F) ÷ 2 |
H is the clearance hole at MMC (the smallest hole), F is the fastener at MMC (its largest size) and T is the position tolerance at MMC. For M6 close-fit holes H = 6.4 and F = 6.0, so floating T = 0.4, and a fixed fastener splits 0.4 between the two parts. See the Position and Location page for the whole table (M3 to M12).
Worked examples
Example 1: gage for a position tolerance
A hole ⌀8.4 to 8.6 has a position tolerance ⌀0.2 at MMC to A | B | C. Design the gage pin and decide what a part’s “bonus” is.
- Virtual condition = 8.4 − 0.2 = 8.2. The gage pin is ⌀8.2 at the basic position from the datum simulators.
- A part with an ⌀8.5 hole has 0.1 bonus, so a total tolerance of 0.3. It slips over the ⌀8.2 pin as long as the hole’s axis is within 0.15 of true position.
- A part with an ⌀8.6 hole has 0.2 bonus, so a total of 0.4. The same gage accepts it with axis error up to 0.2.
- One pin, one test, and all three sizes are covered. That is the point of a functional gage.
Example 2: shaft runout with indicator and V-blocks
- Set up. Support the shaft on its two journals (the datum axis A-B) in V-blocks, with an end stop so it cannot move along its length.
- Read. Put the indicator on the surface at a position, zero it, and turn the part one revolution. The difference between the highest and lowest reading is the full indicator movement (FIM).
- Compare. For circular runout 0.05, every position must read 0.05 or less. For total runout, trace along the length and read the whole range.
- Pitfall. Form errors of the journals move the axis in the V-blocks; for tight tolerances use centers or a roundness tester.
Example 3: stack with a hole position
Two parts joined by a floating M6 bolt through ⌀6.4 close-fit holes. Each hole is ⌀6.4 to 6.5 with position ⌀0.4 at MMC.
- At MMC (⌀6.4) the hole’s virtual condition is 6.4 − 0.4 = 6.0, exactly the bolt’s MMC size (6.0), so the worst-case parts just assemble: the zero-clearance limit, as the formula T = H − F gives.
- A hole at ⌀6.5 has a bonus of 0.1, so a total of 0.5, and the bolt still passes in the worst case.
- This is the stack-up that the GD&T feature control frame does for you: the formula sets the tolerance, and the gage proves it.
Troubleshooting
| Symptom | Likely cause | Try |
|---|---|---|
| Two labs measure the same part differently | Different datum set-ups, fit methods or uncertainty rules | Agree the datum order, the fit and the decision rule in writing |
| The part passes the CMM but does not go on the gage | CMM is using different datum simulation (or ignored the Ⓜ) | Check the program’s datum and bonus logic against the drawing |
| Results change between runs on a flat surface | Not enough points; the form is being sampled differently each time | Increase the point count; use the same sampling strategy |
| Parts good in the gage, rejected in assembly | The gage does not represent the mating part, or the stack-up missed a contributor | Compare the gage with the actual mating part; recheck the loop |
| A stack-up fails by a small amount | Worst case is too strict for the volume | Switch to RSS only if processes are capable; or tighten the largest contributors first |
Related
- GD&T: the overview and quick reference.
- Datums and Datum Reference Frames: how the datum simulators are defined.
- Position and Location: fastener formulas and composite position.
- Modifiers and Material Conditions: virtual condition, the number a gage is built to.
- Worked Drawing Examples: whole parts with their inspection method.
FAQ
Do I always need a functional gage?
No. A functional gage is the right tool when the volume is high and the controls are at MMC. For low volumes, or controls at RFS, a CMM is more flexible and gives numbers.
What does a gage tolerance of 5 to 10% mean?
The gage’s own manufacturing error is limited to about 5 to 10% of the part tolerance on the feature. The gage is made so that errors move the pass limit inside the tolerance, which means the gage never accepts a bad part.
Which is better, worst case or RSS?
Neither. Worst case guarantees fit; RSS predicts how often the tolerance will be exceeded. Use worst case when failure is costly, RSS when volumes are high and the processes are capable and centered.
Does a position tolerance of ⌀0.2 mean a stack contribution of 0.2?
It contributes up to 0.1 (half the diameter) in any direction from nominal. In a one-dimensional stack, use ±0.1; if the stack is on a diagonal, work out the vector.
What is a good uncertainty ratio?
At least 4:1 (the measurement uncertainty is no more than a quarter of the tolerance); 10:1 is better. At lower ratios, use guard banding.
Why do I need to use mean values in a stack-up?
Because a tolerance of +0.10 −0.00 is not symmetrical: the middle of the range is 25.05, and the variation is ±0.05. Using 25.00 ± 0.10 would give the wrong answer.
References
- ASME Y14.5-2018, Dimensioning and Tolerancing (inspection principles, functional gages, fastener formulas in the non-mandatory appendix).
- ASME Y14.43, Dimensioning and Tolerancing Principles for Gages and Fixtures.
- ASME Y14.5.1M, Mathematical Definition of Dimensioning and Tolerancing Principles.
- ASME B89.7.3.1, Guidelines for Decision Rules: Considering Measurement Uncertainty in Determining Conformance to Specifications.
- ISO 14253-1, Decision rules for verifying conformity or nonconformity with specifications; ISO 10360, Acceptance and reverification tests for coordinate measuring systems.
- Fischer, B. R., Mechanical Tolerance Stackup and Analysis, CRC Press.
Last reviewed: October 2026. Stack-up methods and decision rules vary by industry and customer: follow the one your quality system names.
