True Position Calculator: GD&T Position Tolerance with MMC Bonus
Enter the size limits, the position tolerance and its modifier, then the measured size and axis deviation. The calculator returns the actual position, bonus tolerance, allowed zone, verdict and virtual condition, in mm or inches.
Drawing callout
MMC of a hole
LMC of a hole
Diameter of the zone
Inspection result
Actual mating size of the hole
From true position
From true position
Results
Conforms
Actual position Ø0.216 mm is within the allowed Ø0.320 mm (0.200 stated plus 0.120 bonus at MMC).
| Actual position Ø | 0.216 mm |
|---|---|
| Bonus tolerance | 0.120 mm |
| Allowed position Ø | 0.320 mm |
| Margin (allowed − actual) | 0.104 mm |
| Tolerance used | 67.6% |
| MMC size | 10.000 mm |
| LMC size | 10.200 mm |
| Virtual condition | Ø9.800 mm |
| Resultant condition | Ø10.600 mm |
| Worst-case mating boundary (inner) | Ø9.800 mm |
Reading this on an ASME drawing
ASME Y14.5-2018 applies position to the axis of the actual mating envelope. With no modifier the tolerance applies regardless of feature size (Rule #2). Rule #1 also requires perfect form at MMC for the size, which this position check does not cover. The virtual condition is the size of the fixed pin on a functional gauge.
Fastener helper: floating and fixed
Position tolerance for a bolted pattern from the clearance at MMC. H is the hole MMC size (smallest hole), F the fastener MMC size (largest bolt or stud).
| Floating fastener, clearance holes in both parts: T = H − F | Ø1.000 mm each |
|---|---|
| Fixed fastener, one part tapped or pinned: T = (H − F) / 2 | Ø0.500 mm each |
Both at MMC. The fixed case splits the clearance equally; a tapped hole or pressed stud normally also needs a projected tolerance zone.
Every value below uses the inputs above and updates as you edit them. All lengths are in millimetres.
1. Size limits and material condition
Maximum material condition is the size with the most material: the smallest hole or the largest pin. Least material condition is the opposite limit.
Maximum material condition
Least material condition
2. Actual position
The zone is a cylinder whose diameter is the tolerance, centred on true position. The axis lies at a radial distance √(Δx² + Δy²) from the centre, so the smallest zone that contains it has twice that diameter.
Actual position
3. Bonus, allowed tolerance and verdict
With MMC the zone grows by the departure of the actual size from MMC. A size outside its limits earns no bonus.
Bonus
Allowed position
Verdict
4. Virtual and resultant condition
The virtual condition is the constant boundary that size and position generate together on the modifier side; it is what a mating part or a functional gauge must clear. The resultant condition is the opposite extreme, with the full size range added as bonus.
Virtual condition
Resultant condition
5. Fastener helper
Clearance holes in both parts let each part use the whole clearance; with one part tapped the two parts share it.
Floating fastener
Fixed fastener, equal split
Method
Actual position. The deviation of the feature axis from true position is entered as dx and dy in the datum reference frame. They are worked out from measured and basic coordinates, or from a polar offset r at an angle. Position zones are stated as diameters, so the actual position is twice the radial deviation: 2√(dx² + dy²).
Allowed tolerance. With the MMC modifier the stated tolerance grows by the bonus: the departure of the actual size from maximum material condition (smallest hole, largest pin). With LMC it grows by the departure from least material condition. With no modifier (RFS) there is no bonus. A size outside its limits is rejected and earns no bonus. The feature conforms when its size is within limits and its actual position is no larger than the stated tolerance plus bonus.
Boundaries and helpers. The virtual condition is the constant boundary generated by the size at MMC (or LMC) and the stated tolerance. The resultant condition is the opposite worst case. Pattern mode applies one callout to up to 12 features, each earning its own bonus. The fastener helper gives the floating fastener tolerance T = H − F and the fixed fastener tolerance T = (H − F) / 2.
What is true position?
True position is the exact location of a feature, set by boxed (US: basic) dimensions from a datum reference frame. It has no tolerance of its own. The position tolerance in the feature control frame defines a zone around it, a cylinder for a hole or pin, and the axis of the real feature must lie inside that zone. In GD&T true position is the usual way to locate holes, pins, bosses and slots that mate with something, because the round zone matches how a fastener or pin actually fits.
A plus and minus coordinate tolerance gives a square zone instead. A ±0.1 mm square accepts a hole 0.141 mm off along its diagonal but rejects one 0.11 mm off along an axis, which is closer to where it should be. A Ø0.283 mm circle through the corners of the square accepts every hole the square accepts and 57% more area, all of it functionally good.
True position formula
With dx and dy the deviations of the measured axis from true position, the actual position is the diameter of the smallest zone centred on true position that contains the axis:
The factor 2 matters: is a radius, and the tolerance is a diameter. For the default case, . A coordinate measuring machine report usually prints this value directly, labelled TP or POS.
Bonus tolerance at MMC and LMC
A circled M after the tolerance means the stated value applies when the feature is at maximum material condition, the smallest hole or the largest pin. As the feature departs from MMC it gains clearance, and the zone may grow by the same amount:
A circled L does the same from least material condition, which protects wall thickness or edge distance rather than assembly. With no modifier (RFS) the stated tolerance applies at every size. The table uses the default hole: Ø10.0 to Ø10.2, position Ø0.2.
| Modifier | Allowed at Ø10.0 | Allowed at Ø10.2 | Virtual condition | Typical use |
|---|---|---|---|---|
| RFS (none) | Ø0.2 | Ø0.2 | None; inner boundary Ø9.8 | Locating holes, dowels, bearing bores |
| MMC Ⓜ | Ø0.2 | Ø0.4 | Ø9.8 (MMC − t) | Clearance holes for fasteners |
| LMC Ⓛ | Ø0.4 | Ø0.2 | Ø10.4 (LMC + t) | Minimum wall or edge distance |
ASME Y14.5 vs ISO 1101 and ISO 2692
The bonus arithmetic is the same under both systems for a feature of size. The defaults around it are not, and they change what an inspector measures and when a part is accepted.
| Point | ASME Y14.5-2018 | ISO GPS (ISO 1101:2017, ISO 2692:2021) |
|---|---|---|
| No modifier | RFS by Rule #2 | Tolerance independent of size (ISO 8015) |
| Circled M | MMC: bonus from the departure from MMC | Maximum material requirement: the feature must not cross the MMVS |
| Toleranced feature | Axis of the actual mating envelope | Derived median line of the extracted feature |
| Size and form | Rule #1: perfect form at MMC | Independency: form free unless Ⓔ is shown |
| Worst-case boundary | Virtual condition | Maximum material virtual size (MMVS) |
| Several holes, one frame | One pattern by default (simultaneous requirement) | Separate zones by default; CZ combines them (ISO 5458) |
| Trading size for position | Zero positional tolerance at MMC | Reciprocity requirement Ⓡ (ISO 2692) |
Choose the drawing standard above to change the terms and notes in the results. On a UK drawing the title block normally cites ISO 8015 or BS 8888; a US drawing cites ASME Y14.5-2018. Check which before you read a single frame.
Common mistakes
| Mistake | What happens | Instead |
|---|---|---|
| Comparing the radius with the tolerance | A hole 0.15 mm off passes a Ø0.2 check it fails | Double the radial deviation, or halve the tolerance |
| Treating the zone as a square | Good parts rejected along the axes, bad ones accepted at the corners if ± limits are used | Use the round zone: 2√(dx² + dy²) |
| Bonus from the wrong limit | A pin gets bonus as it grows, which removes clearance | MMC is the smallest hole and the largest pin |
| Bonus for an oversize hole | An out-of-limit hole looks acceptable | Reject the size first; no bonus is earned |
| Ⓜ on a locating feature | The located part can shift by the bonus | Leave dowel and bearing positions RFS |
| Measuring from the wrong set-up | Two inspectors disagree about the same part | Measure dx and dy in the datum reference frame of the frame |
Learn the background
The free GD&T essentials module explains where position fits. Start with why size tolerances are not enough, then datums and datum reference frames, which set up the frame that dx and dy are measured in.
Assumptions
- The axis is checked at one cross-section, as a point. Tilt of the axis along the length is not assessed. For a deep hole, check both ends or use the CMM report of the whole axis.
- One actual size per feature. ASME Y14.5 uses the actual mating envelope. ISO uses the size the drawing specifies, by default the two-point size of ISO 14405-1. The bonus arithmetic assumes perfect form, so a functional gauge can reach a different verdict for a feature with form error.
- Datums are fully established and referenced regardless of material boundary: no datum feature shift is added.
- In pattern mode each feature is judged in its own zone. The simultaneous requirement (ASME) and combined zones (ISO 5458, CZ) that tie the pattern together are not modelled.
- The fixed fastener helper splits the clearance equally between the two parts and ignores the projected tolerance zone that a tapped hole or pressed stud normally needs.
- One length unit throughout. Inputs in inches are converted to mm at the boundary and back for display.
Standards and references
| Standard | Note |
|---|---|
| ASME Y14.5-2018 (R2024), Dimensioning and Tolerancing | Position tolerance, MMC, LMC, Rule #2 (RFS by default), virtual and resultant condition, and the floating and fixed fastener formulas in its nonmandatory appendix on positional tolerancing. |
| ISO 1101:2017, GPS, Geometrical tolerancing, Tolerances of form, orientation, location and run-out | The cylindrical position zone, its indication, and position applied to the derived median line. |
| ISO 2692:2021, GPS, Maximum material requirement (MMR), least material requirement (LMR) and reciprocity requirement (RPR) | Meaning of the circled M and L in ISO drawings, and the maximum and least material virtual sizes (MMVS, LMVS). |
| ISO 8015:2011, GPS, Fundamentals, Concepts, principles and rules | Independency principle: size and geometry are separate requirements unless a modifier links them. |
| ISO 5458:2018, GPS, Pattern and combined geometrical specification | Separate zones by default for a pattern under one ISO frame; CZ and SIM to combine them. |
Worked example: clearance hole Ø10.0 to Ø10.2, position Ø0.2 at MMC
A clearance hole is toleranced Ø10.0 to Ø10.2. It is located with position Ø0.2 at MMC to datums A, B and C. Inspection finds the hole at Ø10.12, 0.09 mm off true position in x and 0.06 mm in y. This is the default case and the worked example of the GD&T essentials module, lesson 4.
| Result | Value |
|---|---|
| Actual position 2√(0.09² + 0.06²) | Ø0.216 mm |
| Bonus at MMC, 10.12 − 10.00 | 0.120 mm |
| Allowed position, MMC | Ø0.320 mm: conforms, margin 0.104 mm, 67.6% used |
| Allowed position, no modifier (RFS) | Ø0.200 mm: rejected by 0.016 mm |
| Allowed position, LMC (bonus 10.20 − 10.12) | Ø0.280 mm: conforms |
| Virtual condition at MMC, 10.0 − 0.2 | Ø9.800 mm (gauge pin size) |
| Resultant condition at MMC, 10.2 + 0.2 + 0.2 | Ø10.600 mm |
Frequently asked questions
What is the true position formula?
Actual position = 2√(dx² + dy²), where dx and dy are the deviations of the feature axis from its true position, measured in the datum reference frame. The factor 2 turns the radial distance into the diameter of the zone, which is how position tolerances are stated.
How is bonus tolerance calculated?
Under MMC the bonus is the actual size minus the MMC size for a hole, or the MMC size minus the actual size for a pin. Under LMC it is the departure from the LMC size. Under RFS there is none. The allowed position is the stated tolerance plus the bonus.
Why does a hole with a good size fail under RFS but pass at MMC?
At MMC a larger hole leaves more clearance around the fastener, so the standard lets the position tolerance grow by the same amount. Without the modifier the stated zone applies at every size. The worked example passes at Ø0.320 with MMC and fails at Ø0.200 without it.
Does ISO treat Ⓜ the same way as ASME?
For the arithmetic on a feature of size, yes: ISO 2692 and ASME Y14.5 give the same bonus and the same virtual size. The defaults around it differ. ISO applies position to the derived median line and keeps size and form independent (ISO 8015). ASME uses the actual mating envelope and Rule #1.
What is the virtual condition used for?
It is the worst-case boundary the mating part must clear. For a hole under MMC it is MMC minus the position tolerance; for a pin, MMC plus the tolerance. It is the size of the fixed pin on a functional gauge and the value to use in a tolerance stack-up.
Can the position tolerance be zero?
Yes, with MMC or LMC. Zero position tolerance at MMC means the whole tolerance comes from the size range as bonus: the virtual condition equals the MMC size. Under RFS a zero tolerance cannot be met in practice.
Changelog
| Date | Change |
|---|---|
| First published. |