hexagon logo

Finding and Verifying Pitch Diameter

Good Afternoon:

How would one calculate pitch diameter for external threads on a CMM and verify that the results are correct. I need to check some pretty large acme threads im not too sure about the nominal dimensions.
  • I just did a test on a 2mm cylinder stylus yesterday.
    Calibrated the tip using 5 shank points 5mm up the shank.
    Then I measured the calibraiton sphere as a sphere and zero XY&Z axis to it.
    Then I measured an autofeature circle at zero and dimension the diameter and a true position.
    Diameter was within -0.0004mm TP was 0.001mm.

    Next autofeature circle at -1mm
    Diameter +0.0004 TP 0.0114

    Next autofeature circle at -2mm
    Diameter +0.0012 TP 0.0234

    Next autofeature circle at -3mm
    Diameter +0.0022 TP 0.0357

    Next autofeature circle at -4mm
    Diameter +0.0028 TP 0.0478

    Mind you the next stylus build could be completely different.

    Test on Global Advantage with an SP600
  • I just did a test on a 2mm cylinder stylus yesterday.
    Calibrated the tip using 5 shank points 5mm up the shank.
    Then I measured the calibraiton sphere as a sphere and zero XY&Z axis to it.
    Then I measured an autofeature circle at zero and dimension the diameter and a true position.
    Diameter was within -0.0004mm TP was 0.001mm.

    Next autofeature circle at -1mm
    Diameter +0.0004 TP 0.0114

    Next autofeature circle at -2mm
    Diameter +0.0012 TP 0.0234

    Next autofeature circle at -3mm
    Diameter +0.0022 TP 0.0357

    Next autofeature circle at -4mm
    Diameter +0.0028 TP 0.0478

    Mind you the next stylus build could be completely different.

    Test on Global Advantage with an SP600


    Yep, the shank calibration is a half-made, half-finished, botched job of programming. What use is there is a shank calibration when you can not tell Pcdmis to USE that info? ALL data comes from the center of the ball, NONE comes from the shank of the probe. Absolutly useless addition to the software that too many people think means "something"....
  • When measuring internal threads we suggest setting the "pitch" in the "auto circle or cylinder" you are measuring to the thread helical path pitch (i.e. 1/4 20 thd = pitch of 0.050) you will find the button within the auto feature, (the last frame on the bottom)... At least this will find the center of the thread regardless of hitting the minor diameter start position... That is why it is there...for a more accurate measurement of location the make snap spring loaded internal thread balls and cylinders you can purchase (rather expensive though) for each location... The writer suggests using the pitch box though... Very repeatable... at least if it does not hit the minor diam it hits the same location for the circle.
  • Good Morning Everyone:

    Measuring pitch diameter is still on top of my list. I've gotten some help form Hexagon but they have only been able to do this offline. To make this worse, the threads on my cad model do not match the physical part. That is how Hex was able to accomplish this. The physical part has consistent start and finish so my program is repeatable part to part without any unexpected bumps. I just have to take manual hits, adjust the nominals and test in DCC.

    TIP/T2A0B0, SHANKIJK=-1, 0.0002, 0, ANGLE=0
    
    PNT54 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
    THEO/<-1.9129,6.0287,-3.852>,<-0.2502852,-0.9677811,0.0275136>
    
    PNT55 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
    THEO/<-2.0239,6.0574,-3.852>,<-0.2502953,-0.9678202,0.0260057>
    
    
    LIN1 =FEAT/LINE,CARTESIAN,UNBOUNDED,NO
    THEO/<-1.9129,6.0287,-3.852>,<-0.9681477,0.2503799,-0.0000019>
    ACTL/<-1.9129,6.0287,-3.852>,<-0.9681477,0.2503799,-0.0000019>
    CONSTR/LINE,BF,3D,PNT54,PNT55,,
    
    
    PNT58 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
    THEO/<-1.9079,5.8896,-3.852>,<0.2502847,-0.9677792,0.0275856>
    
    
    PNT59 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
    THEO/<-2.0018,5.8653,-3.852>,<0.2502934,-0.967813,0.0262925>
    
    
    LIN2 =FEAT/LINE,CARTESIAN,UNBOUNDED,NO
    THEO/<-1.9079,5.8896,-3.852>,<-0.9681476,-0.2503801,-0.0000042>
    ACTL/<-1.9079,5.8896,-3.852>,<-0.9681476,-0.2503801,-0.0000042>
    CONSTR/LINE,BF,3D,PNT58,PNT59,,
    
    
    PNT60 =FEAT/POINT,CARTESIAN,NO
    THEO/<-1.6415,5.9585,-3.852>,<-0.9681477,0.2503799,-0.0000019>
    
    
    PNT62 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
    THEO/<2.0208,6.027,-3.852>,<0.2502951,0.9678192,0.0260455>
    
    
    PNT63 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
    THEO/<1.8984,6.1915,-3.852>,<-0.2502838,0.9677755,0.0277236>
    
    
    PNT64 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
    THEO/<1.969,6.2098,-3.852>,<-0.2502906,0.9678017,0.0267303>
    
    
    LIN3 =FEAT/LINE,CARTESIAN,UNBOUNDED,NO
    THEO/<1.9126,6.055,-3.852>,<0.9681476,-0.2503801,0.0000036>
    ACTL/<1.9126,6.055,-3.852>,<0.9681476,-0.2503801,0.0000036>
    CONSTR/LINE,BF,3D,PNT61,PNT62,,
    
    
    LIN4 =FEAT/LINE,CARTESIAN,UNBOUNDED,NO
    THEO/<1.8984,6.1915,-3.852>,<0.9681478,0.2503795,0.0000195>
    ACTL/<1.8984,6.1915,-3.852>,<0.9681478,0.2503795,0.0000195>
    CONSTR/LINE,BF,3D,PNT63,PNT64,,
    
    
    PNT65 =FEAT/POINT,CARTESIAN,NO
    THEO/<1.6415,6.1251,-3.852>,<0.9681476,-0.2503801,0.0000036>
    ACTL/<1.6415,6.1251,-3.852>,<0.9681476,-0.2503801,0.0000036>
    CONSTR/POINT,INT,LIN3,LIN4
    
    (***Moderator Edit: I assume there's the correct workplane already in place***)
    DIM ANGL1= 2D ANGLE FROM LINE LIN3 TO LINE LIN4 ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=NONE
    AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
    A 29.0000 0.5000 0.5000 29.0000 0.0000 0.0000 ----#----
    
    
    ASSIGN/V1=ANGL1.MEAS/2
    ASSIGN/V2=DEG2RAD(V1)
    ASSIGN/V3=TAN(V2)
    ASSIGN/V4=0.17215/2
    ASSIGN/V5=V4/V3
    ASSIGN/V6=COS(V2)*V5
    
    DIM ANGL2= 2D ANGLE FROM LINE LIN1 TO LINE LIN2 ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=NONE
    AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
    A 29.0000 0.5000 0.5000 29.0000 0.0000 0.0000 ----#----
    
    ASSIGN/V7=ANGL2.MEAS/2
    ASSIGN/V8=DEG2RAD(V7)
    ASSIGN/V9=TAN(V8)
    ASSIGN/V10=V4/V9
    ASSIGN/V11=COS(V8)*V10
    
    DIM DIST1= 2D DISTANCE FROM POINT PNT60 TO POINT PNT65 PAR TO XAXIS,NO_RADIUS UNITS=IN,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=NONE
    AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
    M 3.2831 0.0050 0.0050 3.2831 0.0000 0.0000 ----#----
    
    ASSIGN/V12=DIST1.MEAS+V6+V11
    
    COMMENT/REPT,
    "Pitch Diameter= " +V12