hexagon logo

PC-DMIS 3D Line Straightness

PC-DMIS appears to have issues calculating the proper straightness of a 3D line. The definition of straightness from the PC-DMIS online help is: This is the diameter of a cylinder that contains all the input points. A best-fitting routine determines the axis of the cylinder. If this is actually what PC-DMIS is using then the results are wrong using any method available in PC-DMIS.

; 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.
Parents
  • There is some rounding to the 5th decimal place in the above data and that is probably why your result is slightly different. You should get identical results with the original test data (see below).

    Note: This is 1 of 50 sets I created for testing. The only ones PC-DMIS got right were the two point lines!

    432.035011 -1213.312697 50.200802
    455.705657 -1213.790748 42.171318
    479.381464 -1214.192316 34.152720
    503.044899 -1214.608860 26.098445
    526.720865 -1215.068737 18.083636​
Reply
  • There is some rounding to the 5th decimal place in the above data and that is probably why your result is slightly different. You should get identical results with the original test data (see below).

    Note: This is 1 of 50 sets I created for testing. The only ones PC-DMIS got right were the two point lines!

    432.035011 -1213.312697 50.200802
    455.705657 -1213.790748 42.171318
    479.381464 -1214.192316 34.152720
    503.044899 -1214.608860 26.098445
    526.720865 -1215.068737 18.083636​
Children
No Data