GD&T True Position and MMC Bonus Tolerance (ASME Y14.5)
ASME Y14.5
True position is the GD&T control that defines how far a manufactured feature's actual centre may deviate from its theoretically exact location — and it is the tolerance your CMM report either passes or fails. When a maximum material condition (MMC) modifier is added to the callout, the allowed zone expands automatically as the feature departs from its tightest size, giving more room to the manufacturing process without compromising function. Understanding how the two interact is essential for any engineer reading or writing a drawing callout or interpreting an inspection report.
ASME Y14.5-2018 is the governing document. The MechanixCalc GD&T calculator implements its true-position, MMC bonus and virtual-condition rules directly; this guide explains the arithmetic behind the tool, works through a self-contained numeric example, and answers the most common questions about the method.
The true-position formula and what it measures
ASME Y14.5 §7 defines positional error as the diameter of the smallest circle centred on the theoretically exact location (TED) that contains the actual feature centre. Because the tolerance zone is a cylindrical diameter — not a radius — the positional deviation reported on a CMM is always a diameter value: twice the straight-line distance from the TED to the measured centre.
The two-dimensional formula combines the X and Y coordinate deviations and multiplies by two to produce that diameter. If a 3D positional callout is used (common for threaded holes where the depth matters), the formula extends to include the Z-axis deviation in the same way.
TP = 2 × √(Δx² + Δy²)where TP = true position deviation expressed as a zone diameter (mm); Δx = actual X − nominal X (mm); Δy = actual Y − nominal Y (mm). Pass if TP ≤ T_total (the effective tolerance zone diameter).
MMC bonus tolerance and the total effective zone
The maximum material condition is the feature size that puts the most material in the part: the smallest allowable hole diameter, or the largest allowable shaft diameter. When the MMC modifier ⓜ appears in the feature control frame, the stated positional tolerance applies at that worst-case size. Every unit the actual feature departs from MMC — every increment that a hole grows larger, or a shaft grows smaller — adds exactly one unit of bonus tolerance to the positional zone.
Functionally, this reflects the reality of mating parts: a larger-than-MMC hole needs less positional accuracy to clear a mating shaft, because more clearance is available. The total effective zone is the stated tolerance plus the bonus; the mating boundary that must never be violated — regardless of how large the bonus grows — is the virtual condition.
bonus = max(0, actual_size − MMC_size); T_total = T_stated + bonuswhere bonus = additional positional tolerance earned by departure from MMC (mm); actual_size = measured hole diameter (mm); MMC_size = smallest permissible hole diameter on the drawing (mm); T_stated = geometric tolerance at MMC from the feature control frame (mm); T_total = effective tolerance zone diameter for the PASS/FAIL check (mm).
VC = MMC_size − T_statedwhere VC = virtual condition — the fixed inner boundary that no surface of the hole may violate, regardless of bonus (mm); MMC_size = smallest permissible hole diameter (mm); T_stated = stated positional tolerance at MMC (mm). For an external feature (shaft/pin): VC_external = MMC_size + T_stated.
Reading a feature control frame and identifying the inputs
A positional feature control frame reads left to right: the position symbol (⊕), the tolerance value preceded by the diameter symbol (⌀), and one or more modifiers in a circle (ⓜ for MMC, Ⓛ for LMC). The datum references follow, defining the coordinate system. The tolerance value in the frame is T_stated — the zone diameter that applies at MMC. The MMC size comes from the size tolerance on the same feature: for a hole toleranced as ⌀ 12.00 +0.15/−0.00 the MMC size is ⌀ 12.00 mm (the smallest hole, most material).
If no modifier appears (RFS — regardless of feature size), the zone is fixed and there is no bonus. If Ⓛ (LMC) is used instead of ⓜ, the bonus accrues as the feature approaches its least-material size — the calculation is symmetric but the direction reverses. The worked example below uses MMC on a hole, which is the most common industrial case.
Remaining tolerance, PASS/FAIL and the inspection record
After the total effective tolerance T_total is known, the PASS/FAIL verdict is a single comparison: the feature passes if TP ≤ T_total. The remaining tolerance — T_total minus TP — tells an inspector or process engineer how much margin is left before the part would fail. A small remaining tolerance flags a borderline part that may be acceptable today but is close to the rejection boundary if the process drifts.
When measurement uncertainty is significant relative to the tolerance (a measurement-to-tolerance ratio above 25 % is a common warning threshold), ASME Y14.5 does not itself specify how to handle the uncertainty; that is governed by ISO 14253-1, which applies a guardband inward from each specification limit by the expanded uncertainty U95. The MechanixCalc calculator includes that check and returns an Accept / Reject / Inconclusive decision suitable for attaching to a CMM report or non-conformance notice.
Worked example
A ⌀ 12.00 +0.20/−0.00 mm through-hole is called out with a positional tolerance ⌀ 0.15 mm ⓜ relative to datum A. The CMM measures the hole centre at X = 50.06 mm, Y = 30.08 mm against a nominal of X = 50.00 mm, Y = 30.00 mm. The CMM also reports the actual hole diameter as ⌀ 12.10 mm. Determine true position, bonus, total effective tolerance, and PASS/FAIL.
Given
- Nominal positionX = 50.00 mm, Y = 30.00 mm (TED)
- Actual position (CMM)X = 50.06 mm, Y = 30.08 mm
- Stated positional tolerance T_stated⌀ 0.15 mm at MMC
- MMC size (smallest hole per drawing)⌀ 12.00 mm
- Actual hole diameter (CMM)⌀ 12.10 mm
Result
- True position TP⌀ 0.20 mm
- MMC bonus0.10 mm
- Total effective tolerance T_total⌀ 0.25 mm
- Remaining tolerance0.05 mm
- Virtual condition (inner boundary)⌀ 11.85 mm
- VerdictPASS
- Coordinate deviations from nominal: Δx = 50.06 − 50.00 = 0.06 mm; Δy = 30.08 − 30.00 = 0.08 mm.
- True position: TP = 2 × √(Δx² + Δy²) = 2 × √(0.06² + 0.08²) = 2 × √(0.0036 + 0.0064) = 2 × √0.01 = 2 × 0.10 = 0.20 mm.
- MMC bonus: actual hole (12.10 mm) is larger than MMC (12.00 mm), so bonus = 12.10 − 12.00 = 0.10 mm.
- Total effective tolerance: T_total = T_stated + bonus = 0.15 + 0.10 = 0.25 mm.
- PASS/FAIL check: TP = 0.20 mm ≤ T_total = 0.25 mm → PASS.
- Remaining tolerance: T_total − TP = 0.25 − 0.20 = 0.05 mm.
- Virtual condition (inner boundary the hole must not violate): VC = MMC_size − T_stated = 12.00 − 0.15 = 11.85 mm.
Without the MMC modifier the stated tolerance is fixed at ⌀ 0.15 mm and the hole would fail (TP 0.20 mm > 0.15 mm). The bonus earned by the larger-than-MMC hole is what allows the part to pass. Verify these numbers with your own CMM data using the /gdt calculator.
Do it on your own numbers
Instant PASS/FAIL for true position with MMC/LMC bonus, flatness, circularity, cylindricity, runout and measurement uncertainty — enter your CMM numbers and get the result. Free 30-minute preview, no sign-up.
Open the GD&TFrequently asked questions
What is GD&T true position and how is it different from a coordinate tolerance?
True position (ASME Y14.5 §7) defines the allowable deviation as the diameter of the cylindrical zone centred on the theoretically exact location — so the tolerance zone is round, not a square box as with coordinate ± tolerances. A square ±0.15 mm × ±0.15 mm zone accepts corners that are up to 0.21 mm from nominal (diagonal reach = √(0.15²+0.15²) ≈ 0.212 mm), while a ⌀ 0.30 mm true-position zone is circular and limits every direction to the same 0.15 mm radius. True position is therefore more consistent: the circular zone is about 29 % tighter in the diagonal direction and covers roughly 78.5 % of the area of an equal square zone.
What is MMC and why does a hole get bonus tolerance when it is larger than MMC?
Maximum material condition (MMC) for a hole is its smallest permissible diameter — the size with the most material in the part. When a hole is larger than MMC it has more clearance to a mating shaft, so less positional accuracy is needed to guarantee assembly. ASME Y14.5 encodes this functional relationship directly: each millimetre the hole grows beyond MMC adds one millimetre of positional bonus, expanding the allowed zone without compromising the ability to assemble the mating parts.
What is a virtual condition and why does it matter?
The virtual condition is the worst-case fixed boundary produced by the combined effect of the MMC size and the stated geometric tolerance. For an internal feature (hole), VC = MMC_size − T_stated; for an external feature (shaft), VC = MMC_size + T_stated. No matter how large the bonus grows, the actual surface of the feature must not encroach on this boundary. Virtual condition is used to design gauges (go/no-go), to verify clearance for mating parts, and to confirm that assembly is always possible at worst-case size and position.
Does the true-position formula change when a 3D positional callout is used?
Yes. For a two-axis (2D) callout — the most common case for holes drilled in a flat face — the formula is TP = 2 × √(Δx² + Δy²). For a full 3D callout the Z-axis deviation is included: TP = 2 × √(Δx² + Δy² + Δz²). The factor of two is always present because the tolerance zone is expressed as a diameter, not a radius. The /gdt calculator handles the 2D case; for 3D positional checks the method is the same — simply extend the radicand.
Is the GD&T calculator free?
You can run true position, MMC bonus, virtual condition, flatness, runout and every other GD&T check during a free 30-minute preview with no sign-up, and a free 14-day account trial unlocks the full calculator suite with no credit card required. The branded PDF engineering report and saved calculations are part of a paid plan.
Related
- Tolerance Stack-up CalculatorPerform a 1D worst-case or RSS chain analysis to set the positional tolerance budget that feeds your GD&T callout.
- Press Fit (ISO 286)Size interference fits whose bore and shaft size tolerances interact directly with GD&T position and virtual-condition requirements.
- Machining ParametersSelect feeds, speeds and depths of cut that achieve the positional and surface quality required by the GD&T callout.
- ASME Y14.5 standard explained
- Bolt Preload and Tightening Torque (VDI 2230)