DECL/INTGR,IND,I,J,K
 DECL/REAL,SPREAD,BEST_SPREAD,HI_POINT,LOW_POINT,CURRENT
 DECL/CHAR,20,PLANE_PTS[36],MEASURE_PTS[72]
DOLOOP=ASSIGN/1
 IND=ASSIGN/1
 I=ASSIGN/1
DO/DOLOOP,1,18,1
 DO/IND,1,4,1
 LABEL=ASSIGN/CONCAT(‘STRUT-’,STR(DOLOOP),’-’,STR(IND))
 CURRENT=OBTAIN/FA(@LABEL),5
MEASURE_PTS[I]=ASSIGN/LABEL
I=ASSIGN/I+1
IF/(CURRENT .GT. HI_POINT)
  HI_POINT=ASSIGN/CURRENT
ENDIF
IF/(CURRENT .LT. LOW_POINT)
  LOW_POINT=ASSIGN/CURRENT
ENDIFENDDO
 ENDDO
SPREAD=ASSIGN/HI_POINT-LOW_POINT
IF/(SPREAD .LE. 0.012)
 JUMPTO/(SKIP_PLANE)
 ENDIF
DOLOOP=ASSIGN/1
 IND=ASSIGN/1
 I=ASSIGN/1
DO/DOLOOP,1,18,1
 DO/IND,1,2,1
 LABEL=ASSIGN/CONCAT(‘ZERO_PT-’,STR(DOLOOP),’-’,STR(IND))
 PLANE_PTS[I]=ASSIGN/LABEL
 I=ASSIGN/I+1
 ENDDO
 ENDDO
I=ASSIGN/1
 J=ASSIGN/I+1
 K=ASSIGN/J+1
 IND=ASSIGN/1
HI_POINT=ASSIGN/0
 LOW_POINT=ASSIGN/0
 SPREAD=ASSIGN/0
 BEST_SPREAD=ASSIGN/1
F(BEST_PLN)=FEAT/PLANE,CART, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 1.0000
 F(TEST_PLN)=FEAT/PLANE,CART, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 1.0000
 T(PT_DIST)=TOL/DISTB,NOMINL,0.0000,-0.1000,0.1000,PT2PT,MINDECL/REAL,DISTANCE[72]
DO/I,1,34,1
 J=ASSIGN/I+1
 DO/J,J,35,1
 K=ASSIGN/J+1
 DO/K,K,36,1
CONST/PLANE,F(TEST_PLN),BF,FA(@PLANE_PTS[I]),FA(@PLANE_PTS[J]),FA(@PLANE_PTS[K])
  IND=ASSIGN/1
  DO/IND,1,72,1
    EVAL/FA(TEST_PLN),FA(@MEASURE_PTS[IND]),T(PT_DIST)
    $$ DISTANCE[IND]=OBTAIN/TA(PT_DIST),4
    CURRENT=OBTAIN/TA(PT_DIST),4
    $$ CONST/LINE,F(PERP_LINE),PERPTO,FA(TEST_PLN),THRU,FA(@MEA SURE_PTS[IND])
    $$ *** NEED VECTOR SIGN HERE *** $$
    IF/(CURRENT .GT. HI_POINT)
      HI_POINT=ASSIGN/CURRENT
    ENDIF
    IF/(CURRENT .LT. LOW_POINT)
      LOW_POINT=ASSIGN/CURRENT
    ENDIF
    SPREAD=ASSIGN/HI_POINT-LOW_POINT
    IF/(SPREAD .LE. BEST_SPREAD)
      BEST_SPREAD=ASSIGN/SPREAD
      CONST/PLANE,F(BEST_PLN),BF,FA(@PLANE_PTS[I]),FA(@PLANE_PTS[J]),FA(@PLANE_PTS[K])
    ENDIF
  ENDDO
ENDDOENDDO
 ENDDO
 DECL/INTGR,IND,I,J,K
 DECL/REAL,SPREAD,BEST_SPREAD,HI_POINT,LOW_POINT,CURRENT
 DECL/CHAR,20,PLANE_PTS[36],MEASURE_PTS[72]
DOLOOP=ASSIGN/1
 IND=ASSIGN/1
 I=ASSIGN/1
DO/DOLOOP,1,18,1
 DO/IND,1,4,1
 LABEL=ASSIGN/CONCAT(‘STRUT-’,STR(DOLOOP),’-’,STR(IND))
 CURRENT=OBTAIN/FA(@LABEL),5
MEASURE_PTS[I]=ASSIGN/LABEL
 I=ASSIGN/I+1
IF/(CURRENT .GT. HI_POINT)
 HI_POINT=ASSIGN/CURRENT
 ENDIF
IF/(CURRENT .LT. LOW_POINT)
 LOW_POINT=ASSIGN/CURRENT
 ENDIF
 ENDDO
 ENDDO
SPREAD=ASSIGN/HI_POINT-LOW_POINT
IF/(SPREAD .LE. 0.012)
 JUMPTO/(SKIP_PLANE)
 ENDIF
DOLOOP=ASSIGN/1
 IND=ASSIGN/1
 I=ASSIGN/1
DO/DOLOOP,1,18,1
 DO/IND,1,2,1
 LABEL=ASSIGN/CONCAT(‘ZERO_PT-’,STR(DOLOOP),’-’,STR(IND))
 PLANE_PTS[I]=ASSIGN/LABEL
 I=ASSIGN/I+1
 ENDDO
 ENDDO
I=ASSIGN/1
 J=ASSIGN/I+1
 K=ASSIGN/J+1
 IND=ASSIGN/1
HI_POINT=ASSIGN/0
 LOW_POINT=ASSIGN/0
 SPREAD=ASSIGN/0
 BEST_SPREAD=ASSIGN/1
F(BEST_PLN)=FEAT/PLANE,CART, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 1.0000
 F(TEST_PLN)=FEAT/PLANE,CART, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 1.0000
 T(PT_DIST)=TOL/DISTB,NOMINL,0.0000,-0.1000,0.1000,PT2PT,MINDECL/REAL,DISTANCE[72]
DO/I,1,34,1
 J=ASSIGN/I+1
 DO/J,J,35,1
 K=ASSIGN/J+1
 DO/K,K,36,1
CONST/PLANE,F(TEST_PLN),BF,FA(@PLANE_PTS[I]),FA(@PLANE_PTS[J]),FA(@PLANE_PTS[K])
IND=ASSIGN/1
DO/IND,1,72,1
 EVAL/FA(TEST_PLN),FA(@MEASURE_PTS[IND]),T(PT_DIST)
 $$ DISTANCE[IND]=OBTAIN/TA(PT_DIST),4
 CURRENT=OBTAIN/TA(PT_DIST),4
$$ CONST/LINE,F(PERP_LINE),PERPTO,FA(TEST_PLN),THRU,FA(@MEA SURE_PTS[IND])
IF/(CURRENT .GT. HI_POINT)
 HI_POINT=ASSIGN/CURRENT
 ENDIF
IF/(CURRENT .LT. LOW_POINT)
 LOW_POINT=ASSIGN/CURRENT
 ENDIF
SPREAD=ASSIGN/HI_POINT-LOW_POINT
IF/(SPREAD .LE. BEST_SPREAD)
 BEST_SPREAD=ASSIGN/SPREAD
 CONST/PLANE,F(BEST_PLN),BF,FA(@PLANE_PTS[I]),FA(@PLANE_PTS[J]),FA(@PLANE_PTS[K])
 ENDIF
ENDDO
ENDDO
 ENDDO
 ENDDO
                
                










