True Position and MMC Bonus Calculator
True Position and MMC Bonus Calculator
True position from an X and Y deviation — doubled, because a position tolerance is a diameter — with the MMC or LMC bonus the feature’s size earns, the total allowed, the virtual condition a functional gauge is made to, and a pass or fail verdict.
True position and MMC bonus
A Ø10.000/10.200 hole with a Ø0.200 Ⓜ position tolerance, measured 0.062 mm off in X and 0.089 mm off in Y, at an actual size of Ø10.048
A diameter, a departure and a boundary
- Δx, Δy
- measured position minus the basic dimensions, in the two directions of the datum frame
- 2
- because the position tolerance is a DIAMETER and the measured deviation is a radius. Leaving it out makes every part look twice as good as it is, and it is the most common error on an inspection report
- MMC
- maximum material condition — the smallest hole or the largest pin, the state in which the feature leaves least room for whatever mates with it
- bonus
- the departure from the invoked material condition, added to the position tolerance. Never negative: a feature at MMC earns nothing, and a feature outside its size limits is rejected on size rather than earning a penalty
- virtual condition
- the constant boundary the feature must stay clear of, and therefore the size a functional gauge is made to. It exists only for an Ⓜ callout
Worked example
A Ø10.000/10.200 hole with a Ø0.200 Ⓜ position tolerance, measured 0.062 mm off in X and 0.089 mm off in Y, at an actual size of Ø10.048
The measured error is a distance: √(0.062² + 0.089²) = √(0.003844 + 0.007921) = 0.1085 mm. That is a RADIUS — the distance from where the axis should be to where it is
The feature control frame's number is a DIAMETER, so double it: true position = 2 × 0.1085 = 0.2169 mm. This is the step everyone misses, and it fails in the unsafe direction — reporting the radius makes every part look twice as good as it is
Now the bonus. The hole is internal, so its maximum material condition is the SMALLEST size, Ø10.000. It came out at Ø10.048, so it has departed from MMC by 0.048 mm and that departure is added to the position tolerance
Total allowed = 0.200 + 0.048 = 0.248 mm. The measured 0.2169 is inside it, so the feature passes, using 87.5% of the allowance. Had the hole come out at its MMC of Ø10.000 there would have been no bonus at all and the same part would have failed at 0.217 against 0.200
The bonus is geometry rather than generosity, and the virtual condition is the proof. It is MMC minus the stated tolerance = 10.000 − 0.200 = Ø9.800 mm, and a gauge pin of that diameter held at the true position enters this hole at every allowed combination of size and displacement — with exactly zero margin at each one, which we check at a hundred sizes. A bolt that fits through a Ø9.800 boundary fits through every conforming hole
The mirror case, from a published example: a Ø10.0 ±0.1 PIN with Ø0.05 of perpendicularity at Ⓜ has its MMC at the LARGEST size, 10.1, and its virtual condition is 10.1 + 0.05 = Ø10.15 — the size of the gauge hole it must enter
Change the modifier and watch the answer move. At Ⓛ the bonus comes from departure towards the LARGEST hole, so this Ø10.048 feature earns only 0.152 mm and the total is 0.352. At RFS there is no bonus at all and the allowance is 0.200 flat, so this part fails. Same part, same measurement, three verdicts — which is why the modifier is not decoration
One more comparison worth having. The largest SQUARE zone that fits inside a Ø0.200 circle is ±0.0707 mm on each of X and Y, and it throws away 36.3% of the circle's area. Every part in that discarded crescent assembles perfectly and a coordinate-toleranced drawing rejects it. That is the argument for position tolerancing in one number
Why the factor of two, and what happens without it
| Quantity | This example | What it means |
|---|---|---|
| Measured Δx, Δy | 0.062, 0.089 mm | Where the axis actually is, relative to where the basic dimensions put it |
| Radial deviation √(Δx² + Δy²) | 0.1085 mm | The distance from the true position to the actual axis. This is a RADIUS, and it is the number people report |
| True position 2·√(Δx² + Δy²) | 0.2169 mm | The DIAMETER of the smallest cylindrical zone that contains the axis. This is what the feature control frame’s number is, so this is what has to be compared with it |
| Stated tolerance | Ø0.200 mm | A cylinder 0.2 mm across, centred on the true position and running the length of the feature |
| Total allowed with bonus | 0.2480 mm | 0.200 plus the 0.048 the hole earned by being 0.048 larger than its maximum material condition |
| Verdict | passes, using 87.5% of the allowance | 0.217 inside 0.248 |
| The same part judged on the radius | 0.1085 against 0.248 | Would appear to use only 43.7% of the allowance. A part at exactly twice the allowed position error would be reported as exactly passing, and the error would be invisible on the inspection report |
| A square coordinate zone instead | ±0.0707 mm on each of X and Y | The largest square that fits inside a Ø0.200 circle. It rejects the 36.3% of the circle’s area that lies outside it — which is why coordinate tolerancing on a bolt hole throws away good parts, and why position tolerancing exists |
A Ø10.000/10.200 hole with a Ø0.200 position tolerance — what each callout allows at each actual size
| Actual size (mm) | Bonus at Ⓜ | Total at Ⓜ | Bonus at Ⓛ | Total at Ⓛ | Total at RFS | Does the 0.217 measured position pass at Ⓜ? |
|---|---|---|---|---|---|---|
| 10.000 | 0.000 | 0.200 | 0.200 | 0.400 | 0.200 | FAIL |
| 10.020 | 0.020 | 0.220 | 0.180 | 0.380 | 0.200 | pass |
| 10.040 | 0.040 | 0.240 | 0.160 | 0.360 | 0.200 | pass |
| 10.060 | 0.060 | 0.260 | 0.140 | 0.340 | 0.200 | pass |
| 10.080 | 0.080 | 0.280 | 0.120 | 0.320 | 0.200 | pass |
| 10.100 | 0.100 | 0.300 | 0.100 | 0.300 | 0.200 | pass |
| 10.120 | 0.120 | 0.320 | 0.080 | 0.280 | 0.200 | pass |
| 10.140 | 0.140 | 0.340 | 0.060 | 0.260 | 0.200 | pass |
| 10.160 | 0.160 | 0.360 | 0.040 | 0.240 | 0.200 | pass |
| 10.180 | 0.180 | 0.380 | 0.020 | 0.220 | 0.200 | pass |
| 10.200 | 0.200 | 0.400 | 0.000 | 0.200 | 0.200 | pass |
The functional gauge this callout implies
| Gauge feature | Size | Why |
|---|---|---|
| Gauge pin diameter, for the Ⓜ callout on this hole | 9.8000 mm | The virtual condition: MMC minus the stated position tolerance. A pin of this size, held at the true position, enters the hole whatever its actual size or displacement — provided both are within tolerance. The margin is exactly zero at every allowed size, which is what makes this the right number and not a conservative one |
| Gauge hole diameter, for an external feature | MMC + tolerance | The mirror case. A Ø10.0 ±0.1 pin with Ø0.05 of perpendicularity at Ⓜ gauges in a Ø10.15 hole — the published example this page reproduces exactly |
| Is a functional gauge possible at Ⓛ? | Not as a simple pin | The Ⓛ boundary grows as the feature gets smaller, so there is no single constant boundary a fixed gauge can embody. Ⓛ is a measurement, not a gauge |
| Is a functional gauge possible at RFS? | No | With no modifier the tolerance zone is centred on the feature’s own actual axis, which a fixed gauge cannot find. RFS is always a measurement |
| What the gauge does NOT check | Size | A functional gauge checks position and form together against one boundary and says nothing about size. The feature still needs its own size inspection — which is what the go / no-go gauge tolerance calculator sizes |
ASME Y14.5 against ISO 1101 / 2692 — where they agree and where they do not
| Question | ASME Y14.5 | ISO GPS |
|---|---|---|
| What the modifier is called | Maximum material condition (MMC), least material condition (LMC), regardless of feature size (RFS) | Maximum material requirement (MMR) and least material requirement (LMR), in ISO 2692. RFS is simply the absence of a modifier |
| Does a size tolerance control form by default? | Yes. Rule #1, the envelope requirement: the size limits of a regular feature of size control its form, so a Ø10 ±0.04 pin must fit inside a perfect Ø10.04 cylinder and its straightness is thereby controlled to 0.08 | No. Under the principle of independency, ISO 8015, every specification is met independently unless the drawing says otherwise. To get the envelope requirement you must ask for it, with the circled E of ISO 14405-1 |
| So what does a plain diameter tolerance mean? | Both a size limit and a form limit, together | A size limit only — at every cross-section. A bent bar can be in tolerance everywhere and still not enter its hole |
| Is the position arithmetic the same? | 2·√(Δx² + Δy²) against the stated diameter, plus bonus | Identical. The geometry does not care which standard is on the title block, and this page’s numbers are right under both |
| What about a reciprocity requirement? | Not a separate concept in Y14.5 | ISO 2692 adds RPR, the reciprocity requirement, which lets the size tolerance be increased in exchange for using less of the geometrical one — the bonus running backwards. There is no ASME equivalent |
A diameter and not a radius, and a bonus that is exactly the extra room
Lead with the factor of two, because it is the error that matters. A position tolerance is the DIAMETER of a cylindrical zone, and a measured deviation in X and Y gives a RADIUS. So the true position is 2·√(Δx² + Δy²), not √(Δx² + Δy²). Leaving the two out halves every answer, which means it never produces a suspicious failure — it produces silent acceptance of parts that are twice as far out as the drawing allows. A CMM reporting a radial deviation is not wrong; it is reporting a different quantity, and the conversion is the multiplication.
The bonus tolerance is geometry, not generosity. When a feature control frame carries Ⓜ, the departure of the feature’s actual mating envelope from its maximum material condition is added to the position tolerance. A Ø10.000/10.200 hole with a Ø0.200 Ⓜ tolerance, measured at Ø10.048, earns 0.048 mm of bonus and is allowed 0.248. The reason this is exact rather than approximate is the virtual condition: MMC minus the stated tolerance, Ø9.800 here, is a constant boundary the feature must stay clear of, and a gauge pin of that diameter enters the hole at every allowed combination of size and displacement with exactly zero margin. We check that at a hundred sizes on this page. The extra tolerance is precisely the extra room — no more and no less.
Which modifier, and why it is a design decision. Use Ⓜ where the feature exists to let something through: a bolt hole, a clearance hole, a dowel pattern. Making it bigger genuinely gives the assembly more room, so paying for that is honest. Use Ⓛ where the thing being protected is material rather than clearance — a minimum wall, an edge distance, a thread engagement — because Ⓛ pays you for making a hole smaller. Use RFS, no modifier, where the feature’s own axis is what matters: a bearing seat, a seal bore, a gear-mounting diameter. And note the gauging consequence: only Ⓜ has a fixed boundary, so only Ⓜ can be checked with a functional gauge. Ⓛ and RFS are always measurements.
ASME and ISO agree on this arithmetic and disagree about something else. 2·√(Δx² + Δy²) and the bonus rule are the same under ASME Y14.5 and under ISO 1101 with ISO 2692, which calls the modifiers MMR and LMR. Where the two families part company is Rule #1: ASME’s envelope requirement makes a size tolerance control form by default, so a Ø10 ±0.04 pin must fit inside a perfect Ø10.04 cylinder. ISO’s principle of independency does not — every specification is met independently unless the drawing says otherwise, and the envelope requirement has to be asked for with the circled E of ISO 14405-1. The practical consequence is that a bar within its diameter tolerance at every cross-section can be bowed too much to enter its hole on an ISO drawing and cannot on an ASME one. ISO also has a reciprocity requirement, RPR, which runs the bonus backwards and has no ASME equivalent.
And the reason position tolerancing exists at all. The largest square zone that fits inside a Ø0.2 circle is ±0.0707 mm on each axis, and it discards 36 per cent of the circle’s area — equivalently, the round zone has 57 per cent more area than the square one. Every part in that discarded crescent assembles perfectly and a coordinate-toleranced drawing rejects it. That is the whole argument in one number, and it is why a bolt-hole pattern should never be toleranced with ± dimensions. The chain from here runs to the tolerance stack-up calculator, which adds positions up across an assembly, and to the go / no-go gauge tolerance calculator, which sizes the gauges that check the sizes this page’s bonus depends on.
Frequently asked questions
How do I calculate true position from X and Y?
True position = 2·√(Δx² + Δy²), where Δx and Δy are measured minus nominal. The factor of two is the whole difficulty: a position tolerance is the DIAMETER of a cylindrical zone and your measurement gives the RADIUS. A hole 0.062 off in X and 0.089 off in Y is 0.1085 mm from where it should be and its true position is 0.2169 mm. Compare the 0.2169 with the number in the feature control frame, never the 0.1085.
What is bonus tolerance and how much do I get?
It is the departure of the feature’s actual mating envelope from the material condition the frame invokes, added to the position tolerance. At Ⓜ on a hole that is actual size minus the smallest allowed size, so a Ø10.000/10.200 hole measured at 10.048 earns 0.048 mm and a Ø0.200 callout becomes 0.248. The maximum possible bonus is the whole size tolerance, 0.200 here — so an Ⓜ callout on a generously toleranced hole can double or triple the position tolerance, which is often most of the reason the drawing uses it.
What is the virtual condition and what is it for?
It is the constant boundary the feature must stay clear of, and therefore the size a functional gauge is made to: MMC minus the position tolerance for an internal feature, MMC plus it for an external one. For the hole here that is 10.000 − 0.200 = Ø9.800. Its meaning is physical: a pin of that diameter, held at the true position, passes through the hole at every allowed combination of size and displacement, with exactly zero margin at each — which is what makes the bonus rule exact rather than conservative.
When should I use MMC rather than RFS?
Use Ⓜ when the feature exists to let something through and making it bigger genuinely helps — clearance holes, bolt patterns, dowel holes. Use RFS when the feature’s own axis is what matters and making it bigger makes the part worse — a bearing seat, a seal bore, a gear-mounting diameter, a spigot that centres something. The gauging consequence is worth knowing too: only an Ⓜ callout has a fixed boundary, so only Ⓜ can be checked with a go/no-go functional gauge. RFS and Ⓛ are always measurements.
Do ASME Y14.5 and ISO give different answers?
Not for this arithmetic. The position calculation and the bonus rule are the same, and ISO simply calls the modifiers MMR and LMR in ISO 2692. The difference that bites is elsewhere: ASME’s Rule #1 makes a size tolerance control form by default — the envelope requirement — while ISO’s principle of independency does not, so on an ISO drawing the envelope requirement must be asked for with the circled E. A long feature within its diameter tolerance at every cross-section can therefore be too bowed to assemble on an ISO drawing and cannot be on an ASME one. ISO also has a reciprocity requirement, RPR, with no ASME equivalent.
Why is a round tolerance zone better than ±X and ±Y?
Because it matches the function and the square one does not. What the assembly cares about is the DISTANCE from the true position, which is a circle; a pair of ± dimensions draws a square, and the largest square inside a Ø0.2 circle is ±0.0707 on each axis. That square discards 36 per cent of the circle’s area — equivalently the circle has 57 per cent more area — and every part in the discarded crescent assembles perfectly. Coordinate tolerancing a bolt pattern therefore rejects good parts and, at the corners, accepts parts further out than the diagonal allowance intended.
Can a feature outside its size limits still earn bonus?
No. The size tolerance has to be met on its own, and the bonus is only ever the departure WITHIN the size limits. A hole larger than its least material condition earns no further bonus — the bonus stops at the limit — and a hole smaller than its maximum material condition is simply rejected on size. This page reports when the size you entered is outside the limits, and caps the bonus at the size tolerance.
Related calculators
References
- ASME Y14.5-2018, Dimensioning and Tolerancing. Cited by number and clause; copyrighted and not reproduced. What this page takes from it is geometry, not tables: that a position tolerance is a cylindrical zone specified by its DIAMETER, that the bonus tolerance is the departure of the actual mating envelope from the material condition invoked, that the virtual condition is the constant boundary a functional gauge is made to, and Rule #1 — the envelope requirement — which makes the size limits of a feature control its form by default.
- ISO 1101:2017, Geometrical product specifications (GPS) — Geometrical tolerancing — Tolerances of form, orientation, location and run-out, and ISO 2692:2021, … Maximum material requirement (MMR), least material requirement (LMR) and reciprocity requirement (RPR). The ISO side of the same geometry. ISO calls the modifiers MMR and LMR rather than MMC and LMC, and its DEFAULT is the opposite of ASME’s: under the principle of independency (ISO 8015) a size tolerance and a form tolerance are independent unless the drawing says otherwise, so the envelope requirement has to be invoked explicitly with the circled E of ISO 14405-1. The position arithmetic on this page is the same under both.
- MetricMech. True position tolerance GD&T formula calculation, citing ASME Y14.5-2018. Its worked example is reproduced here to six figures: a hole nominally at (50, 30) measured at (50.062, 30.089) gives a true position of 2·√(0.062² + 0.089²) = 0.217 mm; measured at Ø10.048 against a Ø10.000 MMC it earns 0.048 mm of bonus, so a Ø0.200 M callout allows 0.248 and the feature passes.
- GD&T Basics, Maximum material condition (MMC), and Basics to Mechanical Engineering, Virtual condition and resultant condition — holes and pins. The published statements of the two boundary formulas this page computes: a hole’s virtual condition is MMC minus the geometric tolerance and a pin’s is MMC plus it, while the resultant condition is the actual mating envelope displaced by the total tolerance the other way. Their worked pin — 10.0 ± 0.1 with 0.05 of perpendicularity at MMC, gauging at 10.15 — is reproduced here exactly.
- GD&T Basics. A comparison of GD&T standards: ISO GPS vs ASME Y14.5. The source for the independency / envelope fork as stated here: under ISO “each dimensional or geometric tolerance on a drawing is met independently, unless a relationship is specified on the drawing”, while ASME’s envelope principle “indicates that the size tolerance limits of a part control the maximum variation of the form of a part”. Its worked illustration is a bushing whose ±0.04 diameter tolerance controls cylindricity to 0.08 under ASME and controls nothing under ISO.
