; test points and resulting line PNT1 =FEAT/POINT,CARTESIAN,NO THEO/<432.03501,-1213.3127,50.2008>,<0,0,1> ACTL/<432.03501,-1213.3127,50.2008>,<0,0,1> CONSTR/POINT,CAST,PT_46_1 PNT2 =FEAT/POINT,CARTESIAN,NO THEO/<455.70566,-1213.79075,42.17132>,<0,0,1> ACTL/<455.70566,-1213.79075,42.17132>,<0,0,1> CONSTR/POINT,CAST,PT_46_2 PNT3 =FEAT/POINT,CARTESIAN,NO THEO/<479.38146,-1214.19232,34.15272>,<0,0,1> ACTL/<479.38146,-1214.19232,34.15272>,<0,0,1> CONSTR/POINT,CAST,PT_46_3 PNT4 =FEAT/POINT,CARTESIAN,NO THEO/<503.0449,-1214.60886,26.09845>,<0,0,1> ACTL/<503.0449,-1214.60886,26.09845>,<0,0,1> CONSTR/POINT,CAST,PT_46_4 PNT5 =FEAT/POINT,CARTESIAN,NO THEO/<526.72087,-1215.06874,18.08364>,<0,0,1> ACTL/<526.72087,-1215.06874,18.08364>,<0,0,1> CONSTR/POINT,CAST,PT_46_5 LIN1 =FEAT/LINE,CARTESIAN,UNBOUNDED,NO THEO/<432.0354,-1213.32863,50.20282>,<0.9468433,-0.0173208,-0.3212286> ACTL/<432.0354,-1213.32863,50.20282>,<0.9468433,-0.0173208,-0.3212286> CONSTR/LINE,BF,3D,PNT1,PNT2,PNT3,PNT4,PNT5,, OUTLIER_REMOVAL/OFF,3 FILTER/OFF,WAVELENGTH=0 ; straightness results DIM STRA3= STRAIGHTNESS OF LINE LIN1 UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=10.00 ARROWDENSITY=100 OUTPUT=BOTH AX NOMINAL +TOL -TOL MEAS DEV OUTTOL M 0.00000 0.01000 0.00000 0.04133 0.04133 0.03133 --------> FCFSTRA2 =GEOMETRIC_TOLERANCE/STANDARD=ASME Y14.5,SHOWEXPANDED=YES, UNITS=MM,OUTPUT=BOTH,ARROWDENSITY=100, SEGMENT_1,STRAIGHTNESS,DIAMETER,0.01,TOL_ZONE_MATH =DEFAULT, TEXT=OFF,CADGRAPH=OFF,REPORTGRAPH=OFF,MULT=10, MEASURED: LIN1:0.04623, ADD FEATURES/LIN1,, FCFSTRA3 =GEOMETRIC_TOLERANCE/STANDARD=ASME Y14.5,SHOWEXPANDED=YES, UNITS=MM,OUTPUT=BOTH,ARROWDENSITY=100, SEGMENT_1,STRAIGHTNESS,DIAMETER,0.01,TOL_ZONE_MATH =LSQ, TEXT=OFF,CADGRAPH=OFF,REPORTGRAPH=OFF,MULT=10, MEASURED: LIN1:0.05824, ADD FEATURES/LIN1,,
First off, why three different (and wrong) answers for the same thing?
The correct result is 0.04936 mm using the above data. I was able to verify this in PC-DMIS by creating an alignment from the best fit line and finding the smallest diameter circle containing all the input points:
A1 =ALIGNMENT/START,RECALL:MC_CSY,LIST=YES ALIGNMENT/LEVEL,ZPLUS,LIN1 ALIGNMENT/TRANS,XAXIS,LIN1 ALIGNMENT/TRANS,YAXIS,LIN1 ALIGNMENT/END CIR1 =FEAT/CIRCLE,CARTESIAN,IN,MIN_CIRCSC],NO THEO/<-0.00715,0.00477,463.95901>,<0,0,1>,0.04936 ACTL/<-0.00715,0.00477,463.95901>,<0,0,1>,0.04936 CONSTR/CIRCLE,BF,2D,PNT1,PNT2,PNT3,PNT4,PNT5,, OUTLIER_REMOVAL/OFF,3 FILTER/OFF,UPR=0
I did figure out the method PC-DMIS used to calculate the straightness with the GeoTol command when the TOL_ZONE_MATH is set to DEFAULT or LSQ (Least Squares is not a valid description by the way). Neither method results in the smallest containing cylinder. The legacy method is a mystery and clearly wrong.