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.

Units
Drawing standard

Drawing callout

Feature type
Material condition modifier
Size entered as

MMC of a hole

LMC of a hole

Diameter of the zone

Inspection result

Number of features
Deviation entered as

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 tolerance0.120 mm
Allowed position Ø0.320 mm
Margin (allowed − actual)0.104 mm
Tolerance used67.6%
MMC size10.000 mm
LMC size10.200 mm
Virtual conditionØ9.800 mm
Resultant conditionØ10.600 mm
Worst-case mating boundary (inner)Ø9.800 mm
Position tolerance zone seen along the feature axisShaded circle: zone allowed at the measured size, diameter 0.320 mm. Dashed circle: stated zone, diameter 0.200 mm. Dot: measured axis at x 0.090, y 0.060 mm, inside the allowed zone.Centre: true positionAllowed Ø0.320
Looking down the axis. Dashed: stated zone. Shaded: zone allowed at this size (stated plus bonus).
Allowed position tolerance against actual sizeShaded area: acceptable combinations of size and position. The allowed tolerance runs from 0.200 mm at 10.000 mm to 0.400 mm at 10.200 mm. The measured feature at size 10.120 and position 0.216 mm is inside it.10.00010.200MMC (smallest hole)0.000.200.40Actual size (mm)Position Ø (mm)
The allowed tolerance grows with the departure from MMC.

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.

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:

Pact=2Δx2+Δy2P_{\text{act}} = 2\sqrt{\Delta x^{2} + \Delta y^{2}}

The factor 2 matters: Δx2+Δy2\sqrt{\Delta x^{2} + \Delta y^{2}} is a radius, and the tolerance is a diameter. For the default case, 20.092+0.062=0.216 mm2\sqrt{0.09^{2} + 0.06^{2}} = 0.216\ \text{mm}. 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:

Tallow=t+∣s−SMMC∣T_{\text{allow}} = t + \lvert s - S_{\text{MMC}} \rvert

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.

ModifierAllowed at Ø10.0Allowed at Ø10.2Virtual conditionTypical use
RFS (none)Ø0.2Ø0.2None; inner boundary Ø9.8Locating 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.

PointASME Y14.5-2018ISO GPS (ISO 1101:2017, ISO 2692:2021)
No modifierRFS by Rule #2Tolerance independent of size (ISO 8015)
Circled MMMC: bonus from the departure from MMCMaximum material requirement: the feature must not cross the MMVS
Toleranced featureAxis of the actual mating envelopeDerived median line of the extracted feature
Size and formRule #1: perfect form at MMCIndependency: form free unless Ⓔ is shown
Worst-case boundaryVirtual conditionMaximum material virtual size (MMVS)
Several holes, one frameOne pattern by default (simultaneous requirement)Separate zones by default; CZ combines them (ISO 5458)
Trading size for positionZero positional tolerance at MMCReciprocity 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

MistakeWhat happensInstead
Comparing the radius with the toleranceA hole 0.15 mm off passes a Ø0.2 check it failsDouble the radial deviation, or halve the tolerance
Treating the zone as a squareGood parts rejected along the axes, bad ones accepted at the corners if ± limits are usedUse the round zone: 2√(dx² + dy²)
Bonus from the wrong limitA pin gets bonus as it grows, which removes clearanceMMC is the smallest hole and the largest pin
Bonus for an oversize holeAn out-of-limit hole looks acceptableReject the size first; no bonus is earned
Ⓜ on a locating featureThe located part can shift by the bonusLeave dowel and bearing positions RFS
Measuring from the wrong set-upTwo inspectors disagree about the same partMeasure 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

StandardNote
ASME Y14.5-2018 (R2024), Dimensioning and TolerancingPosition 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-outThe 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 rulesIndependency principle: size and geometry are separate requirements unless a modifier links them.
ISO 5458:2018, GPS, Pattern and combined geometrical specificationSeparate 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.

ResultValue
Actual position 2√(0.09² + 0.06²)Ø0.216 mm
Bonus at MMC, 10.12 − 10.000.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

DateChange
First published.