Thread pitch accuracy

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Thread pitch accuracy

    Hello,

    I was checking in some programs what could be improved.
    I did create some months ago an Excel program to get the hits fro mthe measurement, and check the elements (form deviations).

    Today I found important deviation in some threaded holes : 0.022 mm RN and diameter OOT. I calculated the effective pitch of hits, and found 1.82 mm. In the program we put 1.587 mm (for 16 tpi).
    What is happening in this case is that we have 8 points on one diameter, so the eigth point is at 315° from the first. And the pitch is not done on one revolution (360°) but from the first to the last point (315°). If I calculate 360/315 * 25.4/16 I get 1.814 mm.
    The big surprise is that the problem is not on every similar thread. The element just after in the program has the right pitch, though is seems programmes the same way.

    I could see on other threads that the pitch accuracy is sometimes poor : 0.03 mm deviation on the pitch. A CMM should do it better.

    Did somebody check if the requested pitch is actually and accurately applied ?

    Arnaud

  • #2
    Your calculation for the last point at 315 degree is incorrect it should read 315/360*25.4/16 this will give the last depth of 1.389 which is correct for a 16 TPI thread.

    You may also see strange positions if you specify the End Angle. In our version of Dmis we always leave the start angle at 0 and end angle at 360 when checking threads,
    in your case if we select start 0 end -315 it gives the correct hit depth, but if we select start 0 end 45 then the depths are incorrect.

    Also remember the positioning accuracy you have set in the controller will influence the hit position.

    Last edited by UKCMM; 08-23-2019, 07:26 AM.

    Comment


    • #3
      I'm not quite sure I follow you.

      If I create a circle at 0,0,0 vector 0,0,1 using 8 hits, with pitch 1mm and Start = 0 End = 360

      The first hit is at z=0 and the last is at z=-0.875 which is correct.

      If I change that to start =0 end = 180 the last hit is now at -0.5 which is also correct.


      What version are you using?
      Automettech - Automated Metrology Technology

      Comment


      • #4
        So, not sure if this applies, but when a thread is cut, the polar angle of the thread start can vary widely about the bore diameter.

        If you are measuring at a slightly inaccurate pitch, and for only one pitch rotation, you might have just been getting lucky and hitting between or atop minor diameters.
        If the start of the thread rotates between parts or lots, and your hits are now probing atop the minor dia, then back into the valley for the major dia, your circle will result in a significantly shifted location.

        Origin to top surface of the hole. Then produce a series of hits against the thread. Use a generic set and assign, to extract which point represents the minor diameter of the the thread. Offset Z from top plane to that minor thread Z value and then start the pitched circle or cylinder from there.

        Code:
        FM_1       =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.125,0,0.04>,<1,0,0>
                    ACTL/<-0.125,0,0.04>,<1,0,0>
                    TARG/<-0.125,0,0.04>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_2       =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1251,0,0.043>,<1,0,0>
                    ACTL/<-0.1251,0,0.043>,<1,0,0>
                    TARG/<-0.1251,0,0.043>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_3       =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1252,0,0.046>,<1,0,0>
                    ACTL/<-0.1252,0,0.046>,<1,0,0>
                    TARG/<-0.1252,0,0.046>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_4       =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1253,0,0.049>,<1,0,0>
                    ACTL/<-0.1253,0,0.049>,<1,0,0>
                    TARG/<-0.1253,0,0.049>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_5       =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1254,0,0.052>,<1,0,0>
                    ACTL/<-0.1254,0,0.052>,<1,0,0>
                    TARG/<-0.1254,0,0.052>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_6       =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1255,0,0.055>,<1,0,0>
                    ACTL/<-0.1255,0,0.055>,<1,0,0>
                    TARG/<-0.1255,0,0.055>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_7       =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1256,0,0.058>,<1,0,0>
                    ACTL/<-0.1256,0,0.058>,<1,0,0>
                    TARG/<-0.1256,0,0.058>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_8       =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1257,0,0.061>,<1,0,0>
                    ACTL/<-0.1257,0,0.061>,<1,0,0>
                    TARG/<-0.1257,0,0.061>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_9       =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1258,0,0.064>,<1,0,0>
                    ACTL/<-0.1258,0,0.064>,<1,0,0>
                    TARG/<-0.1258,0,0.064>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_10      =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1257,0,0.067>,<1,0,0>
                    ACTL/<-0.1257,0,0.067>,<1,0,0>
                    TARG/<-0.1257,0,0.067>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_11      =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1256,0,0.07>,<1,0,0>
                    ACTL/<-0.1256,0,0.07>,<1,0,0>
                    TARG/<-0.1256,0,0.07>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_12      =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1255,0,0.073>,<1,0,0>
                    ACTL/<-0.1255,0,0.073>,<1,0,0>
                    TARG/<-0.1255,0,0.073>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_13      =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1254,0,0.076>,<1,0,0>
                    ACTL/<-0.1254,0,0.076>,<1,0,0>
                    TARG/<-0.1254,0,0.076>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_14      =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1253,0,0.079>,<1,0,0>
                    ACTL/<-0.1253,0,0.079>,<1,0,0>
                    TARG/<-0.1253,0,0.079>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_15      =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1252,0,0.082>,<1,0,0>
                    ACTL/<-0.1252,0,0.082>,<1,0,0>
                    TARG/<-0.1252,0,0.082>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_16      =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1251,0,0.085>,<1,0,0>
                    ACTL/<-0.1251,0,0.085>,<1,0,0>
                    TARG/<-0.1251,0,0.085>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_17      =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.125,0,0.088>,<1,0,0>
                    ACTL/<-0.125,0,0.088>,<1,0,0>
                    TARG/<-0.125,0,0.088>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_18      =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1251,0,0.091>,<1,0,0>
                    ACTL/<-0.1251,0,0.091>,<1,0,0>
                    TARG/<-0.1251,0,0.091>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_19      =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1252,0,0.094>,<1,0,0>
                    ACTL/<-0.1252,0,0.094>,<1,0,0>
                    TARG/<-0.1252,0,0.094>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        FM_20      =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-0.1253,0,0.097>,<1,0,0>
                    ACTL/<-0.1253,0,0.097>,<1,0,0>
                    TARG/<-0.1253,0,0.097>,<1,0,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO
        SCN2       =FEAT/SET,CARTESIAN
                    THEO/<-0.12535,0,0.0685>,<0,0,1>
                    ACTL/<-0.12535,0,0.0685>,<0,0,1>
                    CONSTR/SET,BASIC,FM_1,FM_2,FM_3,FM_4,FM_5,FM_6,FM_7,FM_8,FM_9,FM_10,FM_11,FM_12,FM_13,FM_14,FM_15,FM_16,FM_17,FM_18,FM_19,FM_20,,
        [B]ASSIGN/V5=SCN2.HIT[MININDEX(ARRAY(SCN2.HIT[1..SCN2.NUMHITS].X))].Z[/B]
        PITCH_Z_START=ALIGNMENT/START,RECALL:A11,LIST=YES
        [B] ALIGNMENT/TRANS_OFFSET,ZAXIS,V5[/B]
                    ALIGNMENT/END
        CIR3       =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                    THEO/<0,0,0>,<0,0,1>,0.875
                    ACTL/<0,0,0>,<0,0,1>,0.875
                    TARG/<0,0,0>,<0,0,1>
                    START ANG=0,END ANG=360
                    ANGLE VEC=<0,1,0>
                    DIRECTION=CW
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=NO

        Comment


        • #5
          Originally posted by UKCMM View Post
          Your calculation for the last point at 315 degree is incorrect it should read 315/360*25.4/16 this will give the last depth of 1.389 which is correct for a 16 TPI thread.

          You may also see strange positions if you specify the End Angle. In our version of Dmis we always leave the start angle at 0 and end angle at 360 when checking threads,
          in your case if we select start 0 end -315 it gives the correct hit depth, but if we select start 0 end 45 then the depths are incorrect.

          Also remember the positioning accuracy you have set in the controller will influence the hit position.
          Thank you for your reply
          .
          Your calculation correspond to what we should get. But in my case, I actually get the 1.587 at the eighth point. That is the reason for my calculation : if I have 1.587 pitch on 315°, the pitch for one complete revolution is 1.814.

          And in our program, we do actually set the probing to 0 to 360°. But the last point is at 315° as we have 45° between points, and seven intervals.

          One guy of the metrology team did make tests last friday. But could not get the defect again. He uses point-to-point, scanning (we have a LSP-X1H probe), and when we check the pitch, we are within 0.002 mm fro mthe spec. We have to check again in the first program

          Comment


          • #6
            Originally posted by NinjaBadger View Post
            I'm not quite sure I follow you.

            If I create a circle at 0,0,0 vector 0,0,1 using 8 hits, with pitch 1mm and Start = 0 End = 360

            The first hit is at z=0 and the last is at z=-0.875 which is correct.

            If I change that to start =0 end = 180 the last hit is now at -0.5 which is also correct.


            What version are you using?
            We use 2017 R1 (and eventually switch to 2019 R1 in the next days)

            Comment


            • #7
              Here is a code sample. Threads are along X axis. On the first the X difference between first and last point is 1.588 mm (so, the value we should have for a complete revolution).
              For the second, we have 1.389 mm that is the right value for 1.587 mm pitch.

              On both elements if I hit F9 and check the target points, I have the right X values from 74.911 to 76.3, including for the first element.

              So there is a difference between the points listed in the element (through F9) and the points actually probed.
              I used my Excel program to check the hits, and I have the same values than in the below code sample.

              Code:
              Code:
              CER6       =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,MAX_INSC
                          THEO/<77.911,-7.079,51.5>,<1,-0.0000003,0>,8.12
                          ACTL/<77.911,-7.237,51.524>,<1,-0.0000003,0>,8.586
                          TARG/<77.911,-7.079,51.5>,<1,-0.0000003,0>
                          START ANG=0,END ANG=360
                          ANGLE VEC=<0,-0.0008082,-0.9999997>
                          DIRECTION=CCW
                          SHOW FEATURE PARAMETERS=YES
                            VOID DETECTION=NO
                            REMEASURE=NO
                            SURFACE=THEO_THICKNESS,0
                            MEASURE MODE=NOMINALS
                            RMEAS=NONE,NONE,NONE
                            AUTO WRIST=NO
                            CIRCULAR MOVES=STRAIGHT
                            GRAPHICAL ANALYSIS=NO
                            FEATURE LOCATOR=NO,NO,""
                          SHOW CONTACT PARAMETERS=YES
                            NUMHITS=8,DEPTH=3,PITCH=1.587
                            SAMPLE METHOD=SAMPLE_HITS
                            SAMPLE HITS=0,SPACER=0
                            AVOIDANCE MOVE=BOTH,DISTANCE=10
                            FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                          SHOW HITS=YES
                            HIT/BASIC,<74.911,-7.082,47.44>,<0,0.0008082,0.9999997>,<74.911,-7.082,47.235>
                            HIT/BASIC,<75.138,-4.21,48.627>,<-0.0000002,-0.7065351,0.707678>,<75.139,-4.12,48.544>
                            HIT/BASIC,<75.365,-3.019,51.497>,<-0.0000003,-0.9999997,0.0008082>,<75.365,-2.931,51.499>
                            HIT/BASIC,<75.592,-4.205,54.369>,<-0.0000002,-0.707678,-0.7065351>,<75.592,-4.111,54.478>
                            HIT/BASIC,<75.818,-7.075,55.56>,<0,-0.0008082,-0.9999997>,<75.819,-7.079,55.813>
                            HIT/BASIC,<76.045,-9.947,54.374>,<0.0000002,0.7065351,-0.707678>,<76.044,-10.201,54.629>
                            HIT/BASIC,<76.272,-11.139,51.504>,<0.0000003,0.9999997,-0.0008082>,<76.272,-11.547,51.503>
                            HIT/BASIC,<76.499,-9.952,48.632>,<0.0000002,0.707678,0.7065351>,<76.499,-10.203,48.372>
                          ENDMEAS/
              CER7       =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,MAX_INSC
                          THEO/<77.911,48.315,-19.518>,<1,-0.0000004,0>,8.119
                          ACTL/<77.911,48.217,-19.473>,<1,-0.0000004,0>,8.546
                          TARG/<77.911,48.315,-19.518>,<1,-0.0000004,0>
                          START ANG=0,END ANG=360
                          ANGLE VEC=<0,-0.0008082,-0.9999997>
                          DIRECTION=CCW
                          SHOW FEATURE PARAMETERS=YES
                            VOID DETECTION=NO
                            REMEASURE=NO
                            SURFACE=THEO_THICKNESS,0
                            MEASURE MODE=NOMINALS
                            RMEAS=NONE,NONE,NONE
                            AUTO WRIST=NO
                            CIRCULAR MOVES=STRAIGHT
                            GRAPHICAL ANALYSIS=NO
                            FEATURE LOCATOR=NO,NO,""
                          SHOW CONTACT PARAMETERS=YES
                            NUMHITS=8,DEPTH=3,PITCH=1.587
                            SAMPLE METHOD=SAMPLE_HITS
                            SAMPLE HITS=0,SPACER=0
                            AVOIDANCE MOVE=BOTH,DISTANCE=10
                            FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                          SHOW HITS=YES
                            HIT/BASIC,<74.911,48.311,-23.577>,<0,0.0008082,0.9999997>,<74.911,48.312,-23.754>
                            HIT/BASIC,<75.11,51.183,-22.391>,<-0.0000003,-0.7065351,0.707678>,<75.111,51.269,-22.472>
                            HIT/BASIC,<75.308,52.374,-19.521>,<-0.0000004,-0.9999997,0.0008082>,<75.309,52.49,-19.52>
                            HIT/BASIC,<75.507,51.187,-16.65>,<-0.0000003,-0.707678,-0.7065351>,<75.507,51.307,-16.515>
                            HIT/BASIC,<75.705,48.318,-15.458>,<0,-0.0008082,-0.9999997>,<75.704,48.315,-15.198>
                            HIT/BASIC,<75.903,45.446,-16.645>,<0.0000003,0.7065351,-0.707678>,<75.903,45.224,-16.424>
                            HIT/BASIC,<76.102,44.255,-19.515>,<0.0000004,0.9999997,-0.0008082>,<76.101,43.942,-19.516>
                            HIT/BASIC,<76.3,45.442,-22.386>,<0.0000003,0.707678,0.7065351>,<76.301,45.271,-22.568>
                          ENDMEAS/

              Comment

              Related Topics

              Collapse

              Working...
              X