Skip to content
Skills / Geometric Dimensioning & Tolerancing (GD&T) / Advanced GD&T Application and Analysis / Bonus Tolerance: MMC, LMC, and Features of Size
Geometric Dimensioning & Tolerancing (GD&T)

Bonus Tolerance: MMC, LMC, and Features of Size

20 min read Training Guide

Find MMC and LMC for any feature of size, calculate bonus tolerance on holes and shafts, work out virtual condition, and read datum shift on a position callout.

Table of contents

A small circled M in a feature control frame can turn a rejected part into a good one. It tells you the position zone is not fixed, and that it grows as the feature moves away from its tightest size. Engineers use it because a bigger hole can sit further off location and still clear its bolt. If you can do this math, you can stop scrapping good parts, and you can see why a gauge pin is the size it is.

What You Will Be Able to Do

  • Say whether a feature is a feature of size, and why a plain flat surface is not.
  • Find MMC and LMC for holes, shafts, slots and tabs.
  • Calculate bonus tolerance and the total zone for any actual size.
  • Work out virtual condition and the size of a functional gauge pin.
  • Read a datum letter with (M) after it, and explain datum shift.

Features of Size

A feature of size has a size dimension and opposing points that you can measure across. Under ASME Y14.5, that means a cylinder, a sphere, or two opposed parallel surfaces.

Feature Feature of size? Why
Hole or bore Yes A cylinder with a diameter
Shaft or pin Yes A cylinder with a diameter
Slot Yes Two opposed parallel faces
Tab or block width Yes Two opposed parallel faces
Sphere Yes A diameter across it
Single flat surface No Nothing opposes it, so it has no size
Contoured surface No No opposing surface to measure across

Why a Plane Cannot Take a Modifier

Bonus tolerance exists because size changes how much material a feature has, and that changes how far it can wander and still work. A single flat surface has no size, so it has no MMC and no LMC. There is no departure to measure and nothing to add. For that reason, (M) and (L) do not go on flatness of a plain surface, on perpendicularity of a single face, on profile, or on runout. If you see one there, ask engineering about it.

MMC, LMC and RFS

Maximum material condition (MMC) is the size where the part holds the most material. Least material condition (LMC) is the size where it holds the least. A quick way to remember: at MMC, the part weighs the most.

Feature MMC LMC
Hole Smallest size Largest size
Shaft Largest size Smallest size
Slot Narrowest size Widest size
Tab Widest size Narrowest size

For example, a hole sized 0.250 to 0.260 has an MMC of 0.250 and an LMC of 0.260. A shaft of 0.750 +/- 0.005 has an MMC of 0.755 and an LMC of 0.745.

Regardless of feature size (RFS) is the default. If the frame shows no modifier, the zone is the same at every size and there is no bonus. Never add a bonus unless you see the modifier.

Bonus Tolerance on a Hole

With (M) in the tolerance box, the number in the frame applies only at MMC. As the feature moves away from MMC, the difference adds to the zone. For a hole:

Bonus = actual size - MMC

Total zone = frame tolerance + bonus

Take a hole sized 0.250 to 0.260 with a frame reading Position | Ø 0.008 (M) | A | B | C.

Actual hole size Bonus Total zone
0.250 (MMC) 0.000 Ø 0.008
0.254 0.004 Ø 0.012
0.256 0.006 Ø 0.014
0.260 (LMC) 0.010 Ø 0.018

The largest bonus you can get is the full size tolerance, here 0.010.

The physics is simple. Say a fixed bolt of Ø 0.242 goes through this hole. A hole at 0.250 clears it by 0.008, so the axis may sit within a Ø 0.008 zone. A hole at 0.260 clears it by 0.018, so the axis may sit within a Ø 0.018 zone. The bonus is the extra clearance.

Here is a complete check:

  1. Measure the hole. It is 0.256.
  2. Find the bonus: 0.256 - 0.250 = 0.006.
  3. Find the total zone: 0.008 + 0.006 = Ø 0.014.
  4. Find the location error. The hole is 0.004 off in X and 0.005 off in Y. Square each, add them, take the root: 0.000016 + 0.000025 = 0.000041, and the root is 0.0064.
  5. Double it, because position is a diameter: Ø 0.0128.
  6. Compare: 0.0128 is under 0.014, so the hole passes.

Without the (M), the zone would stay at Ø 0.008, and this hole would fail. That difference is why you read every modifier.

Bonus Tolerance on a Shaft

A shaft works the other way, because it loses material by getting smaller.

Bonus = MMC - actual size

Take a shaft of 0.750 +/- 0.005 with position Ø 0.006 (M).

Actual shaft size Bonus Total zone
0.755 (MMC) 0.000 Ø 0.006
0.752 0.003 Ø 0.009
0.750 0.005 Ø 0.011
0.745 (LMC) 0.010 Ø 0.016

Slots and tabs follow the same math, with the width in place of a diameter. Their zone is two parallel planes, so there is no Ø.

What "Actual Size" Means Here

The bonus comes from the feature's actual mating size. For a hole, that is the largest perfect pin that fits inside it. For a shaft, it is the smallest perfect ring that fits over it. A hole that is bent or oval has a smaller mating size than a single caliper reading suggests, so it earns less bonus. A CMM can calculate this. Taking one reading and using it for the whole feature can overstate the bonus.

LMC: Protecting the Wall

(L) reverses the logic. Use it where too little material is the danger, such as a thin wall beside a bore, or stock left for a later cut. The frame number applies at LMC, and the zone grows as the feature moves toward MMC.

  • Hole: bonus = LMC - actual size
  • Shaft: bonus = actual size - LMC

Take a hole sized 0.250 to 0.260, centered 0.300 from an edge, with position Ø 0.008 (L).

