hexagon logo

Scanning flatness is a specified area

We need to scan a surface with a hole in it and measure the flatness in a specified radius around the hole. Is there a way to set the radius so that only the specified area is reported instead of the entire scanned surface?
Parents
  • You would need to use a SELECT cop operator using the circular method to segregate the part of the surface you are interested in. Then you could create a plane from the selected points and report flatness of that plane. I must point out though, that unless it's a fairly large flatness tolerance, laser data may not be accurate enough.

    This is a mocked up example of how I would do it (all data is offline)

    Extract the circle first.
    CIR1 =FEAT/LASER/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
    THEO/<2917.46,-696.5,757.96>,<0,1,0>,13.041
    ACTL/<2917.49,-696.5,757.99>,<0,1,0>,13.013
    TARG/<2917.46,-696.5,757.96>,<0,1,0>
    ANGLE VEC=<-1,0,0>
    DEPTH=0.01,START ANG=180,END ANG=5
    DIRECTION=CCW
    SHOW FEATURE PARAMETERS=NO
    SHOW_LASER_PARAMETERS=NO


    Create a new alignment that origins X, Y & Z on your circle
    A1 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/TRANS,XAXIS,CIR1
    ALIGNMENT/TRANS,YAXIS,CIR1
    ALIGNMENT/TRANS,ZAXIS,CIR1
    ALIGNMENT/END


    Insert the SELECT cop operator then edit the X, Y, Z, I, J, K and Diameter values in the edit window (you will need to be in command mode)
    COPSELECTION1=COP/OPER,SELECT,CIRCLE,INSIDE=YES,FRONT_FACING=NO,
    <0,0,0>,<0,1,0>,16,0,
    SIZE=1714,REF=COP1,,


    Construct a BFRE plane from the segregated points
    PLN1 =FEAT/PLANE,CARTESIAN,TRIANGLE,NO,LEAST_SQR
    THEO/<-0.115,0,4.151>,<0,1,0>
    ACTL/<-0.115,0,4.151>,<0,1,0>
    CONSTR/PLANE,BFRE,COPSELECTION1,,
    OUTLIER_REMOVAL/ON,3
    FILTER/OFF,WAVELENGTH=0


    Report flatness of the plane
    FCFFLAT1 =GEOMETRIC_TOLERANCE/STANDARD=ISO 1101,SHOWEXPANDED=YES,
    UNITS=MM,OUTPUT=BOTH,ARROWDENSITY=100,
    SEGMENT_1,FLATNESS,1,TOL_ZONE_MATH=DEFAULT,
    TEXT=OFF,CADGRAPH=OFF,REPORTGRAPH=OFF,MULT=10,
    MEASURED:
    PLN1:0.000,
    ADD
    FEATURES/PLN1,,
Reply
  • You would need to use a SELECT cop operator using the circular method to segregate the part of the surface you are interested in. Then you could create a plane from the selected points and report flatness of that plane. I must point out though, that unless it's a fairly large flatness tolerance, laser data may not be accurate enough.

    This is a mocked up example of how I would do it (all data is offline)

    Extract the circle first.
    CIR1 =FEAT/LASER/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
    THEO/<2917.46,-696.5,757.96>,<0,1,0>,13.041
    ACTL/<2917.49,-696.5,757.99>,<0,1,0>,13.013
    TARG/<2917.46,-696.5,757.96>,<0,1,0>
    ANGLE VEC=<-1,0,0>
    DEPTH=0.01,START ANG=180,END ANG=5
    DIRECTION=CCW
    SHOW FEATURE PARAMETERS=NO
    SHOW_LASER_PARAMETERS=NO


    Create a new alignment that origins X, Y & Z on your circle
    A1 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/TRANS,XAXIS,CIR1
    ALIGNMENT/TRANS,YAXIS,CIR1
    ALIGNMENT/TRANS,ZAXIS,CIR1
    ALIGNMENT/END


    Insert the SELECT cop operator then edit the X, Y, Z, I, J, K and Diameter values in the edit window (you will need to be in command mode)
    COPSELECTION1=COP/OPER,SELECT,CIRCLE,INSIDE=YES,FRONT_FACING=NO,
    <0,0,0>,<0,1,0>,16,0,
    SIZE=1714,REF=COP1,,


    Construct a BFRE plane from the segregated points
    PLN1 =FEAT/PLANE,CARTESIAN,TRIANGLE,NO,LEAST_SQR
    THEO/<-0.115,0,4.151>,<0,1,0>
    ACTL/<-0.115,0,4.151>,<0,1,0>
    CONSTR/PLANE,BFRE,COPSELECTION1,,
    OUTLIER_REMOVAL/ON,3
    FILTER/OFF,WAVELENGTH=0


    Report flatness of the plane
    FCFFLAT1 =GEOMETRIC_TOLERANCE/STANDARD=ISO 1101,SHOWEXPANDED=YES,
    UNITS=MM,OUTPUT=BOTH,ARROWDENSITY=100,
    SEGMENT_1,FLATNESS,1,TOL_ZONE_MATH=DEFAULT,
    TEXT=OFF,CADGRAPH=OFF,REPORTGRAPH=OFF,MULT=10,
    MEASURED:
    PLN1:0.000,
    ADD
    FEATURES/PLN1,,
Children
No Data