Since the ASME Y14.5 - 2009 released, the newly introduced concept of MMB (LMB) has become a hot topic, not just in most of GDT forums but also in CMM community. Many CMM programmers that have been dealing with "bonus tolerance" from datum features (typically B and C) realize that simply adding them on top of the stated tolerance limit from FCF same as MMC on feature itself is definitely a big mistake. Because the MMB on datum features does NOT give you any extra tolerance, but instead, allows so called "Datum Shift" for your DRF, which reflects the functional requirement of your part. Furthermore, many CMM software companies start to develop this Y14.5 requirement into their software accordingly so your CMM report can directly show in/out of tolerance status based on this type of FCF. But the question is can you really rely on these functionality built in the software to truly report your features according to its GDT call-outs (with MMB)? It will not be a simple yes or no answer but I'd like to discuss this in depth from 3 different angles:


  1. Software capability: Let's use one of the popular CMM software - PC-Dmis as an example.  In earlier versions, when you dimension a hole type of feature for position, you can specify datum features with option of "fit to datum". But that really only works similar to a go-no/go gauge when feature will be in tolerance when datum shift is used (see Hexagon illustration:) Moving to recent versions, a new dimension module called "Xactmeasure" is employed to handle more advanced GDT requirement (see image). 

But how it works really depends on the background calculation such as algorithm, number of iterations, etc.

  1. Hardware limitation:  The whole idea of using MMB/LMB is all about boundary condition, which is difficult to evaluate on CMM because CMM equipped with probing system is based on point contact technology. With high speed scanning technology such as the new Revo, point collection method has been greatly improved on density and accuracy, but depending on the complexity of geometry and GDT requirement sometimes it's still quite challenging to achieve true boundary evaluation, such as related (constrained) actual mating envelope.

Requirement from standard: One of the default requirement in ASME Y14.5 is simultaneous requirement, which many people are un-aware of, stated as follow in the standard: A simultaneous requirement is where two or more geometric tolerances apply as a single pattern or part requirement. A simultaneous requirement applies to position and profile tolerances that are located by basic dimensions, related to common datum features referenced in the same order of precedence at the same boundary conditions. This default rule makes perfect sense from functional design viewpoint. To meet this requirement when parts inspected on CMM, we must include all the features that are called out to the same DRF in same cmm program so when we use software functionality to apply "datum shift" it will truly comply with GDT standard.

CMM is a great tool for precision measurement if used properly, so based on above discussion I'd make the following suggestions so we can create cmm programs that will apply GDT rules more truly:

  1. Take enough points and spread them out: this is so simple and easy to understand, but it helps quite a lot especially when you only have touch trigger probe to work with.
  2. Use software built-in algorithm for correct feature evaluation whenever applicable: if you never used options like Max. inscribed circle, you should start using it. I'm pretty sure all the modern cmm software provides this type of options.
  3. Include all related features in your program if you want to apply datum shift so you won't present false measurement data.
  4. If you're not very comfortable with applying datum shift in your cmm software, just simply treat these call-outs as RMB. People might question about this because they think why we don't use it if we can bring parts in tolerance with this. Well, again, that has to be done correctly. In most of the cases I dealt with, either parts will be in tolerance even without any datum shift, or the opposite, no matter how you shift your datum you'll always have some features out of tolerance, either here or there. So for simplicity, why don't we just report it based on RMB and then make further decision from there?

There're many details we can discuss on how to truly apply GDT rules in CMM programming and I will definitely contribute more articles in this area. I also created a video tutorial on this topic since it is much more explicitly demonstrated in videos than in writing. You can register a free membership to watch it: this video will be in "Free is good" category until the end of Apr.