Position tolerance with MMC: the bonus tolerance that saves your scrap rate.

GD&T / Production May 11, 2026 11 min read 1,950 words

A CNC machine shop in Coimbatore was scrapping one in eight aluminium brackets for a Bosch supplier. The brackets passed everywhere except hole position. After three lots of rejections, the engineering team finally checked the drawing for the small Ⓜ symbol everyone had been ignoring — and the rejection rate dropped to 1.4% overnight. Same parts, same machines, same operators. Just MMC bonus tolerance applied correctly.

The 12% rejection

The part was an aluminium 6061-T6 mounting bracket, 60 × 40 × 8 mm, with four ⌀5.0 +0.10/-0.00 mounting holes in a rectangular pattern. The drawing called for position ⌖ ⌀0.10 Ⓜ A B C — a 0.10 mm diameter cylindrical tolerance zone at each hole location, with bonus tolerance available at Maximum Material Condition, controlled to datums A, B, and C.

The CNC shop ran 500 parts in the first lot. The CMM team inspected every part. 62 brackets came back stamped REJECT — a 12.4% rejection rate. The supplier, a Tier-2 automotive vendor near Coimbatore, faced ₹1.8 lakh in scrap costs and a delayed shipment to Bosch. Engineering pulled all 62 rejects and re-inspected. Every single one was actually inside the design intent. Zero true failures.

The part

The drawing was straightforward by automotive standards:

SpecValue
Material6061-T6 aluminium
Hole diameter⌀5.0 +0.10 / -0.00 (MMC = 5.00, LMC = 5.10)
Pattern4 holes, 50 × 30 mm rectangle
Position callout⌖ ⌀0.10 Ⓜ A B C
DatumsA = bottom face (primary), B = back edge (secondary), C = side edge (tertiary)

What made the design economical was the Ⓜ modifier. The hole size tolerance was +0.10, which meant the designer had explicitly traded loose size control for tight position assurance — knowing that any hole at MMC (5.00) would still mate with a worst-case M5 bolt because the position zone of 0.10 mm guaranteed assembly. And any hole made larger than MMC would have even more clearance, so the position tolerance could grow proportionally.

What QA did wrong

The CMM operator was new and the inspection program was inherited from a different shop. The program calculated position deviation correctly from the X/Y measurements, but it compared the result against a single fixed tolerance of 0.100 mm — the value typed into the inspection sheet as "tolerance". The Ⓜ modifier on the drawing was not read, not entered into the CMM software, and not applied during the report generation.

The result: every hole produced between 5.05 and 5.10 (the upper half of the size range) was rejected if its position deviated by more than 0.10 mm — even though the design explicitly granted bonus tolerance for being on that side of MMC.

62 brackets were scrapped. ₹1.8 lakh of finished parts and machining time went into the dumpster. None of them had failed the design intent.

The bonus math

MMC bonus is calculated as the absolute difference between the actual feature size and the MMC size:

MMC bonus tolerance
Bonus = |Actual Size − MMC Size|

For a hole with MMC 5.000 mm, every 0.01 mm the hole grows above 5.000 grants 0.01 mm of additional position tolerance. The total allowed position becomes:

Total allowed position
Total = Stated Tolerance + Bonus

And the comparison against the actual measured deviation:

Pass/fail logic
Pass if Position Deviation ≤ Total Allowed

Position deviation itself is calculated from X/Y measurements as 2 × √(ΔX² + ΔY²) — see the position tolerance reference for the derivation and 3D extension.

The worked example: 8 holes from the Bosch lot

Here is what the corrected math looked like on 8 of the 62 originally-rejected brackets:

BracketΔXΔYHole ⌀BonusAllowedPositionOld verdictTrue verdict
B-010.0450.0205.0800.0800.1800.099REJECTPass
B-070.0600.0205.0900.0900.1900.126REJECTPass
B-120.0550.0255.0600.0600.1600.121REJECTPass
B-190.0400.0305.0750.0750.1750.100REJECTPass
B-230.0300.0255.0200.0200.1200.078REJECTPass
B-310.0500.0455.0850.0850.1850.135REJECTPass
B-440.0400.0205.0450.0450.1450.089REJECTPass
B-580.0600.0305.0700.0700.1700.134REJECTPass

Every one of these brackets had a measured position deviation above 0.100 mm — which is why the inspection program flagged them. And every one of them also had a hole produced above MMC, which earned enough bonus to bring the actual allowed tolerance above the measured value. They all passed the design intent. They were all scrapped anyway.

The economic impact

Across the 500-part lot, after applying MMC bonus correctly, the true rejection rate was 1.4% (7 brackets — all with holes near MMC and position deviation above 0.10 mm — true failures). The shop went from 62 scrap parts to 7 over a single inspection program fix.

  • Scrap cost recovered: ₹1.6 lakh per lot
  • Operator time saved on rework / re-runs: 14 hours
  • Bosch delivery delay avoided
  • Annualized at 4 lots/month: ₹76 lakh in recovered scrap per year on this single part number

The QA fix

