hexagon logo

Composite position, threaded hole pattern

I have a cylindrical part with a set of holes drilled 90 deg apart (3 o'clock, 6 o'clock, 9 o'clock and noon) around the circumference. Total of 8 holes- 4 at one level, 4 at another. The callout is very common to this type part, a PLTZF callout of .038" RFS to A|B, then a FRTZF callout of .018" RFS to A.

My question, if I have done this properly in my PC-DMIS program, is there any way that all 8 holes could pass for the upper PLTZF callout, and simultaneously all 8 holes fail the FRTZF callout? I can't see how they could, but when I executed a program recently that I've used on many of these same parts, this is exactly what the results show.

On a side-note, the drawing doesn't restrain all 6 degrees of freedom, so I chose a feature on the part that made sense to me to use to close that gap.

Thanks in advance Confused
  • For the lower tier, the holes are not checked from datum B in the z axis direction. Some sort of fitting must be done in Z axis to allow the pattern to translate "to itself".
  • For the lower tier, the holes are not checked from datum B in the z axis direction. Some sort of fitting must be done in Z axis to allow the pattern to translate "to itself".


    Do you have any suggestions? I'm still not sure what you mean by "fitting."
  • For the lower tier, the holes are not checked from datum B in the z axis direction. Some sort of fitting must be done in Z axis to allow the pattern to translate "to itself".


    Wouldn't all holes be located to datum B as they are controlled with basic dimensions? They way I see the dimensioning position is two circles, one with a .038 diameter and the other with .018 diameter centers are the same. Your holes are out of tolerance if they fall in the area between the .018 and .038 diameters for the composite but are still within tolerance for the .038. Both direction from datum A and datum B are still used to locate holes for the .018 and any tilt of the hole also takes away from your location tolerance. Is this not the way the dimensioning should be interpretted?
  • Wouldn't all holes be located to datum B as they are controlled with basic dimensions? They way I see the dimensioning position is two circles, one with a .038 diameter and the other with .018 diameter centers are the same. Your holes are out of tolerance if they fall in the area between the .018 and .038 diameters for the composite but are still within tolerance for the .038. Both direction from datum A and datum B are still used to locate holes for the .018 and any tilt of the hole also takes away from your location tolerance. Is this not the way the dimensioning should be interpreted?


    My dilemma is that just looking at the basic dimensions, I've added into the program (for analysis): distance along the z axis between one level of holes and the B datum (basic is 4.642"), distance from the first set of 4 holes to the next set (3.707" basic from the first level), angle between holes ( I constructed 2D lines from the axis of Datum A out to each hole, then dimensioned the angles between them). All this looks good, reasonable and held very close to the basic dimensions. But I'm befuddled as to how to use Position, and Alignment to agree with those numbers. When I used a Best Fit 2D alignment, using just the holes, and then dimensioning the position within that alignment @ .018 TP, 7 out of 8 holes fails, and badly. It makes no sense. So, I questioned the alignment I used,,,,first an alignment level to A, translated to B. Then within that, a 2D best fit alignment, least squares, Z axis, rotate & translate (this is the way I usually handle composite position call-outs.

    But it just doesn't seem to work.

    I don't think the part is bad, based on the analysis dimensioning I did. But I need to report it accurately, and I have about a dozen more of these to measure, so, I need to make the correct adjustments to the program. I'm stumped.

    Running version 3.7MR3
  • Are you allowing the features to "float" from datum B when evaluating the lower tier?


    Yes, I am allowing the features to float from datum B when evaluating the lower segment.


    Some sort of fitting must be done in Z axis to allow the pattern to translate "to itself".


    Do you have any suggestions? I'm still not sure what you mean by "fitting."


    So, I questioned the alignment I used,,,,first an alignment level to A, translated to B. Then within that, a 2D best fit alignment, least squares, Z axis, rotate & translate (this is the way I usually handle composite position call-outs.


    I am using the terms float and fit interchangeably - sorry for switching terminology on you. The best-fit alignment you are using is doing rotation about Z axis, and translation in X and Y. You are not allowing the holes to "float" from datum B, because your best fit is not allowing translation in Z axis. To deal with this, add a 2nd best-fit alignment(recalling the first best fit alignment) and choose "Specified Constraints", then use the radio buttons to lock down all degrees of freedom except translation in Z axis. Thing is, I'm not sure this method is available in 3.7MR3. If it is not, then I would deal with it this way (after the first best fit alignment):
    - construct midpoint between the 2 holes at 3 o'clock
    - construct midpoint between the 2 holes at 6 o'clock
    - construct midpoint between the 2 holes at 9 o'clock
    - construct midpoint between the 2 holes at 12 o'clock
    - construct plane from the 4 midpoints
    - set Z origin on plane

    I also checked the angular measurement of the holes in the pattern. Going with a generic +/- 1degree tol, I checked the angluar distance between the holes. They were all within .4 degrees from the basic 90.


    Not sure why you feel that +/-1 degree is a valid tolerance for comparison. 0.4 degrees over the 1.634 radius of the datum A diameter is ~.011", so that is some very significant variation considering that you have a .018 positional tolerance. It is possible that the part is just bad.
  • Wouldn't all holes be located to datum B as they are controlled with basic dimensions? They way I see the dimensioning position is two circles, one with a .038 diameter and the other with .018 diameter centers are the same. Your holes are out of tolerance if they fall in the area between the .018 and .038 diameters for the composite but are still within tolerance for the .038. Both direction from datum A and datum B are still used to locate holes for the .018 and any tilt of the hole also takes away from your location tolerance. Is this not the way the dimensioning should be interpretted?


    No - in a composite positional tolerance, the toleranced features must maintain basic orientation to the datums in the lower tier. The pattern is free to translate in all 3 axes, and rotate about axes not constrained by datums in the lower tier, as long as the tolerance zones remain within the boundary of the upper tier zones. (this is a very abbreviated description - there are other considerations and complexities. see ASME Y14.5)
  • I am using the terms float and fit interchangeably - sorry for switching terminology on you. The best-fit alignment you are using is doing rotation about Z axis, and translation in X and Y. You are not allowing the holes to "float" from datum B, because your best fit is not allowing translation in Z axis. To deal with this, add a 2nd best-fit alignment(recalling the first best fit alignment) and choose "Specified Constraints", then use the radio buttons to lock down all degrees of freedom except translation in Z axis. Thing is, I'm not sure this method is available in 3.7MR3. If it is not, then I would deal with it this way (after the first best fit alignment):
    - construct midpoint between the 2 holes at 3 o'clock
    - construct midpoint between the 2 holes at 6 o'clock
    - construct midpoint between the 2 holes at 9 o'clock
    - construct midpoint between the 2 holes at 12 o'clock
    - construct plane from the 4 midpoints
    - set Z origin on plane


    (v3.7MR3 doesn't seem to have the tools you mentioned, at least not in the Best Fit Alignment dialog box). So if Im understanding this correctly, I should make sure I've got my cursor inside the 2D-best-fit (the one I normally do), then create a new alignment and only change the Z origin with that alignment?

    Like this?
    set origin =ALIGNMENT/START,RECALL:2dBF_8Holes, LIST= YES
    ALIGNMENT/TRANS,ZAXIS,MPLN1
    ALIGNMENT/END

    Doing it that way, I got the following result...

    DIM LOC19= TRUE POSITION OF CIRCLE C1 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL +TOL -TOL BONUS MEAS DEV OUTTOL
    Z -1.8535 -1.8544 -0.0009
    PR 1.6336 1.6324 -0.0012
    PA -89.9870 -90.0082 -0.0212
    DF 0.1042 0.0000 0.0000 0.1084 0.0042 0.0042 -------->
    TP RFS 0.0180 0.0000 0.0033 0.0000 -#-------
    END OF DIMENSION LOC19
    DIM LOC20= TRUE POSITION OF CIRCLE C2 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL +TOL -TOL BONUS MEAS DEV OUTTOL
    Z 1.8535 1.8543 0.0009
    DF 0.1042 0.0000 0.0000 0.1072 0.0030 0.0030 -------->
    TP RFS 0.0180 0.0000 0.0017 0.0000 #--------
    PR 1.6336 1.6314 -0.0022
    PA -89.9878 -89.8944 0.0934
    END OF DIMENSION LOC20
    DIM LOC21= TRUE POSITION OF CIRCLE C3 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL +TOL -TOL BONUS MEAS DEV OUTTOL
    Z -1.8535 -1.8503 0.0032
    DF 0.1042 0.0000 0.0000 0.1058 0.0016 0.0016 -------->
    TP RFS 0.0180 0.0000 0.0064 0.0000 ---#-----
    PR 1.6337 1.6364 0.0028
    PA -179.9876 179.9900 -0.0224
    END OF DIMENSION LOC21
    DIM LOC22= TRUE POSITION OF CIRCLE C4 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL +TOL -TOL BONUS MEAS DEV OUTTOL
    Z 1.8535 1.8527 -0.0008
    DF 0.1042 0.0000 0.0000 0.1064 0.0022 0.0022 -------->
    TP RFS 0.0180 0.0000 0.0015 0.0000 #--------
    PR 1.6327 1.6299 -0.0028
    PA 179.9879 -179.9293 0.0828
    END OF DIMENSION LOC22
    DIM LOC23= TRUE POSITION OF CIRCLE C5 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL +TOL -TOL BONUS MEAS DEV OUTTOL
    Z -1.8535 -1.8522 0.0013
    DF 0.1042 0.0000 0.0000 0.1072 0.0030 0.0030 -------->
    TP RFS 0.0180 0.0000 0.0026 0.0000 -#-------
    PR 1.6334 1.6335 0.0001
    PA 90.0118 90.0412 0.0294
    END OF DIMENSION LOC23
    DIM LOC24= TRUE POSITION OF CIRCLE C6 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL +TOL -TOL BONUS MEAS DEV OUTTOL
    Z 1.8535 1.8542 0.0007
    DF 0.1042 0.0000 0.0000 0.1067 0.0025 0.0025 -------->
    TP RFS 0.0180 0.0000 0.0014 0.0000 #--------
    PR 1.6336 1.6339 0.0004
    PA 90.0120 89.9267 -0.0854
    END OF DIMENSION LOC24
    DIM LOC25= TRUE POSITION OF CIRCLE C7 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL +TOL -TOL BONUS MEAS DEV OUTTOL
    Z -1.8535 -1.8581 -0.0047
    DF 0.1042 0.0000 0.0000 0.1151 0.0109 0.0109 -------->
    TP RFS 0.0180 0.0000 0.0093 0.0000 ----#----
    PR 1.6336 1.6293 -0.0042
    PA 0.0120 -0.0130 -0.0250
    END OF DIMENSION LOC25
    DIM LOC26= TRUE POSITION OF CIRCLE C8 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH DEV PERPEN CENTERLINE=OFF DISPLAY=DIAMETER
    AX NOMINAL +TOL -TOL BONUS MEAS DEV OUTTOL
    Z 1.8535 1.8538 0.0003
    DF 0.1042 0.0000 0.0000 0.1092 0.0050 0.0050 -------->
    TP RFS 0.0180 0.0000 0.0005 0.0000 #--------
    PR 1.6333 1.6338 0.0005
    PA 0.0121 -0.0392 -0.0513
    END OF DIMENSION LOC26

    Everything reports OK. But still not sure if this is what you had in mind.
  • And sorry it took a week to get back on this...I had a visitor to help out with another unrelated software issue, who was in town for a few days. Then, I've been playing catchup on the CMM.
  • (v3.7MR3 doesn't seem to have the tools you mentioned, at least not in the Best Fit Alignment dialog box). So if Im understanding this correctly, I should make sure I've got my cursor inside the 2D-best-fit (the one I normally do), then create a new alignment and only change the Z origin with that alignment?

    Like this?
    set origin =ALIGNMENT/START,RECALL:2dBF_8Holes, LIST= YES
    ALIGNMENT/TRANS,ZAXIS,MPLN1
    ALIGNMENT/END


    Yes. I'd like to point out that constructing the plane as I suggested is just a way of "averaging" the deviations of the features. It can still reject good parts (as can any of the best fit alignments), but it will never accept bad parts.

    I think that "Specified Constraints" in best fit alignments showed up sometime during the 2010 release cycle.

    Doing it that way, I got the following result...

    DIM LOC19= TRUE POSITION OF CIRCLE C1  UNITS=IN ,$
    GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  DEV PERPEN CENTERLINE=OFF  DISPLAY=DIAMETER
    AX   NOMINAL     +TOL       -TOL       BONUS      MEAS        DEV      OUTTOL   
    Z     -1.8535                                     -1.8544    -0.0009           
    PR     1.6336                                      1.6324    -0.0012           
    PA   -89.9870                                    -90.0082    -0.0212           
    DF     0.1042     0.0000     0.0000                0.1084     0.0042     0.0042 -------->
    TP        RFS     0.0180                0.0000                0.0033     0.0000 -#-------
    END OF DIMENSION LOC19
    DIM LOC20= TRUE POSITION OF CIRCLE C2  UNITS=IN ,$
    GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  DEV PERPEN CENTERLINE=OFF  DISPLAY=DIAMETER
    AX   NOMINAL     +TOL       -TOL       BONUS      MEAS        DEV      OUTTOL   
    Z      1.8535                                      1.8543     0.0009           
    DF     0.1042     0.0000     0.0000                0.1072     0.0030     0.0030 -------->
    TP        RFS     0.0180                0.0000                0.0017     0.0000 #--------
    PR     1.6336                                      1.6314    -0.0022           
    PA   -89.9878                                    -89.8944     0.0934           
    END OF DIMENSION LOC20
    DIM LOC21= TRUE POSITION OF CIRCLE C3  UNITS=IN ,$
    GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  DEV PERPEN CENTERLINE=OFF  DISPLAY=DIAMETER
    AX   NOMINAL     +TOL       -TOL       BONUS      MEAS        DEV      OUTTOL   
    Z     -1.8535                                     -1.8503     0.0032           
    DF     0.1042     0.0000     0.0000                0.1058     0.0016     0.0016 -------->
    TP        RFS     0.0180                0.0000                0.0064     0.0000 ---#-----
    PR     1.6337                                      1.6364     0.0028           
    PA  -179.9876                                    179.9900    -0.0224           
    END OF DIMENSION LOC21
    DIM LOC22= TRUE POSITION OF CIRCLE C4  UNITS=IN ,$
    GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  DEV PERPEN CENTERLINE=OFF  DISPLAY=DIAMETER
    AX   NOMINAL     +TOL       -TOL       BONUS      MEAS        DEV      OUTTOL   
    Z      1.8535                                      1.8527    -0.0008           
    DF     0.1042     0.0000     0.0000                0.1064     0.0022     0.0022 -------->
    TP        RFS     0.0180                0.0000                0.0015     0.0000 #--------
    PR     1.6327                                      1.6299    -0.0028           
    PA   179.9879                                   -179.9293     0.0828           
    END OF DIMENSION LOC22
    DIM LOC23= TRUE POSITION OF CIRCLE C5  UNITS=IN ,$
    GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  DEV PERPEN CENTERLINE=OFF  DISPLAY=DIAMETER
    AX   NOMINAL     +TOL       -TOL       BONUS      MEAS        DEV      OUTTOL   
    Z     -1.8535                                     -1.8522     0.0013           
    DF     0.1042     0.0000     0.0000                0.1072     0.0030     0.0030 -------->
    TP        RFS     0.0180                0.0000                0.0026     0.0000 -#-------
    PR     1.6334                                      1.6335     0.0001           
    PA    90.0118                                     90.0412     0.0294           
    END OF DIMENSION LOC23
    DIM LOC24= TRUE POSITION OF CIRCLE C6  UNITS=IN ,$
    GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  DEV PERPEN CENTERLINE=OFF  DISPLAY=DIAMETER
    AX   NOMINAL     +TOL       -TOL       BONUS      MEAS        DEV      OUTTOL   
    Z      1.8535                                      1.8542     0.0007           
    DF     0.1042     0.0000     0.0000                0.1067     0.0025     0.0025 -------->
    TP        RFS     0.0180                0.0000                0.0014     0.0000 #--------
    PR     1.6336                                      1.6339     0.0004           
    PA    90.0120                                     89.9267    -0.0854           
    END OF DIMENSION LOC24
    DIM LOC25= TRUE POSITION OF CIRCLE C7  UNITS=IN ,$
    GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  DEV PERPEN CENTERLINE=OFF  DISPLAY=DIAMETER
    AX   NOMINAL     +TOL       -TOL       BONUS      MEAS        DEV      OUTTOL   
    Z     -1.8535                                     -1.8581    -0.0047           
    DF     0.1042     0.0000     0.0000                0.1151     0.0109     0.0109 -------->
    TP        RFS     0.0180                0.0000                0.0093     0.0000 ----#----
    PR     1.6336                                      1.6293    -0.0042           
    PA     0.0120                                     -0.0130    -0.0250           
    END OF DIMENSION LOC25
    DIM LOC26= TRUE POSITION OF CIRCLE C8  UNITS=IN ,$
    GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  DEV PERPEN CENTERLINE=OFF  DISPLAY=DIAMETER
    AX   NOMINAL     +TOL       -TOL       BONUS      MEAS        DEV      OUTTOL   
    Z      1.8535                                      1.8538     0.0003           
    DF     0.1042     0.0000     0.0000                0.1092     0.0050     0.0050 -------->
    TP        RFS     0.0180                0.0000                0.0005     0.0000 #--------
    PR     1.6333                                      1.6338     0.0005           
    PA     0.0121                                     -0.0392    -0.0513           
    END OF DIMENSION LOC26
    

    Everything reports OK. But still not sure if this is what you had in mind.


    This reporting is a problem. The reported position results are not correct (except for maybe the 1st dimension). Notice that in all the dimensions except the 1st one, the TP deviation is simply 2X the Z deviation(+/- rounding error) - the X or Y deviation is not being included in the position result. I believe this is because in the 1st dimension,PR/PA are reported before TP and in all the others PR/PA is reported after TP. If this were my program, I wouldn't even report PR/PA. For the holes at 12 and 6 o'clock, report X,Z,TP. For the holes at 3 and 6 o'clock, report Y,Z,TP. The other thing I would recommend is DEV PERPEN CENTERLINE=ON. It shouldn't make any difference in this case, but it's a good habit to leave it on for the situations where it does matter.
  • And sorry it took a week to get back on this...I had a visitor to help out with another unrelated software issue, who was in town for a few days. Then, I've been playing catchup on the CMM.


    No problem. I WAS wondering how things went Slight smile