MachineCalcs

Maximum material condition (MMC) in GD&T

Open the MMC Bonus Tolerance Calculator

The maximum material condition modifier — the circled M after a position tolerance — is the most economically important symbol in GD&T, and the most misread. It says: the stated tolerance applies when the feature contains the most material (smallest hole, largest pin), and grows as the feature departs from that condition. The growth is the bonus tolerance:

In shop shorthand, GD&T MMC means the drawing is tying a geometric tolerance to a size limit. The material condition modifier does not change the feature's size tolerance; it changes how much geometric error is allowed as the measured hole or pin moves away from its maximum material size.

bonus = |actual size − MMC size|   total tolerance = stated + bonus

Why is that legitimate? Because for a clearance hole, function is assembly. A bigger hole clears a fastener that sits further off position. The drawing is not being generous — it is encoding the physics of fit.

MMC example — clearance hole at maximum material

This MMC example uses a hole dimensioned Ø10.0–10.4 with position Ø0.2 at MMC. The MMC size is Ø10.0 (smallest hole = most material). The shop produces it at Ø10.3:

bonus = 10.3 − 10.0 = 0.3  →  total = 0.2 + 0.3 = Ø0.5

A measured position error of Ø0.42 — which would scrap the part under an RFS callout — passes comfortably here. Run the same numbers in the MMC bonus tolerance calculator, which takes the measured X/Y deviations and actual size together; the base diametral position math lives in the true position calculator.

MMC virtual condition — the gauge that never changes

MMC virtual condition is the fixed worst-case boundary produced by the size limit and the stated geometric tolerance. Stated-plus-bonus sounds variable, but it produces one fixed boundary. For a hole:

VC = MMC − stated tolerance = 10.0 − 0.2 = Ø9.8

No matter how the size and position trade off, the hole's inner boundary never encroaches inside a Ø9.8 envelope at true position. That is exactly a functional gauge: a Ø9.8 pin at the theoretical location. Part fits gauge → part assembles. This is why MMC callouts make inspection cheap — a hard gauge can accept parts without a CMM, and every part the gauge accepts genuinely works.

The three modifiers side by side

  • MMC (circled M): tolerance grows with departure from max material. Use for clearance fits — bolt patterns, cover plates. Cheapest parts, gaugeable.
  • RFS (no modifier, the default): stated tolerance applies at any produced size. Use when location itself is the function — dowels, bearing bores, sealing lands.
  • LMC (circled L): the mirror image — tolerance grows from the least material condition. Used to protect minimum wall thickness or minimum edge distance (e.g., a cored hole near a casting wall).

Common mistakes

  • Taking the bonus from the wrong end. The bonus comes from the feature's departure from MMC — for a pin, that means being made smaller, not larger.
  • Applying size bonus to a datum modifier. An M on the datum reference (datum shift) is a different mechanism: it allows the pattern to float as a group, not each hole individually.
  • Using MMC on functional locators. A dowel hole at MMC invites parts that rattle precisely where you needed registration.
  • Forgetting it is diametral. Position tolerance zones here are cylinders; combine X and Y deviation as 2·√(ΔX² + ΔY²) before comparing — the calculator does this for you.

For the broader system, the what is true position guide covers the base concept, the composite position calculator handles two-tier pattern controls, and the GD&T symbols chart is the one-page reference.

Frequently asked questions

What does the MMC modifier on a position tolerance mean?

The circled M after the tolerance value ties the stated position tolerance to the feature at its maximum material condition — the smallest hole or the largest pin. As the produced feature departs from MMC (a hole grows, a pin shrinks), the position tolerance grows by exactly that departure. The stated value is the minimum you ever get, not the maximum.

How do I calculate bonus tolerance?

Bonus = |actual mating size − MMC size|. For a hole with MMC Ø10.0 produced at Ø10.3, the bonus is 0.3. Total allowed position tolerance = stated tolerance + bonus; with Ø0.2 stated, the hole may be out of position by up to Ø0.5.

What is virtual condition?

The fixed worst-case boundary the feature can never violate: for a hole, VC = MMC size − stated position tolerance (Ø10.0 − Ø0.2 = Ø9.8); for a pin, VC = MMC + tolerance. It is the size of the functional gauge pin or hole — any part that fits the gauge assembles, which is the entire logic of MMC.

When should I NOT use the MMC modifier?

When the feature locates something functionally rather than just clearing a fastener — dowel holes, bearing bores, sealing faces. There, looseness from a bigger hole does not help function, so position is controlled RFS (regardless of feature size), which is the default when no modifier appears.