The fix took two hours, not two weeks. Three changes:

  1. CMM program rewrite. Read the Ⓜ modifier from the drawing. Configure the position-tolerance characteristic in the CMM software (Zeiss CALYPSO, Hexagon PC-DMIS, Mitutoyo MCOSMOS all support this) to enable MMC bonus on every position callout that has the modifier. This is a setup option per characteristic, not a global switch — and it is off by default in most installs.
  2. Inspection report format change. The pass/fail report now shows three columns instead of one: stated tolerance, bonus earned, and total allowed. The QA team can audit at a glance whether bonus was applied or not.
  3. Drawing-to-inspection handover protocol. Every new part number gets a 5-minute review between design engineering and QA before the first CMM program is written. The review answers two questions: which characteristics have material-condition modifiers, and what is the design intent behind each one (assembly fit vs. absolute location vs. wall-thickness control).

The 4 mistakes that miss bonus on every job

Across hundreds of CNC shops doing Tier-2 work for automotive and aerospace OEMs, the bonus-missed pattern shows up the same way:

  1. The Ⓜ modifier is unread. The CMM operator types the position tolerance value into the inspection sheet but does not check the drawing for the material-condition modifier. Default is RFS (no bonus), even when the drawing says MMC.
  2. The inspection report shows one number, not three. Reports list "position deviation 0.135" with no field for bonus or total allowed. Auditors and engineers can't tell if bonus was correctly applied.
  3. The CMM macro is inherited from a different part. When QA copies a working inspection program from one part number to another, the MMC configuration usually doesn't carry over correctly — different parts have different bonus rules, and macros need to be re-bound per characteristic.
  4. Design intent isn't communicated. The designer applied MMC for assembly-fit reasons, but the design rationale never reached the QA team. Without the rationale, the QA team conservatively treats every position as RFS to avoid letting a "bad" part through.

CMM software setup checklist

For each of the three major CMM platforms, the MMC bonus setting lives in a different place. A 60-second check during program creation catches the issue before parts get scrapped:

PlatformWhere to enable MMC bonus
Zeiss CALYPSOCharacteristic dialog → Tolerance Class → Material Condition → set to "MMC" (default is RFS). Re-run inspection.
Hexagon PC-DMISPosition-tolerance feature → Edit → Material Condition modifier → set to "M" (default is "S" = RFS). Re-execute.
Mitutoyo MCOSMOS / MeasurLinkElement properties → Position evaluation → Material Condition → toggle MMC. Confirm bonus column appears in output.
Renishaw Modus 2Element wizard → Tolerance → set Material Condition Modifier flag → MMC. Set form deviation calc to include bonus.
Verify the report layout includes bonus A correctly-configured CMM program still produces a wrong-looking report if the output template doesn't include the bonus column. Before signing off the first article, confirm the inspection report shows: stated tolerance, bonus earned, total allowed, measured position, and pass/fail. If any of those columns is missing, the QA team and the customer auditor cannot verify that bonus was correctly applied — and the FAI submission will get questioned.

When NOT to use MMC

MMC is the right modifier when the design intent is assembly fit — as the feature grows above MMC, more clearance is available, so positional control can be looser without risking interference. That covers most bolt patterns, mounting holes, and clearance features.

MMC is the wrong choice when:

  • Position must be absolute. Dowel pin holes, alignment features for optical systems, holes that must precisely match a threaded insert — all need RFS (the 2018 default) so no bonus is granted.
  • Wall thickness is the controlling factor. A hole near an edge or a hole in a thin-walled casting — bonus that lets the hole drift toward the edge can break the wall. Use LMC instead, which gives bonus as the hole gets smaller.
  • The mating feature is itself toleranced loosely. If the part it mates with has a +/- 0.5 mm position, MMC bonus on this side is moot. Use RFS for clarity.
The "blanket MMC" trap Some shops, after discovering bonus-missed scrap losses, swing the pendulum and apply MMC to every position callout regardless of design intent. This causes the opposite problem — parts that should be rejected (e.g. a dowel pin hole that drifted) now pass because they earned bonus they were never supposed to have. Read the drawing per characteristic. Don't apply a blanket rule.

From scrap data to process improvement

The Coimbatore shop did one more thing after fixing the inspection program: they ran a 3-month retrospective on every part number with an MMC position callout. Eight other part numbers had been silently over-rejecting. Across the eight, another ₹4.2 lakh per month of true-pass scrap had been going to the dumpster.

The lesson generalizes: bonus-missed scrap is not random. It shows up systematically on every part with the same callout pattern — and once a shop fixes the inspection program for one part, the same fix usually applies to a dozen others on the books.

If you want to verify your own position deviations against MMC bonus on a specific part, use the MetricMech Position Tolerance Calculator. Paste your X/Y/Z deviations and hole sizes, and it returns the bonus, total allowed, and pass/fail verdict for up to 50 features at once — plus an audit-ready PDF for FAI submission.

Going deeper on the GD&T side For the full GD&T-specification side of position tolerance — feature control frame anatomy, LMC bonus, composite position (PLTZF and FRTZF), and ASME vs ISO differences — see the Position Tolerance reference. That page covers the standards content; this article covered the production-economics side of getting it right in the inspection workflow.

And if your shop is generating FAI submissions to OEMs like Tata Advanced Systems, Bharat Forge, or Bosch, the AS9102 Form 3 walkthrough shows how position results — with bonus correctly applied — get reported on the inspection characteristics sheet auditors check most closely.

RR
Rajadurai R.
Mechanical Engineer · Plant operations · Founder, MetricMech & CadNexa