hexagon logo

Extract sample points

Is it possible to extract the sample points taken on a diameter (Auto CIR or Auto CYL)? I have to measure the surfaces around some holes on an assembly and the hole locations and would just add more sample points than the standard (3) instead of measuring the diameter and measure a plane.
Parents
  • Why not measure the plane first, and use that plane as 'sample feature' for the CIR/CYL instead of sample points?

    I think this (^^^) would be the easiest in the long run. However, if you had to extract the sample hits something like this could work...

    CYL6       =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<0,0,0>,<0,0,1>,0.5,0.375
                ACTL/<0,0,0>,<0,0,1>,0.5,0.375
                TARG/<0,0,0>,<0,0,1>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                REPORT VEC=<0.2706061,0.653305,0.707082>
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=6,NUMLEVELS=2,DEPTH=0.2,END OFFSET=1,PITCH=0
                  SAMPLE METHOD=SAMPLE_HITS
                  SAMPLE HITS=3,SPACER=0.25
                  AVOIDANCE MOVE=BOTH,DISTANCE=0.375
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                SHOW HITS=NO
                ASSIGN/V1=GETTEXT("SAMPLE_HIT_THEO_X",1,{CYL6})
                ASSIGN/V2=GETTEXT("SAMPLE_HIT_THEO_Y",1,{CYL6})
                ASSIGN/V3=GETTEXT("SAMPLE_HIT_THEO_Z",1,{CYL6})
                ASSIGN/V4=GETTEXT("SAMPLE_HIT_THEO_I",1,{CYL6})
                ASSIGN/V5=GETTEXT("SAMPLE_HIT_THEO_J",1,{CYL6})
                ASSIGN/V6=GETTEXT("SAMPLE_HIT_THEO_K",1,{CYL6})
                ASSIGN/V7=GETTEXT("SAMPLE_HIT_MEAS_X",1,{CYL6})
                ASSIGN/V8=GETTEXT("SAMPLE_HIT_MEAS_Y",1,{CYL6})
                ASSIGN/V9=GETTEXT("SAMPLE_HIT_MEAS_Z",1,{CYL6})
    F1         =GENERIC/POINT,DEPENDENT,CARTESIAN,$
                NOM/XYZ,<V1,V2,V3>,$
                MEAS/XYZ,<V7,V8,V9>,$
                NOM/IJK,<V4,V5,V6>,$
                MEAS/IJK,<V4,V5,V6>
    DIM LOC1= LOCATION OF POINT F1  UNITS=IN ,$
    GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  HALF ANGLE=NO
    AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
    X       0.5000     0.0020    -0.0020     0.5000     0.0000     0.0000 ----#----
    Y       0.0000     0.0020    -0.0020     0.0000     0.0000     0.0000 ----#----
    Z       0.0000     0.0020    -0.0020     0.0000     0.0000     0.0000 ----#----
    END OF DIMENSION LOC1

    This only gets the first sample hit. You would need to repeat as needed for whatever number of sample hits you have. Just increment the index number ( "1" in this case and immediately before the feature label reference). Seems like a lot of work though.
Reply
  • Why not measure the plane first, and use that plane as 'sample feature' for the CIR/CYL instead of sample points?

    I think this (^^^) would be the easiest in the long run. However, if you had to extract the sample hits something like this could work...

    CYL6       =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<0,0,0>,<0,0,1>,0.5,0.375
                ACTL/<0,0,0>,<0,0,1>,0.5,0.375
                TARG/<0,0,0>,<0,0,1>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                REPORT VEC=<0.2706061,0.653305,0.707082>
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=6,NUMLEVELS=2,DEPTH=0.2,END OFFSET=1,PITCH=0
                  SAMPLE METHOD=SAMPLE_HITS
                  SAMPLE HITS=3,SPACER=0.25
                  AVOIDANCE MOVE=BOTH,DISTANCE=0.375
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                SHOW HITS=NO
                ASSIGN/V1=GETTEXT("SAMPLE_HIT_THEO_X",1,{CYL6})
                ASSIGN/V2=GETTEXT("SAMPLE_HIT_THEO_Y",1,{CYL6})
                ASSIGN/V3=GETTEXT("SAMPLE_HIT_THEO_Z",1,{CYL6})
                ASSIGN/V4=GETTEXT("SAMPLE_HIT_THEO_I",1,{CYL6})
                ASSIGN/V5=GETTEXT("SAMPLE_HIT_THEO_J",1,{CYL6})
                ASSIGN/V6=GETTEXT("SAMPLE_HIT_THEO_K",1,{CYL6})
                ASSIGN/V7=GETTEXT("SAMPLE_HIT_MEAS_X",1,{CYL6})
                ASSIGN/V8=GETTEXT("SAMPLE_HIT_MEAS_Y",1,{CYL6})
                ASSIGN/V9=GETTEXT("SAMPLE_HIT_MEAS_Z",1,{CYL6})
    F1         =GENERIC/POINT,DEPENDENT,CARTESIAN,$
                NOM/XYZ,<V1,V2,V3>,$
                MEAS/XYZ,<V7,V8,V9>,$
                NOM/IJK,<V4,V5,V6>,$
                MEAS/IJK,<V4,V5,V6>
    DIM LOC1= LOCATION OF POINT F1  UNITS=IN ,$
    GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  HALF ANGLE=NO
    AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
    X       0.5000     0.0020    -0.0020     0.5000     0.0000     0.0000 ----#----
    Y       0.0000     0.0020    -0.0020     0.0000     0.0000     0.0000 ----#----
    Z       0.0000     0.0020    -0.0020     0.0000     0.0000     0.0000 ----#----
    END OF DIMENSION LOC1

    This only gets the first sample hit. You would need to repeat as needed for whatever number of sample hits you have. Just increment the index number ( "1" in this case and immediately before the feature label reference). Seems like a lot of work though.
Children
No Data