hexagon logo

True Position of threads

Hello,
What are some ways to check true position of threads. (5/8-11 UNC-2B TAP THRU)
Also, having trouble applying this to the Feature Control Frame Editor. (threads specifically)
Hopefully someone else knows how to execute this task.
  • You can use True position locators or apply lead to the measurement.Also remember that probe diameter needs to be adequate.

    http://www.lavezzi.com/TruPos.html
  • When checking threads, use the pitch setting in the auto circle feature. That’s the best way to do it if you don’t have locators. Another way is to use a shank probe but when you use a shank probe, make very certain you touch the sphere at A0BO and it’s perfect. If not, you will have a hard time qualifying or may have bad parts.
  • I've gotten this answer from a member here forgot what his name was or i would give credit.

    Create a linear open scan along the bottom of the thread. It doesn't need to be long, just long enough to find the Minor diameter. Create a generic point to the highest point on that scan using "max index". Create an auto cylinder change the pitch to the correct pitch for the thread. Now edit the starting point of the cylinder and use the generic point. This will ensure your probe will always start on the Minor diameter giving you better results.

    SCN7       =FEAT/SCAN,LINEAROPEN,NUMBER OF HITS=17,SHOW HITS=NO,SHOWALLPARAMS=YES
                EXEC MODE=DEFINED, NOMS MODE=NOMINALS,CLEARPLANE=NO,SINGLE POINT=NO,THICKNESS=0
                FINDNOMS=0.15,SELECTEDONLY=YES,USEBESTFIT=NO,PROBECOMP=YES,AVOIDANCE MOVE=NO,DISTANCE=0,CAD Compensation=NO,4-axis scan=NO
                DIR1=NULLFILTER,
                HITTYPE=VECTOR
                INITVEC=0.0019256,0,0.9999982
                DIRVEC=0,1,0
                CUTVEC=-0.9999982,0,0.0019256
                ENDVEC=0.0019256,0,0.9999982
                PLANEVEC=0,-1,0
                POINT1=0,-0.477,-2.698
                POINT2=0,-0.4228,-2.698
                MEAS/SCAN
                  BASICSCAN/LINE,NUMBER OF HITS=17,SHOW HITS=NO,SHOWALLPARAMS=YES
                  <0,-0.477,-2.698>,<0,-0.4228,-2.698>,CutVec=-0.9999982,0,0.0019256,DirVec=0,1,0
                  InitVec=0,0,1,EndVec=0,0,1,THICKNESS=0
                  FILTER/NULLFILTER,
                  EXEC MODE=DEFINED
                  BOUNDARY/PLANE,<0,-0.4228,-2.698>,PlaneVec=0,-1,0,Crossings=1
                  HITTYPE/VECTOR
                  NOMS MODE=NOM,0.15
                  ENDSCAN
                ENDMEAS/
                ASSIGN/V101=MAXINDEX(SCN7.HIT[1..SCN7.NUMHITS].Z)
    F3         =GENERIC/POINT,DEPENDENT,CARTESIAN,$
                NOM/XYZ,<SCN7.HIT[V101].X,SCN7.HIT[V101].Y,SCN7.HIT[V101].Z>,$
                MEAS/XYZ,<SCN7.HIT[V101].X,SCN7.HIT[V101].Y,SCN7.HIT[V101].Z>,$
                NOM/IJK,<0,0,1>,$
                MEAS/IJK,<0,0,1>
    CYL10      =FEAT/CONTACT/CYLINDER/ADAPTIVE_CYLINDER_SPIRAL_SCAN,CARTESIAN,IN,LEAST_SQR
                THEO/<0,F3.Y,-2.63>,<0,-1,0>,0.136,0.1
                ACTL/<-0.0002,-0.4479,-2.6298>,<0.0011409,-0.9999948,0.0030175>,0.1403,0.1
                TARG/<0,-0.477,-2.63>,<0,-1,0>
                START ANG=-90,END ANG=360
                ANGLE VEC=<1,0,0>
                DIRECTION=CW
                SHOW FEATURE PARAMETERS=YES
                  VOID DETECTION=NO
                  REMEASURE=NO,USE THEO=NO
                  SURFACE=THICKNESS_NONE,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=5,NUMLEVELS=4,DEPTH=0,END OFFSET=0,PITCH=0.0321
                  SAMPLE METHOD=SAMPLE_HITS
                  SAMPLE HITS=0,SPACER=0
                  AVOIDANCE MOVE=NO,DISTANCE=0.3937
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                SHOW HITS=NO
    
  • this is spot on! Make sure your start angle of your cylinder is rotated to match the orientation of your scan line, otherwise you will be hitting between threads, or offset from the minor.
  • GOOD GOD THAT SOUNDS LIKE A TON OF WORK.
    I just create a 10 hit (2 rows of 5) cylinder. approx. .050 depth and give it a little bit of pitch.
    Works like a charm. on occasion I adjust the pitch a little to see if I can get the hits cleaner.
  • you want precision, you need to do the work to get precision.
  • *shrugs shoulders*
    depends on the requirement.
    what would be the tightest tolerance required for you to deploy this strategy?
  • i use this on all threads regardless of Tol just because it is extremely repeatable. However most of our Tol on threads have a .005 thou position. This doesn't require alot of time either once u do a few becomes pretty fast.
  • When you said "along the thread", do you mean a horizontal scan or a vertical scan? Also, when I set this up offline, it looks like my cylinder isn't centered to the threaded hole on the CAD anymore. Is this normal?
  • Your goal is to take an array of hits (or a scan) along a radial cross-section of the threads.
    -I generally take a scan of hits that's 0.005" increments along a length of three pitches worth, just to be certain i get the actual point i need.
    --You would then extract the hit you feel you need to take. You can use that MAXINDEX or MININDEX to judge the pitch diameter (between minors), or the minor thread pitch. of course you will never get an accurate diameter for the PD, but if your minor thread is burred up or choppy, you can invert this assign max/min index function to zero your start point to probe directly in the middle of the minor's as applies.