Actual hole size Bonus Total zone Thinnest wall
0.260 (LMC) 0.000 Ø 0.008 0.166
0.254 0.006 Ø 0.014 0.166
0.250 (MMC) 0.010 Ø 0.018 0.166

Check the last row. The hole's radius is 0.125, and it may wander 0.009, so it reaches 0.134 toward the edge. 0.300 - 0.134 = 0.166. The first row gives the same: 0.130 + 0.004 = 0.134. The wall never gets thinner than 0.166, at any legal size. That is what (L) buys you.

Virtual Condition

Virtual condition is the worst-case boundary a feature creates when size and geometric tolerance combine. It is a fixed size that does not change from part to part, so designers use it to prove parts will assemble.

Feature and modifier Virtual condition Example
Hole with (M) MMC - geometric tolerance 0.250 - 0.008 = 0.242
Shaft with (M) MMC + geometric tolerance 0.755 + 0.006 = 0.761
Hole with (L) LMC + geometric tolerance 0.260 + 0.008 = 0.268
Shaft with (L) LMC - geometric tolerance 0.745 - 0.006 = 0.739

Look at the first row. Every legal hole leaves a clear path at least Ø 0.242, whatever its size and location. A Ø 0.242 pin at the exact location will always fit. That is the same bolt from the hole example, and it is not a coincidence.

Functional Gauges

A functional gauge is the physical form of virtual condition. It holds fixed pins at the virtual condition size and at the exact basic locations, on a body that simulates the datums.

  1. Check the size of each hole first. The gauge does not check size.
  2. Clean the part and the gauge, and seat the part on its datum features in the frame's order.
  3. Try the gauge. For the example above, the pin is Ø 0.242.
  4. If all pins enter with the part fully seated, the holes pass position. Do not force it.

Bonus is built in. A bigger hole accepts the pin when further off location, with no math at all. That is why gauges are fast on production runs. A gauge gives only pass or fail, so it does not tell you which way to adjust. It also works only with (M), since a fixed pin cannot represent an RFS or (L) requirement. The gauge has its own small tolerance and must stay in calibration.

Datum Features at MMC and Datum Shift

A modifier can also follow a datum letter: Position | Ø 0.012 (M) | A | B (M) | C.

The first (M) gives bonus to the feature being controlled. The (M) after B applies to the datum instead. It means B is used at its maximum material size, so the part is allowed to shift on it. That is called datum shift. Shop talk and older drawings call this "B at MMC". The 2009 and 2018 editions of Y14.5 use the term maximum material boundary (MMB) for a datum, and the symbol is the same.

Think of B as a locating hole sitting on a fixed pin. The pin is the size of B's boundary. As B gets larger than that, the part can slide around on the pin. That slide is datum shift.

  1. B is a hole sized 0.500 to 0.510, and its boundary is 0.500.
  2. B actually measures 0.506.
  3. The difference is 0.006 of total looseness, so the part can shift 0.003 in any direction.

If B has its own orientation or position callout, its boundary is its virtual condition, not just its MMC size.

Datum shift is not the same as bonus. Bonus belongs to each feature, based on its own size. Datum shift belongs to the whole pattern. The part moves as one piece relative to the datum, so all the holes shift together. It does not loosen the spacing between holes. On a single hole it can act a lot like extra tolerance, but do not add it to each hole of a pattern. A functional gauge gives you this automatically. On a CMM, the software has to be told to apply it, so check the program.

With no modifier after the datum letter, the simulator closes on the feature until there is no looseness, and there is no shift. A single flat datum surface cannot take a modifier, for the same reason any plain plane cannot.

Common Mistakes

Mistake What it costs
Adding a bonus when there is no (M) or (L) Bad parts accepted
Ignoring a bonus that is allowed Good parts scrapped
Reversing hole and shaft math Wrong zone and a wrong accept or reject call
Using nominal size instead of actual size Wrong zone on every feature
Using one caliper reading on a bent hole An overstated bonus
Adding datum shift to each hole in a pattern Pattern accepted when it does not fit
Skipping the size check before gauging An oversized hole passes the gauge

Check Your Understanding

1. A hole is sized 8.00 to 8.06, with position Ø 0.02 (M). It measures 8.05. What is the total zone?

Bonus = 8.05 - 8.00 = 0.05. Total zone = 0.02 + 0.05 = Ø 0.07.

2. A shaft is sized 12.00 to 12.10, with position Ø 0.05 (M). It measures 12.04. What are the total zone and the virtual condition?

MMC is 12.10. Bonus = 12.10 - 12.04 = 0.06, so the zone is Ø 0.11. Virtual condition is 12.10 + 0.05 = 12.15, and it does not change with the actual size.

3. The same hole from question 1 has a frame with no modifier. It measures 8.05. What is the zone?

Ø 0.02. Without a modifier, the rule is RFS, and there is no bonus at any size.

4. A drawing shows flatness 0.002 (M) on a single flat face. What do you do?

Ask engineering. A plain surface has no size, so the modifier has no meaning there.

5. Datum hole B is 0.004 above its boundary. A pattern of four holes is measured against it. Can you add 0.004 to each hole's zone?

No. The whole pattern can shift together, by 0.002 in any direction. The spacing between holes stays as tight as it was. Let the gauge or the CMM software apply the shift.

Key Takeaways

  • Only features of size take (M) or (L). A plain plane has no size.
  • Hole bonus is actual minus MMC. Shaft bonus is MMC minus actual.
  • Total zone is the frame number plus the bonus. No modifier means no bonus.
  • Virtual condition is a fixed boundary, and it sets the functional gauge pin size.
  • (M) after a datum letter allows datum shift, which moves a whole pattern together.
  • Check size separately, because a gauge proves location only.