Hi All,
I would say that the A-B reference is okay in terms of compliance to the ASME Y14.5 standard. The combination of A and B creates a valid multiple datum feature (now called a "common datum feature" in ASME Y14.5-2018). It looks like the issue is that the CMM software does not support that particular combination.
There are other things on the drawing that I would have issues with:
1. It's hard to tell whether the end of the part is at PT A or not, because the extension lines for the dimension look identical to the object lines for the part geometry.
2. The profile tolerances on the two ends of the part don't control the location of the end surfaces (because they each reference only the local axis). So these tolerances end up only controlling the orientation and form of the end surfaces, and thus could have been Perpendicularity tolerances instead. If the intent was to control the relative locations of the end surfaces, then the profile tolerances should have referenced A-B instead.
3. The profile tolerance between PT A and PT D is not compliant with Y14.5. Profile is not to be used in conjunction with a directly toleranced diameter dimension, and the annotation BOUNDARY is not used with profile tolerances either. Y14.5 defines a type of position tolerance with the BOUNDARY annotation, so the tolerance should have been position instead of profile. It looks like the intent was to control the outer surface of the part with a single boundary, between PT A and PT D (including the bends). Unfortunately Y14.5 doesn't address this situation yet - the boundary position tool is only defined for regular features of size (cylinders and parallel-plane widths).
4. The position tolerances on cylinders A and B each reference the toleranced feature at MMC and reference the datum feature A-B at RMB. Since the datum feature includes the toleranced feature, I would say that the toleranced feature should be referenced RFS. I've always thought that this type of partly self-referencing callout is conceptually dubious in the first place (even though Y14.5 illustrates it), and mixing the modifiers makes it even more so.
5. The A|B|C datum feature reference in the profile FCF is overconstrained. Cylinder A constrains 4 degrees of freedom, and cylinder B would constrain the other two rotation around axis A and translation along axis A). So there are no DOF's left for feature C to constrain. If the intent is to have feature C constrain axial translation, then the reference needs to be A|C|B.
6. I would say that it doesn't make sense to tolerance A and B together to A-B (so that neither one takes precedence over the other) and then reference them A|B in the profile FCF (so that A takes precedence over B). Whatever the constraint situation that A and B experience in the assembly is, it should be used consistently.
It's interesting how the tolerancing techniques defined in ASME Y14.5 are confounded by a pipe with two bends in it.
Evan Janeshewski
Axymetrix Quality Engineering Inc.