Calculate GD&T true position deviation using the standard formula TP = 2√(ΔX² + ΔY²). Includes bonus tolerance for MMC and LMC material conditions. Instant pass/fail result for holes, pins, and features.
Free Tool · GD&T True Position · MMC / LMC Bonus · Inch & Metric · Pass/Fail
Units
Measured Deviation from True Position
in
Measured X − Nominal X
in
Measured Y − Nominal Y
Drawing Tolerance (GD&T Callout)
⌀in
The tolerance zone diameter from the GD&T callout on the drawing (the number inside the feature control frame after ⌀).
Material Condition Modifier
Feature Size (for Bonus Tolerance)
⌀in
⌀in
MMC for a hole = smallest allowable hole diameter. Bonus tolerance = |Actual − MMC|.
Results
READY
Enter deviation values and click Calculate to see pass/fail result.
True Position (TP)
—
2√(ΔX² + ΔY²)
Total Tolerance Zone ⌀
—
Drawing tol + bonus
Bonus Tolerance
—
MMC / LMC condition
Remaining Margin
—
Total tol − TP
ReadyEnter your X and Y deviations, tolerance, and material condition then click Calculate.
Detailed Summary
True Position Calculation
X deviation (ΔX)
—
Y deviation (ΔY)
—
Resultant deviation: √(ΔX²+ΔY²)
—
True position TP = 2 × deviation
—
Tolerance
Drawing tolerance (⌀)
—
Material condition modifier
—
Bonus tolerance
—
Total tolerance zone (⌀)
—
Result
Pass/Fail
—
Remaining margin (+ = pass)
—
TP as % of total tolerance
—
True Position Tolerance Zone Diagram
Drawing tolerance zone
Total zone incl. bonus
Measured feature position
The red dot must fall inside the tolerance zone circle for a PASS. A larger tolerance zone (via bonus tolerance) increases the chance of passing. Diagram is scaled proportionally to your inputs.
How CNC True Position Is Calculated
True position is the most widely used GD&T (Geometric Dimensioning & Tolerancing) control in machining. It defines a cylindrical tolerance zone — not a square zone — around the theoretically exact position of a hole, pin, or feature. The formula converts X and Y deviations measured on a CMM (coordinate measuring machine) into a single diameter value that can be directly compared against the drawing callout.
1 The Core Formula
True position is calculated from the measured deviation in X and Y directions. The result is a diameter (not a radius), which is why you multiply by 2. This is the value that must be within the tolerance on the print.
The GD&T callout specifies a cylindrical diameter tolerance zone centered at the true position. If your calculated TP value is less than or equal to this diameter, the feature passes. If greater, it fails — regardless of whether it looks "close enough."
Feature control frame (example):
| ⌖ | ⌀0.010 | ⓜ | A | B | C |
⌖ = position symbol
⌀0.010 = tolerance zone diameter
ⓜ = maximum material condition (MMC)
A, B, C = datum references
PASS: TP ≤ tolerance zone diameter
FAIL: TP > tolerance zone diameter
3 MMC Bonus Tolerance
When the drawing callout includes the MMC modifier (ⓜ), you earn bonus tolerance equal to the departure from MMC. For a hole, MMC = smallest diameter. As the hole gets larger, you gain more position tolerance. This is a powerful benefit that many shops overlook.
Bonus Tolerance (Holes at MMC):
Bonus = Actual Size − MMC Size
Example:
MMC (min hole) = 0.498"
Actual measured = 0.502"
Bonus = 0.502 − 0.498 = 0.004"
Total tolerance zone:
= Drawing tol + Bonus
= 0.010" + 0.004" = 0.014"
Feature now PASSES if TP ≤ 0.014"
4 LMC & RFS
LMC (Least Material Condition) works opposite to MMC — for a hole, LMC = largest allowable diameter. Bonus = |Actual − LMC|. RFS (Regardless of Feature Size) means no bonus is applied — the stated tolerance applies at any feature size. RFS is the default when no modifier appears.
LMC Bonus (Holes):
LMC = largest allowable hole size
Bonus = LMC − Actual Size
RFS (no modifier symbol):
Bonus = 0 always
Total tolerance = drawing tolerance
RFS is implied when no ⓜ or ⓛ
symbol appears in the feature
control frame (ASME Y14.5-2018).
Why Shops Miss Bonus Tolerance — and Leave Money on the Table
Most machine shops apply the raw drawing tolerance without checking if an MMC or LMC modifier is on the print. A hole measured at 0.503" on a ±0.003" hole with an MMC of 0.500" earns 0.003" of free bonus tolerance. A part that appears to fail strict position may actually pass when bonus is applied — saving the cost of rework or scrap. Always check the feature control frame for the ⓜ modifier before rejecting a part.
Worked Examples — 3 Real Machining Scenarios
✅ Bolt Hole Pattern — RFS
ΔX = 0.002" ΔY = 0.003"
Tol zone: ⌀ 0.010" RFS
Material condition: RFS (no bonus)
Feature size: N/A
TP = 0.0072" Total tol = 0.010" Result: ✓ PASS
TP 0.0072" is within the 0.010" zone. 28% margin remaining. No bonus because RFS — stated tolerance applies regardless of hole size.
✅ Engine Block Bore — MMC
ΔX = 0.004" ΔY = 0.005"
Tol zone: ⌀ 0.008" MMC
Actual hole: 1.503"
MMC hole: 1.500"
Bonus = 0.003"
TP = 0.0128" Total tol = 0.011" Result: ✗ FAIL
Even with 0.003" bonus, total zone is 0.011" — TP of 0.0128" exceeds it. Hole location needs correction. Re-machine or check fixture setup.
Note: For external features (pins/bosses), MMC = largest size. Bonus tolerance = MMC − Actual. Part just fails — check if datum structure allows re-evaluation.
Quick Reference — MMC vs LMC vs RFS
Condition
Symbol
MMC for Hole
MMC for Pin/Boss
Bonus Formula
When to Use
RFS
(none)
N/A
N/A
Bonus = 0
Precision fits, press fits, alignment critical features
True position controls the location of a feature (hole, slot, surface) relative to a datum reference frame. It uses the measured X/Y/Z coordinates of the feature. Concentricity (now largely replaced by "Coaxiality" in ASME Y14.5-2018) controls the alignment of the median points of a cylindrical or conical feature to a datum axis. The key difference: true position uses the surface of the feature for measurement, while concentricity/coaxiality uses the derived median points — making concentricity much harder and more expensive to measure on a CMM. Most drawing callouts that used to specify concentricity should now use true position or runout instead.
The tolerance zone in GD&T true position is defined as a diameter — not a radius. The term √(ΔX² + ΔY²) gives you the radial distance from the nominal position to the measured position (the radius of the deviation). To express this as a diameter so it can be directly compared to the diameter tolerance zone on the drawing, you multiply by 2. This is why a feature that deviates 0.005" from nominal in radius has a true position of 0.010" — and would fail a 0.008" diameter tolerance but pass a 0.012" tolerance.
Yes. When a cylindrical tolerance zone is applied to a hole axis (3D position), the formula extends to TP = 2√(ΔX² + ΔY² + ΔZ²). However, for most hole and pin patterns on a flat plate, Z deviation is controlled separately by a depth/perpendicularity callout, and true position is evaluated only in X and Y (the 2D formula used by this calculator). For spherical features or 3D point positions, the spherical tolerance zone uses the same 3D formula. Always check whether your drawing uses cylindrical (⌀) or spherical (S⌀) tolerance zone notation.
Yes — on CMM reports (PC-DMIS, Zeiss Calypso, Renishaw, etc.) the "position" result is the calculated true position value using TP = 2√(ΔX² + ΔY²). The CMM also applies any bonus tolerance from MMC/LMC modifiers automatically if the feature was set up correctly in the measurement plan. The value reported is the diameter of the deviation — directly comparable to the drawing tolerance. If your CMM report shows a "position" of 0.009" against a 0.010" tolerance, you have 0.001" of margin and the feature passes.
A true position of 0.000 means the measured feature center is exactly at the theoretically exact (nominal) position — a perfect result. In practice this rarely happens due to normal machine variation and measurement uncertainty. It's also worth noting that a true position of exactly 0.000 is not necessary or even desirable to aim for in production — as long as the TP value is well within the tolerance zone, the part is good. Chasing absolute zero increases cycle time and tool wear without improving function. The tolerance zone exists precisely because variation within limits is acceptable.