用不同算法計算特徵
出自 ArcoWiki
To calculate a feature with different algorithm it is not necessary to re-measure the feature itself, but it is possible to re-fit using the existing points.
This functionality is typically used to build a feature from an existing point cloud or recalculate an element using a different fitting algorithm.
This statement is manually written without user interface.
$$Begin Example
MODE/PROG,MAN
F(CIR_61)=FEAT/CIRCLE,INNER,CART,0,0,0,0,0,1,250
MEAS/CIRCLE,F(CIR_61),100
ENDMES
$$FILTERING
F(CIR_62)=FEAT/CIRCLE,INNER,CART,0,0,0,0,0,1,250
GEOALG/CIRCLE,LSTSQR,FILTER,CIRCULAR,LOWPASS,6.0,GAUSS
CONST/CIRCLE,F(CIR_62),TR,FA(CIR_61)
$$getting point number for the feature
DECL/INTGR,pointNum
$$use this
pointNum=ASSIGN/PTDATA(FA(CIR_2111))
$$or this
pointNum=VALUE/FA(CIR_2111),PTDATA
$$refitting using MINCIR
GEOALG/CIRCLE,MINCIR
F(CIR_2F_MIN)=FEAT/CIRCLE,INNER,CART,0.0,0.0,16.0,0,0,1,32.0
CONST/CIRCLE,F(CIR_2F_MIN),BF,FA(CIR_2111)[1],FA(CIR_2111)[2,pointNum]
$$refitting using LEASTSQUARE
GEOALG/CIRCLE,LSTSQR
F(CIR_2F_least)=FEAT/CIRCLE,INNER,CART,0.0,0.0,16.0,0,0,1,32.0
CONST/CIRCLE,F(CIR_2F_least),BF,FA(CIR_2111)[1],FA(CIR_2111)[2,pointNum]
$$fitting plane using points from Circle
F(PLA_1)=FEAT/PLANE,CART,0.0,0.0,16.0,0,0,1
CONST/PLANE,F(PLA_1),BF,FA(CIR_2111)[1],FA(CIR_2111)[2,pointNum]