hexagon logo

Point auto trigger error work around

One issue I have found with Portable Arm inspection is with the Point AutoTrigger. It creates a Cylindrical Zone of measurement. This is nice but, the length of the zone is infinite. With an infinite Length zone the operator can... and will accidentally take a point off of the part and except the bad hit.

The code below looks at the points and checks to see it the error from one point to the next is greater than a given value. If it is, the operator is asked if he would like to re-run the feature"in this case a plane".

This gives the operator the ability to spend a few seconds to re run the feature verses the whole part or alternatively just dump bad data into your quality information system. Its a simple code but, I thought someone might find it useful. Slight smile


ASSIGN/BOSS_3_R1=10
BOSS_3_REDO=LABEL/
            POINT AUTOTRIGGER/ON, ON, 1
BOSS_3_1   =FEAT/CONTACT/VECTOR POINT/DEFAULT,POLAR
            THEO/<BOSS_3_R1,0,0>,<0,0,1>
            ACTL/<10,0,0>,<0,0,1>
            TARG/<BOSS_3_R1,0,0>,<0,0,1>
            SNAP=NO
            SHOW FEATURE PARAMETERS=NO
            SHOW CONTACT PARAMETERS=YES
              AVOIDANCE MOVE=BOTH,DISTANCE=20
            SHOW HITS=NO
BOSS_3_2   =FEAT/CONTACT/VECTOR POINT/DEFAULT,POLAR
            THEO/<BOSS_3_R1,90,0>,<0,0,1>
            ACTL/<10,90,0>,<0,0,1>
            TARG/<BOSS_3_R1,90,0>,<0,0,1>
            SNAP=NO
            SHOW FEATURE PARAMETERS=NO
            SHOW CONTACT PARAMETERS=YES
              AVOIDANCE MOVE=BOTH,DISTANCE=20
            SHOW HITS=NO
BOSS_3_3   =FEAT/CONTACT/VECTOR POINT/DEFAULT,POLAR
            THEO/<BOSS_3_R1,180,0>,<0,0,1>
            ACTL/<10,180,0>,<0,0,1>
            TARG/<BOSS_3_R1,180,0>,<0,0,1>
            SNAP=NO
            SHOW FEATURE PARAMETERS=NO
            SHOW CONTACT PARAMETERS=YES
              AVOIDANCE MOVE=BOTH,DISTANCE=20
            SHOW HITS=NO
BOSS_3_4   =FEAT/CONTACT/VECTOR POINT/DEFAULT,POLAR
            THEO/<BOSS_3_R1,270,0>,<0,0,1>
            ACTL/<10,270,0>,<0,0,1>
            TARG/<BOSS_3_R1,270,0>,<0,0,1>
            SNAP=NO
            SHOW FEATURE PARAMETERS=NO
            SHOW CONTACT PARAMETERS=YES
              AVOIDANCE MOVE=BOTH,DISTANCE=20
            SHOW HITS=NO
BOSS_3_5   =FEAT/CONTACT/VECTOR POINT/DEFAULT,POLAR
            THEO/<0,90,0>,<0,0,1>
            ACTL/<0,0,0>,<0,0,1>
            TARG/<0,90,0>,<0,0,1>
            SNAP=NO
            SHOW FEATURE PARAMETERS=NO
            SHOW CONTACT PARAMETERS=YES
              AVOIDANCE MOVE=BOTH,DISTANCE=20
            SHOW HITS=NO
BOSS_3_PLN =FEAT/PLANE,CARTESIAN,TRIANGLE,NO
            THEO/<0,0,0>,<0,0,1>
            ACTL/<0,0,0>,<0,0,1>
            CONSTR/PLANE,BF,BOSS_3_1,BOSS_3_2,BOSS_3_3,BOSS_3_4,BOSS_3_5,,
            OUTLIER_REMOVAL/OFF,3
            FILTER/OFF,WAVELENGTH=0
            ASSIGN/BOSS_3_T1=BOSS_3_1.Z.ACTL
            ASSIGN/BOSS_3_T2=BOSS_3_2.Z.ACTL
            ASSIGN/BOSS_3_T3=BOSS_3_3.Z.ACTL
            ASSIGN/BOSS_3_T4=BOSS_3_4.Z.ACTL
            ASSIGN/BOSS_3_T5=BOSS_3_5.Z.ACTL
            IF_GOTO/BOSS_3_T1-BOSS_3_T2>=0.5 OR BOSS_3_T1-BOSS_3_T2<=-0.5,GOTO = BOSS_3_NOTE
            IF_GOTO/BOSS_3_T2-BOSS_3_T3>=0.5 OR BOSS_3_T2-BOSS_3_T3<=-0.5,GOTO = BOSS_3_NOTE
            IF_GOTO/BOSS_3_T3-BOSS_3_T4>=0.5 OR BOSS_3_T3-BOSS_3_T4<=-0.5,GOTO = BOSS_3_NOTE
            IF_GOTO/BOSS_3_T4-BOSS_3_T5>=0.5 OR BOSS_3_T4-BOSS_3_T5<=-0.5,GOTO = BOSS_3_NOTE
            IF_GOTO/BOSS_3_T5-BOSS_3_T1>=0.5 OR BOSS_3_T5-BOSS_3_T1<=-0.5,GOTO = BOSS_3_NOTE
            GOTO/BOSS_3_OK
BOSS_3_NOTE=LABEL/
BOSS_3_INPUT =COMMENT/YESNO,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
            THE ERROR FROM POINT TO POINT IS GREATER THEN 0.5MM
            PUSH YES TO RERUN POINTS OR NO TO EXCEPT THE ERROR
            IF_GOTO/BOSS_3_INPUT.INPUT=="YES",GOTO = BOSS_3_REDO
BOSS_3_OK  =LABEL/
Parents Reply Children
No Data