hexagon logo

Calculating true position using bonus tolerance

I'm running a program that I am reporting out true position for three holes. If you look at the report, it is showing them out of tolerance, but it doesn't look like it is using the bonus tolerance. I calling out the true position to three datums. Primary datum (A) is a plane, secondary datum (B) is a diameter, tertiary datum (C) is another diameter perpendicular to the secondary datum (I constructed a line between the two and rotated to that in my alignment). The print calls out MMC on the feature itself, as well as MMC on B and C. I looked online to see if I could find a math formula to double check PC-DMIS's report output, but I couldn't find any that used three datums. Does anyone know it? Does the report look like it calculated correctly?
  • If you look at the bonus, it appears that you have a bonus of 0.0005. However, you are OOT by 0.0077.

    Generic formula 2*sqrt(x-meas^2+z-meas^2)

    For a formula(using 10 o'clock hole). 2*sqrt( 0.0011^2+0.0037^2) This would be correct.

    The bonus tolerance would be the 0.0005 given for the size modification of the diameter(0.0050-0.0045)
  • You're only getting the MMC bonus off of the Ø.287 based on the math. what does the FCF look like?
  • I've seen this when using legacy positioning. Have you tried either exact measure or geometric tolerancing (depending of your version)? I have found that they are much better at using the bonus from the datums.
  • CIRCLE M on a DATUM is not MMC it is referred to as MMB. You can only use the MMB with the newer dimensioning options and not with legacy ( as shown above ) Need to remember, if you DONT USE MMB, you will never pass a out of print part, but you may scrap a good part.
  • To use the "bonus" gained from the datum feature's departure from it's MMB, you cannot simply add the amount of departure to the size of the tolerance zone. As the datum features depart from their MMB, you are allowed to move (via translation or rotation) through the degrees of freedom constrained by the datums. To determine the amount of departure between each datum feature and its MMB, you need to know the size of the datum feature and the size of the MMB. The size of the MMB is calculated by taking the MMC size plus an applicable geometric tolerance on it with respect to datums of higher precedence. You should ideally have an orientation tolerance on datum B with respect to datum A, and a position tolerance on datum C with respect to primary datum A and secondary datum B. The MMB size of datum B would then be the MMC size of datum B plus the orientation allowance on datum B with respect to datum A. The MMB size of datum C would be the MMC size of datum C plus the position allowance on datum C with respect to primary datum A and secondary datum B.

    The rest is an optimization problem that is not simply solved by comparing two values, but rather by shifting the datum features within/around their respective MMB to best-fit the considered feature within its tolerance zone. The same follows for a pattern of considered features (as you have), but the optimization of each considered feature must be done simultaneously.

    The determination of the MMB size is defined in ASME Y14.5-2009 Para. 4.11.6. Simultaneous requirements are defined in Para. 4.19.
  • For simple situations, this software will calculate true position with MMC on feature correctly.

    You do, however, need to group features with datum shift bonuses as "simultaneous evaluation".

    Caveat 1: when PC-DMIS calculates datum shift correctly (it doesn't in most versions) it will simply pretend that the datums have moved, which gives the reader a lot of "0.0000" results which is misleading.

    Caveat 2: depending on part, PC-DMIS can grossly miscalculate ocking while using simultaneous evaluation and datum shifts.

    I have found that it's best to export results and simply use Excell to do the datum shift calculations.
  • In additions to what has nicely put.

    1) Legacy dimensions don't properly handle MMB/LMB. In some cases it might give the right answer/solution but this is by chance and not proper application.

    2) Because you have a pattern of holes this would not be the case anyway.

    3) The newer Geometric Tolerance commands should handle this properly.