Your Products have been synced, click here to refresh
C1=COMMENT/INPUT, enter the number of tooth ASSIGN/V1=SQRT(DOT(SCAN1.HIT[1..SCAN1.NUMHITS].XYZ-CIRC1.XYZ,SCAN1.HIT[1..SCAN1.NUMHITS].XYZ-CIRC1.XYZ)) ASSIGN/V2=MININDEX(V1)..........................................or maxindex for an OD, it's used to align on the hihest / lowest hit) ASSIGN/V3=SCAN1.HIT[V2].XYZ F1=GENERIC/POINT,DEPENDENT,CARTESIAN,OUT,$ NOM/XYZ,<V3.X,V3.Y,V3.Z>,$ MEAS/XYZ,<V3.X,V3.Y,V3.Z>,$ NOM/IJK,<0,0,1>,$ MEAS/IJK,<0,0,1>,$ A2=ALIGNMENT/START,RECALL:A1,LIST=YES ALIGNMENT/LEVEL,ZPLUS,PLN1 ALIGNMENT/ROTATE_CIRCLE,CIRC1,F1 ALIGNMENT/TRANS,XAXIS,CIRC1 ALIGNMENT/TRANS,YAXIS,CIRC1 ALIGNMENT/TRANS,ZAXIS,PLN1 ALIGNMENT/END ASSIGN/ANG_HIT=RAD2DEG(ATAN(SCAN1.HIT[1..SCAN1.NUMHITS].Y/(SCAN1.HIT[1..SCAN1.NUMHITS].X+0.0000000001) ASSIGN/COR_TAN=(((SCAN1.HIT[1..SCAN1.NUMHITS].X-ABS(SCAN1.HIT[1..SCAN1.NUMHITS].X))/((SCAN1.HIT[1..SCAN1.NUMHITS].X-ABS(SCAN1.HIT[1..SCAN1.NUMHITS].X)))*90.....(array of 0 or 180) ASSIGN/ANG_COR=ANG_HIT+COR_ANG ASSIGN/ANGL_TH=360/C1.INPUT V4 =LOOP/START,ID=YES,NUMBER=C1.INPUT,START=1,SKIP=, OFFSET:XAXIS=0,YAXIS=0,ZAXIS=0,ANGLE=0 ASSIGN/ANGL1=ANGL_TH*(V4-1) ASSIGN/V5=MININDEX(ABS(ANG_COR-ANGL1))................................................searching the closest hit of the actual tooth ASSIGN/V6=SCAN1.HIT[V2].XYZ F2=GENERIC/POINT,DEPENDENT,CARTESIAN,OUT,$ NOM/XYZ,<V6.X,V6.Y,V6.Z>,$ MEAS/XYZ,<V6.X,V6.Y,V6.Z>,$ NOM/IJK,<0,0,1>,$ MEAS/IJK,<0,0,1>,$ LOOP/END CIR2 =FEAT/CIRCLE,CARTESIAN,IN,LEAST_SQR,YES THEO/<0,0,0>,<0,0,1>,50 ACTL/<0,0,0>,<0,0,1>,50 CONSTR/CIRCLE,BF,2D,F2[1..C1.INPUT],, OUTLIER_REMOVAL/OFF,3 FILTER/OFF,UPR=0
© 2024 Hexagon AB and/or its subsidiaries. | Privacy Policy | Cloud Services Agreement |