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.
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/