GD&T Tolerance Stacks and Functional Gage Design
Turn GD&T callouts into a stack, work worst-case and statistical results for a gap, and plan a functional gage with its size, tolerance, wear and limits.
Table of contents
A stack that adds plus-or-minus numbers is simple. Real drawings use position, profile, bonus and datum shift, and those numbers do not go straight into a column. Knowing how to convert them, and how to tell whether the answer can be trusted, is senior-level work. So is the other side of the same math: a functional gage, which turns a boundary into hard steel. This covers both, in plain words, based on ideas in ASME Y14.5 and Y14.43. Tolerance decisions and gage design sign-off belong to the engineer or gage designer in charge. Reminder: virtual condition is the fixed worst-case boundary made by size and geometric tolerance together.
What You Will Be Able to Do
- Convert GD&T callouts into equal plus-or-minus values for a stack.
- Find minimum and maximum wall using MMC, LMC and bonus.
- Build a gap stack and handle clearance float correctly.
- Compare worst-case, RSS and hybrid results.
- Plan a functional gage, including its size, tolerance and wear.
- Decide when a gage makes sense and when a CMM does.
Converting Callouts for a Stack
A stack needs each contributor as a mean value with an equal plus-or-minus. Work in one direction only.
| Callout | How it enters a stack |
|---|---|
| Unequal size, 1.000 +0.010 / -0.000 | Shift the mean: 1.005 +/- 0.005 |
| Basic dimension | Nominal value, with no tolerance |
| Position Ø 0.014, no modifier | +/- 0.007 |
| Position Ø 0.014 (M) | +/- half of (0.014 + bonus) for the size in question |
| Profile 0.020, equal, to datums | +/- 0.010 |
| Clearance float, hole 0.266, bolt 0.250 | +/- 0.008 |
| Datum shift of 0.002 | +/- 0.002, when it moves this feature |
Two habits prevent most errors. Halve the diameter zone, because a Ø 0.014 zone lets the axis move 0.007 either way. And convert unequal tolerances first, because using the raw number of 1.000 puts the mean in the wrong place.
Form controls such as flatness usually sit inside the location or size tolerance already. They enter a stack only when a surface's form really changes the result, such as a contact face that holds a shim.
Wall Thickness With Bonus
Bonus makes a stack depend on size. The smallest wall does not always come where you would first expect.
Worked example. A hole is Ø 0.500 +0.010 / -0.000, with position Ø 0.014 (M) to A, B and C. Its true location is a basic 1.000 from an edge. The edge has a profile of 0.020 to A, B and C, so it can move 0.010 either way. Find the thinnest wall.
Test both sizes of hole.
| Hole | Radius | Position zone | Half zone | Wall |
|---|---|---|---|---|
| At MMC, 0.500 | 0.250 | Ø 0.014 | 0.007 | 1.000 - 0.010 - 0.007 - 0.250 = 0.733 |
| At LMC, 0.510 | 0.255 | Ø 0.024 | 0.012 | 1.000 - 0.010 - 0.012 - 0.255 = 0.723 |
The thinnest wall is 0.723, with the hole at LMC. The hole is at its largest, and it also has the largest zone.
There is a quick check. The resultant condition is the opposite boundary from virtual condition. For a hole at (M), it is LMC + geometric tolerance + full bonus: 0.510 + 0.014 + 0.010 = 0.534. Half of that is 0.267, so the wall is 1.000 - 0.010 - 0.267 = 0.723. It matches.
The largest wall uses the virtual condition, 0.500 - 0.014 = 0.486. Half of that is 0.243, so 1.000 + 0.010 - 0.243 = 0.767. Under (M), the inner boundary is the same at every hole size. The outer boundary is at its largest when the hole is at LMC.
If this wall must stay above a limit, such as 0.725 for strength, this math shows that (M) is the wrong modifier for this hole. An (L) callout protects the wall instead. At LMC the zone is then Ø 0.014, so the outer boundary is 0.510 + 0.014 = 0.524. Half of that is 0.262, and the wall is 1.000 - 0.010 - 0.262 = 0.728.
A Gap Stack
Here is a stack through an assembly, with clearance float in the chain.
Worked example. A cover bolts to a housing. Its edge has to clear a wall inside the housing. The nominal gap is 0.060. Trace the chain from the wall to the cover's edge.
| Contributor | Source | Tolerance |
|---|---|---|
| Housing wall | Profile 0.020 | +/- 0.010 |
| Housing bolt holes | Position Ø 0.010 | +/- 0.005 |
| Clearance float | Hole 0.266, bolt 0.250 | +/- 0.008 |
| Cover bolt holes | Position Ø 0.012 | +/- 0.006 |
| Cover edge | Profile 0.010 | +/- 0.005 |
Worst case: add them all up. 0.010 + 0.005 + 0.008 + 0.006 + 0.005 = +/- 0.034. The gap runs from 0.026 to 0.094.
RSS (root sum of squares): square, add and take the root. In thousandths, 100 + 25 + 64 + 36 + 25 = 250, and the root is 15.8. So +/- 0.0158, and the gap runs from 0.044 to 0.076.
Before you accept the RSS answer, look at what each contributor is. RSS assumes each one varies at random and is independent of the others. Float does not do that. An assembler pushes the cover to one side, or a jig does, and all of the float gets used at once. So many analysts keep float out of the RSS and add it straight.
Hybrid: RSS of the four part tolerances, then add float. In thousandths, 100 + 25 + 36 + 25 = 186, and the root is 13.6. Adding 8 gives +/- 0.0216, so the gap runs from 0.038 to 0.082.
| Method | Tolerance | Gap range |
|---|---|---|
| Worst case | +/- 0.034 | 0.026 to 0.094 |
| Hybrid | +/- 0.0216 | 0.038 to 0.082 |
| RSS | +/- 0.0158 | 0.044 to 0.076 |
So which do you use? Worst case for safety-critical fits or low volume. Statistical methods for high volume, where the process data backs up their assumptions. Some companies apply a safety factor to RSS, such as 1.5, to allow for processes that are not perfectly centered. Use your company's method, and say which you used on the report.
Things That Change the Stack
- Two features cut in one setup. They do not vary independently. Treat them as one contributor where you can, because a fixture error moves both together.
- Mean shift. A process running off center adds directly, not by RSS.
- Datum shift. If a pattern can shift on its datum, that movement is a contributor for anything measured from outside the pattern.
- Direction. Position zones are round. In a 2D stack, the amount that counts is only the part in the stack's direction. A 1D stack that uses the full radius is on the safe side.
From Boundary to Gage
A functional gage is a physical copy of the worst-case mating part. If a part fits it, the part's features are inside their boundaries, and it will assemble. Fixed-pin gages work only with (M) on the feature, because a fixed pin can stand for a fixed boundary. They do not work for RFS, and they do not check an (L) requirement.
Worked example. A plate has four holes, 0.250 to 0.260, with a frame of Position | Ø 0.008 (M) | A | B (M) | C. Datum B is a hole, 0.500 to 0.510, with a perpendicularity of Ø 0.002 (M) to A. Datum C is a slot.
Work out each gage element.
| Gage element | How it is sized | Nominal size |
|---|---|---|
| Datum A | Flat surface for the part to seat on | A flat plate |
| Datum B pin | Boundary: 0.500 - 0.002 | Ø 0.498 |
| Datum C element | Boundary of the slot | From its own callout |
| Hole pins | Virtual condition: 0.250 - 0.008 | Ø 0.242 |
Use the frame's order. The part seats on A with three high points first. Pin B then enters, and the part may shift on it, which is the datum shift the drawing allows. C stops the rotation. The four pins must then enter with no force. Size is a separate check, because a hole of 0.270 would pass this gage.
Gage Tolerance and Wear
A gage cannot be made perfectly, so it needs its own tolerance, and that uses up part of the part's tolerance.
Common practice sets aside about 5 to 10 percent of the part's tolerance for the gage's size and location errors. ASME Y14.43 is the standard for dimensioning and tolerancing gages and fixtures. It describes how to assign tolerances, including the idea of absolute tolerancing. With that approach, the gage tolerance goes toward making the gage harder to pass. So a gage may reject a few borderline good parts, but it does not accept bad ones.
Worked example. The position tolerance is 0.008, so a 5 percent budget is 0.0004. The hole pin's nominal size is 0.242. Under absolute tolerancing, the pin is made to 0.2420 +0.0004 / -0.0000. A pin at 0.2424 acts as if the holes have a little less tolerance, which costs a few good parts. A pin under 0.2420 would pass parts that do not meet the boundary.
Gage pins wear down, and a worn pin gets smaller, so it accepts more. Some gages get a wear allowance. The pin starts on the high side and may wear down to its limit. Track it through calibration. A pin worn below 0.2420 is retired, because from then on it accepts bad parts.
Your gage's real limits come from your drawing and your quality system. These numbers show the logic.
Using the Gage
- Check the size of every hole first.
- Clean the part and the gage. A chip on A tilts everything.
- Seat the part on A, then B, then C, in the frame's order.
- Try the pins by hand, with no force. A part that needs pushing is a fail.
- Record the result, and tag any failure.
The result is pass or fail. A gage tells you nothing about how close you are or which way to adjust. Run an attribute agreement study to show that your people get the same answer. An operator who pushes hard will pass parts that another one fails.
Composite Frames Need Two Gages
A composite position frame needs a gage for each segment. The upper gage uses all the datums, with pins sized for the upper tolerance. The lower gage has pins sized for the lower tolerance, and they sit on a plate that can float, keeping only the datums the lower segment names. One gage cannot do both.
Gage or CMM?
| Question | Functional gage | CMM |
|---|---|---|
| Speed per part | Seconds | Minutes |
| Data | Pass or fail | Real numbers, trends |
| Cost | Build it for each part number | Program it for each part number |
| Datum shift | Built in | Has to be set up correctly |
| Needs (M) | Yes | No |
| Skill at the machine | Low | Higher |
Worked example. A CMM takes 6 minutes a part, and a gage takes 30 seconds. On 2,000 parts, the gage saves 5.5 minutes each, which is 183 hours. That can pay for the gage. But a gage shows no drift. A common plan gauges every part at the machine, and pulls one part every so often for the CMM, so you get speed and trend data together.
When the Normal Method Does Not Apply
- Flexible parts. A gage may force a part into shape and pass it falsely. Use the restraint the drawing names.
- RFS callouts and runout. Fixed pins do not apply.
- Disagreement between a gage and a CMM. A good gage is a truer test of (M) boundaries, but only if it is calibrated and the CMM applies the same shift. Check the CMM's datum handling, and check the gage, before you decide.
- Designing around a stack failure. If the worst case fails, the fixes are to tighten the largest contributor, add a locating feature that removes float, or add adjustment. That is an engineering decision.
Common Mistakes
| Mistake | What it costs |
|---|---|
| Using the raw number of an unequal tolerance | The mean is wrong by half the tolerance |
| Using a whole zone diameter in a stack | Stack looks twice as bad |
| Finding wall at MMC only | Thinnest wall missed |
| Running float through RSS | A result that is too optimistic |
| Building pins at MMC size | Gage rejects good parts |
| Sizing a datum pin without its higher-datum control | Wrong shift |
| Skipping the size check | Oversize holes pass |
| Letting pins wear below their limit | Bad parts pass |
Check Your Understanding
1. A dimension is 2.000 +0.006 / -0.002. How does it enter a stack?
The limits are 2.006 and 1.998, so the mean is 2.002 with +/- 0.004.
2. A hole is 0.300 to 0.310, with position Ø 0.010 (M). What is its resultant condition?
LMC + tolerance + full bonus: 0.310 + 0.010 + 0.010 = 0.330.
3. Five contributors are all +/- 0.004. What are the worst case and RSS?
Worst case is +/- 0.020. RSS is the root of 5 x 16 = 80, which is 8.9, so +/- 0.0089.
4. A hole is 0.375 to 0.385, with position Ø 0.012 (M). What is the functional gage pin's nominal size, and which way does the gage tolerance go?
Virtual condition is 0.375 - 0.012 = 0.363. With absolute tolerancing, the tolerance goes on the high side, so the gage cannot accept a bad part.
5. Your gage passes a part, and the CMM fails it by a small amount. What do you check?
First, whether the CMM applies datum shift. Then the gage's calibration and wear, and the seating order. Do not assume either one is right until you have checked both.
Key Takeaways
- Convert everything to a mean and an equal plus-or-minus. Halve zones, and shift unequal tolerances.
- Check wall at both MMC and LMC. Resultant condition gives the quick answer.
- Keep float out of RSS, because an assembler can use all of it at once.
- Say which method you used, and whether its assumptions hold.
- A gage pin is virtual condition plus a small tolerance that favors rejecting, and it wears smaller.
- A gage gives speed. A CMM gives data. Good plans often use both.