GD&T True Position Calculator: MMC Bonus Tolerance & ASME Y14.5 Formula
To calculate diametral GD&T True Position error from Cartesian coordinate deviations (ΔX and ΔY), multiply the radial Pythagorean distance by two: TP = 2 × √(ΔX² + ΔY²). When the Feature Control Frame specifies Maximum Material Condition (MMC Ⓜ️), add the feature's departure from its MMC size limit directly to the stated positional tolerance.
🎯 Interactive GD&T True Position & MMC Bonus Tolerance Bullseye Calculator (ASME Y14.5)
Compute diametral True Position error (TP = 2√(ΔX² + ΔY²)), Maximum Material Condition (Ⓜ️) bonus tolerance, and inspect your CMM coordinate point on a live cylindrical tolerance zone plot.
Why Do CNC Machinists and CMM Inspectors Multiply the Radial Coordinate Error by 2 in True Position?
The single most common source of confusion on the machine shop floor—and the #1 reason valid CNC parts are mistakenly scrapped or bad parts are shipped—is the factor of 2 in the ASME Y14.5 and ISO 1101 True Position equation. When a machinist probes a bored hole or bolt circle feature (see our Machinist Bolt Circle Calculator) on a Coordinate Measuring Machine (CMM) or optical comparator, the readout reports linear rectangular deviations from basic drawing coordinates: ΔX = X_actual - X_basic and ΔY = Y_actual - Y_basic.
By the Pythagorean theorem, the straight-line radial distance R from the true theoretical center (0, 0) to the actual measured hole axis (ΔX, ΔY) is R = √(ΔX² + ΔY²). However, under ASME Geometric & Mechanical Standards (ASME Y14.5-2018), ISO International Metrology Standard (ISO 1101), and NIST (National Institute of Standards and Technology) coordinate metrology standards, a positional Feature Control Frame such as [⌖ | Ø 0.010" Ⓜ️ | A | B | C] defines a cylindrical tolerance zone by its DIAMETER (Ø), centered on the true basic position, NOT by its radius! Because diameter equals twice the radius (D = 2 × R), the actual diametral positional error consumed by the hole axis is twice its radial offset:
Actual Diametral True Position (TP) = 2 × R = 2 × √[(X_actual - X_basic)² + (Y_actual - Y_basic)²]
For example, if a blueprint specifies a True Position tolerance of Ø 0.0100" and your CMM measures ΔX = +0.0030" and ΔY = +0.0040", the radial offset from center is R = √(0.003² + 0.004²) = 0.0050". Multiplying by 2 yields an actual diametral True Position of 2 × 0.0050" = Ø 0.0100", placing the hole axis right on the outer boundary of the 0.0100" diameter circle (100% tolerance utilization, PASS).
| Equal Offset (ΔX = ΔY) | Radial Error (R) | Diametral True Position (TP) | Max Single-Axis Offset (ΔY=0) | Equivalent Square Zone (±Tol) | Action |
|---|---|---|---|---|---|
| ±0.0010" (0.025 mm) | 0.00141" | Ø 0.0028" (0.072 mm) | ±0.0014" | ±0.0010" Square | |
| ±0.0020" (0.051 mm) | 0.00283" | Ø 0.0057" (0.144 mm) | ±0.0028" | ±0.0020" Square | |
| ±0.0035" (0.089 mm) | 0.00495" | Ø 0.0100" (0.250 mm) | ±0.0050" | ±0.0035" Square | |
| ±0.0050" (0.127 mm) | 0.00707" | Ø 0.0141" (0.359 mm) | ±0.0071" | ±0.0050" Square | |
| ±0.0100" (0.254 mm) | 0.01414" | Ø 0.0283" (0.718 mm) | ±0.0141" | ±0.0100" Square |
Why Did Engineering Standards Replace Plus/Minus Coordinate Tolerancing With Cylindrical True Position?
Under legacy 1940s coordinate dimensioning (where hole locations were specified as X = 2.000" ± 0.005" and Y = 1.500" ± 0.005"), the allowable tolerance zone for the hole axis was a 0.010" × 0.010" square box. While a square tolerance zone is easy to check along a single axis, physical cylindrical fasteners (such as Socket Head Cap Screws and dowel pins) do not care whether a mating hole is displaced horizontally, vertically, or at a 45° diagonal—assembly clearance depends strictly on the radial distance in any 360° direction!
In a legacy ±0.005" square tolerance zone, a hole displaced along both X and Y to the corner of the square (ΔX = +0.005", ΔY = +0.005") sits at a radial distance of 0.00707" (equivalent to a Ø 0.0141" diametral error), yet a hole displaced purely along the X-axis by ΔX = +0.0055" and ΔY = 0.0000" (only Ø 0.0110" diametral error) was rejected as scrap even though it would assemble far more easily than the corner hole! By replacing the square zone with a uniform cylindrical True Position zone circumscribed around the square, ASME Y14.5 grants manufacturers 57% more usable tolerance area (πR² vs 2R²) while guaranteeing 100% functional interchangeability per NASA Fastener & Mechanical Design Manual (NASA RP-1228) fastener assembly rules.
How Does Maximum Material Condition (MMC Ⓜ️) Bonus Tolerance Work for Internal Holes vs External Pins?
When an engineer places the circled Ⓜ️ (Maximum Material Condition) modifier next to the positional tolerance in a Feature Control Frame, the drawing invokes a dynamic size-to-position trade-off designed to protect functional assembly while maximizing machine shop yield. By definition in ASME Geometric & Mechanical Standards and ANSI Engineering Standards Webstore standards, Maximum Material Condition (MMC) is the size limit of a feature where the part weighs the most (contains the maximum volume of metal):
1. For an Internal Feature (Clearance Hole, Tapped Bore, or Keyway Slot): The part has the most metal when the hole is at its SMALLEST allowable diameter (D_MMC = D_min). When a clearance hole from our ISO 273 Clearance Hole Chart is drilled or bored larger than its minimum MMC limit (approaching its Least Material Condition, D_LMC = D_max), there is extra radial room around the mating bolt shank. That exact diametral departure from MMC is awarded 1-for-1 as extra positional "Bonus Tolerance":
Bonus_Hole = max(0, D_actual - D_MMC)
Total_Allowed_Position_Tolerance = T_stated_FCF + Bonus_Hole
2. For an External Feature (Boss, Dowel Pin, Shaft Spigot, or Stud): The part has the most metal when the pin or shaft is at its LARGEST allowable diameter (D_MMC = D_max). As a turned shaft or boss is machined smaller than its maximum OD limit (see our ISO 286 Shaft Tolerance Calculator), it gains assembly clearance inside the mating female bore, earning bonus tolerance equal to:
Bonus_Pin = max(0, D_MMC - D_actual)
| Measured Hole Ø (D_act) | MMC Limit (D_MMC) | Departure from MMC (Bonus) | Stated FCF Tolerance | Total Allowed TP Zone | Max Radial Offset (R_max) | Virtual Condition (VC) |
|---|---|---|---|---|---|---|
| 10.00 mm (At MMC) | 10.00 mm | +0.00 mm | Ø 0.15 mm | Ø 0.15 mm | 0.075 mm | 9.85 mm Pin |
| 10.05 mm | 10.00 mm | +0.05 mm | Ø 0.15 mm | Ø 0.20 mm | 0.100 mm | 9.85 mm Pin |
| 10.10 mm (Mid-Spec) | 10.00 mm | +0.10 mm | Ø 0.15 mm | Ø 0.25 mm | 0.125 mm | 9.85 mm Pin |
| 10.15 mm | 10.00 mm | +0.15 mm | Ø 0.15 mm | Ø 0.30 mm | 0.150 mm | 9.85 mm Pin |
| 10.20 mm (At LMC) | 10.00 mm | +0.20 mm | Ø 0.15 mm | Ø 0.35 mm | 0.175 mm | 9.85 mm Pin |
What Is Virtual Condition (VC) and How Do You Design Functional GO Receiver Gages?
To understand why MMC bonus tolerance never compromises assembly, quality engineers compute the feature's Virtual Condition (VC)—the worst-case constant boundary generated by the collective effect of a feature's MMC size limit and its stated geometric tolerance at MMC. For an internal clearance hole, the Virtual Condition is the smallest possible hole minus the stated positional tolerance:
VC_internal_hole = D_MMC - T_stated_FCF
For an external pin or stud, the Virtual Condition is the largest possible pin plus the stated positional tolerance:
VC_external_pin = D_MMC + T_stated_FCF
Notice in Table 2 above that for a Ø 10.00 +0.20 / -0.00 mm hole with a True Position callout of Ø 0.15 mm at MMC, the Virtual Condition is a constant 10.00 - 0.15 = 9.85 mm across every row! This means a toolmaker can machine a hard functional GO receiver gage featuring fixed Ø 9.85 mm pins located at the exact basic coordinates (verified with our Sine Bar and Pin Gage Converter): any production part whose holes slip over the 9.85 mm functional gage pins is mathematically guaranteed to meet both the size and MMC positional requirements simultaneously.
When Do Engineers Specify Least Material Condition (LMC Ⓛ) or Regardless of Feature Size (RFS)?
If a Feature Control Frame contains no material condition symbol after the positional tolerance value, ASME Y14.5 Rule #2 mandates that RFS (Regardless of Feature Size) applies automatically. Under RFS, the allowable positional tolerance remains fixed at the stated FCF value regardless of whether the hole is machined at its minimum, nominal, or maximum diameter, and zero bonus tolerance is permitted. RFS is specified when precision concentricity or dynamic balance is critical, such as high-speed turbine bearings and Press-Fit Gear Hubs.
Conversely, the circled Ⓛ (Least Material Condition) modifier is used when preserving minimum wall thickness next to an edge, boss, or cooling channel is more important than bolt clearance. Under LMC, a hole is at its Least Material Condition when it is at its largest allowable diameter (D_LMC = D_max); as the hole is machined smaller than D_max, the surrounding metal wall becomes thicker, granting bonus tolerance equal to Bonus_LMC = D_LMC - D_actual.
How Does True Position Apply to 3D Spherical Zones and Projected Tolerance Zones (Ⓟ)?
When inspecting deep tapped holes (machined via our Blind Hole Tap Depth Calculator or CNC Thread Milling Calculator) that receive studs or cap screws passing through a thick mating flange, angular tilt of the tapped hole axis can cause the protruding bolt shank to interfere with the mating clearance hole even if the tapped hole entrance is dead on center. To prevent angular fastener interference, ASME Y14.5 utilizes the circled Ⓟ (Projected Tolerance Zone) modifier, which projects the cylindrical True Position zone above the datum surface by the maximum thickness of the mating part.
Similarly, for 3D spherical features such as ball-joint sockets inspected on a 5-axis CMM, adding the prefix SØ before the tolerance value defines a spherical tolerance zone governed by three-dimensional Euclidean distance: TP_3D = 2 × √(ΔX² + ΔY² + ΔZ²). During first-hand shop CMM audits on 5-axis aerospace manifolds, our quality team logs all ΔX, ΔY, and feature size measurements using calibrated Mitutoyo dial bore gages and Three-Wire Thread Gages to ensure Cpk > 1.67 capability.
How Do Composite vs Multiple Single-Segment Position Callouts Control Pattern Orientation?
Advanced CNC castings and structural airframe bulkheads frequently stack two positional feature control frames vertically. A Composite Position Tolerance features a single Position symbol spanning two horizontal rows: the upper segment (the Pattern-Locating Tolerance Zone Framework, or PLTZF) locates the entire bolt pattern relative to external datum edges A | B | C with a loose tolerance (such as ⌀ 0.030" Ⓜ), while the lower segment (the Feature-Relating Tolerance Zone Framework, or FRTZF) controls hole-to-hole spacing and perpendicularity with a tight tolerance (such as ⌀ 0.005" Ⓜ | A).
Crucially, in a composite position callout, repeating primary Datum A in the lower FRTZF segment constrains only the angular orientation (perpendicularity) of the pattern tolerance cylinders to Datum A, while leaving the lower pattern free to translate and rotate relative to Datums B and C. This allows a 6-hole flange pattern to shift slightly as a unified group on the casting while guaranteeing that all 6 bolts drop effortlessly through the mating pump cover.
By contrast, when a drawing displays two completely separate position symbols stacked one above the other—known as a Multiple Single-Segment Position Callout—and repeats A | B in the lower frame, the lower frame locks both rotational orientation and translational parallel offset to Datum B. Understanding whether the lower frame is rotationally free (composite) or locked to secondary datums (multiple single-segment) prevents costly false rejections on the CMM inspection floor.
How Do Simultaneous Requirements & Datum Mobility (MMB Shift) Affect CMM Inspection?
Under ASME Y14.5-2018 Rule #1 and Section 4.19, all positional patterns referenced to the exact same datum reference frame in the same order of precedence and with the same material condition modifiers are evaluated as a Simultaneous Requirement. If a gearbox housing has a 4-hole bearing cap pattern and a 2-hole dowel pin pattern both referenced to A | B(M) | C(M), the CMM software must lock both patterns into a single unified coordinate transformation rather than optimizing each pattern independently.
When a secondary or tertiary datum feature of size—such as a central pilot bore or alignment boss—is referenced at Maximum Material Boundary (MMB, circled M), any departure of that datum feature from its MMB boundary unlocks Datum Shift (also called datum mobility). Unlike MMC bonus tolerance, which expands the diameter of an individual hole tolerance zone, datum shift permits the entire pattern of true position zones to translate or rotate as a rigid group relative to the datum axis.
However, machinists must never add datum shift directly to an individual hole radial bonus tolerance on a simple pocket calculator unless all features in the simultaneous group shift in the exact same vector direction. When one hole in a bolt circle is off-location in the +X direction and the opposite hole is off-location in the -X direction, shifting the datum frame toward one hole pushes the opposite hole twice as far out of tolerance.
To maximize CNC machining yield on tight positional callouts, always spot, drill, and interpolate all features referenced to the same datum reference frame in a single clamping setup without unclamping the hydraulic vise. Using an in-spindle touch probe to establish the work offset directly on the physical Datum B bore immediately prior to finish boring eliminates fixture stack-up error and preserves 100% of your MMC bonus tolerance for tool wear compensation.
How Do You Inspect True Position Without a CMM Using Open Surface Plate Metrology?
In job shops without a coordinate measuring machine, machinists verify true position on a Grade AA granite surface plate by clamping the primary datum surface (Datum A) against a precision ground cast-iron angle plate and aligning the secondary datum edge (Datum B) parallel to the granite surface using a tenths test indicator. Next, insert snug-fitting Class ZZ minus-tolerance gage pins into each inspected bore so the pin shanks project cleanly for height gauge probing.
Using a digital height gauge equipped with a ruby ball probe or lever indicator, zero the readout on the tertiary datum plane (Datum C), measure the top crest of each gage pin, and subtract half the calibrated pin diameter to determine the exact actual coordinate center Y_actual. Rotate the angle plate 90 degrees onto its precision adjacent face and repeat the measurement to capture X_actual, then plug the resulting ΔX and ΔY deviations into the true position equation.
When inspecting threaded holes on a surface plate or optical comparator, never measure the minor tap drill diameter to determine positional accuracy—a tap can walk slightly or cut non-concentrically relative to the pre-drilled hole. Instead, thread a precision tapered pitch-diameter locating plug (or split-ball thread locator) into the tapped threads so your indicator probes a cylindrical ground journal that is guaranteed concentric with the true thread pitch cylinder.
When inspecting coaxial cylindrical features—such as stepped bearing journals, pump rotors, or counterbored valve seats—ASME Y14.5-2018 recommends replacing legacy Concentricity callouts with coaxial True Position at MMC (Ⓜ). Whereas Concentricity requires probing hundreds of diametral median points at RFS regardless of functional clearance, coaxial True Position allows you to establish Datum A-B along the primary bearing journals and verify the stepped diameter using a functional receiver sleeve or simple radial runout indicator while claiming full MMC bonus tolerance.
Always document on your CNC inspection report whether your coordinate measurements were captured in Cartesian (X, Y) or Polar (R, θ) coordinates. For circular bolt patterns where holes are dimensioned by a basic Pitch Circle Diameter (PCD) and basic angular increments, radial error toward or away from the bolt circle center and tangential arc error along the circumference combine orthogonally via the exact law of cosines: TP = 2 × √(R_nom² + R_act² - 2 × R_nom × R_act × cos(Δθ)).
Frequently Asked Questions About GD&T True Position and MMC Bonus
If my hole diameter is out of size tolerance (oversized), can I still use the extra size as MMC bonus tolerance?
No. Under ASME Y14.5 Rule #1 (Envelope Principle), size limits and geometric tolerances are evaluated independently: if a hole measures larger than its maximum LMC size limit, the part fails size inspection and must be dispositioned by engineering, even if the hole position is perfect.
How do I convert my CMM's True Position error back into CNC X and Y work offset adjustments?
Never adjust your CNC G54 work offset by the diametral True Position value! Always adjust your CNC X-axis offset by -ΔX (Basic minus Actual) and your Y-axis offset by -ΔY, which represent the actual linear shifts of the spindle centerline.
Does datum shift add directly to MMC bonus tolerance in a True Position calculator?
When secondary or tertiary datum features of size are referenced with an Ⓜ️ modifier in the Feature Control Frame, departure of the datum feature from its MMC boundary permits a rigid-body "datum shift" of the entire hole pattern as a group, but it does not increase the hole-to-hole positional tolerance between individual holes inside the pattern.