10000 PROGRAM SECTION ONE 10001 CALC $NUM1 = 4E+08 10002 CALC $NM = 1 10003 SELECT TNPOLY.AAT 10004 DISPLAY 'SORTING TNPOLY.AAT BY LPOLY#' 10005 SORT LPOLY# 10006 RELATE LPOLYNODES BY LPOLY# INIT 10007 CALC $1LPOLY# = LPOLY# 10008 DISPLAY 'INITALLIZING LPOLYNODES: ',$NOSEL,' RECORDS' 10009 CALC $1NODE3 = -1 10010 CALC $1ENDNODE = -1 10011 CALC $1NODE1 = TNODE# 10012 CALC $1NODE2 = FNODE# 10013 DISPLAY 'ENTERING BY-RECORD SECTION FOR LPOLY#' 20000 PROGRAM SECTION 20001 IF TNODE# NE $1NODE1 20002 IF TNODE# NE $1NODE2 20003 IF $1ENDNODE LE 0 20004 CALC $1NODE3 = TNODE# 20005 ENDIF 20006 ENDIF 20007 ENDIF 20008 IF FNODE# NE $1NODE1 20009 IF FNODE# NE $1NODE2 20010 IF $1ENDNODE LE 0 20011 CALC $1NODE3 = FNODE# 20012 ENDIF 20013 ENDIF 20014 ENDIF 30000 PROGRAM SECTION 30001 SEL LPOLYNODES 30002 RESELECT NODE1 = NODE3 30003 ASELECT NODE2 = NODE3 30004 DISPLAY $NOSEL,' FACES HAVE BAD NODE3 VALUES IN LPOLYNODES' 30005 DISPLAY 'SORTING TNPOLY.AAT BY RPOLY#' 30006 SEL TNPOLY.AAT 30007 SORT RPOLY# 30008 RELATE RPOLYNODES BY RPOLY# INIT 30009 CALC $1RPOLY# = RPOLY# 30010 CALC $1NODE3 = -1 30011 CALC $1ENDNODE = -1 30012 CALC $1NODE1 = TNODE# 30013 CALC $1NODE2 = FNODE# 30014 DISPLAY 'ENTERING BY-RECORD SECTION FOR RPOLY# WITH',$NOSEL,' RECORDS' 40000 PROGRAM SECTION 40001 IF TNODE# NE $1NODE1 40002 IF TNODE# NE $1NODE2 40003 IF $1ENDNODE NE 0 40004 CALC $1NODE3 = TNODE# 40005 ENDIF 40006 ENDIF 40007 ENDIF 40008 IF FNODE# NE $1NODE1 40009 IF FNODE# NE $1NODE2 40010 IF $1ENDNODE NE 0 40011 CALC $1NODE3 = FNODE# 40012 ENDIF 40013 ENDIF 40014 ENDIF 50000 PROGRAM SECTION 50001 SEL RPOLYNODES 50002 RESELECT NODE1 = NODE3 50003 ASEL NODE2 = NODE3 50004 DISPLAY $NOSEL,' FACES HAVE INCORRECT NODE3 VALUES IN RPOLYNODES' 50005 DISPLAY 'TAKING CARE OF THINGS...' 50006 SEL TNPOLY.AAT 50007 SORT TNPOLY#, 50008 SEL LPOLYNODES 50009 DISPLAY 'MOVING LPOLYS OVER TO TMPOLYNODES' 50010 SORT TNPOLY# 50011 RELATE TMPPOLYNODES BY LPOLY# INIT 50012 CALC $1LPOLY# = LPOLY# 50013 CALC $1NODE1 = NODE1 50014 CALC $1NODE2 = NODE2 50015 CALC $1NODE3 = NODE3 50016 CALC $1ENDNODE = ENDNODE 50017 SEL RPOLYNODES 50018 DISPLAY 'MOVING RPOLYS OVER TO TMPOLYNODES' 50019 RELATE TMPPOLYNODES BY RPOLY# APPEND 50020 CALC $1LPOLY# = LPOLY# 50021 CALC $1NODE1 = NODE1 50022 CALC $1NODE2 = NODE2 50023 CALC $1NODE3 = NODE3 50024 CALC $1ENDNODE = -1 50025 SEL TMPPOLYNODES 50026 DISPLAY 'MOVING COMPLETED POLYS OVER TO POLYNODES' 50027 RESELECT NODE3 GT 0 50028 RESELECT NODE3 LT $NUM1 50029 SORT TNPOLY#,NODE1,NODE2,NODE3 50030 RELATE POLYNODES BY TNPOLY# INIT 50031 CALC $1LPOLY# = LPOLY# 50032 CALC $1NODE1 = NODE1 50033 CALC $1NODE2 = NODE2 50034 CALC $1ENDNODE = ENDNODE 50035 CALC $1NODE3 = NODE3 50036 SELECT TMPPOLYNODES 50037 RESELECT NODE3 GT 0 50038 RESELECT NODE3 LT $NUM1 50039 PURGE 50040 SORT TNPOLY#,NODE1,NODE2 50041 RELATE TMP2POLYNODES BY TNPOLY# INIT 50042 CALC $1TNPOLY# = TNPOLY# 50043 CALC $1NODE1 = NODE1 50044 CALC $1NODE2 = NODE2 50045 CALC $1ENDNODE = ENDNODE 50046 DISPLAY 'ENTERING BY-RECORD SECTION FOR COMPLETIONS OF INCOMPLETE POLYS' 60000 PROGRAM SECTION 60001 IF NODE1 NE $1NODE1 60002 IF NODE1 NE $1NODE2 60003 IF $1ENDNODE LE 0 60004 CALC $1NODE3 = NODE1 60005 ENDIF 60006 ENDIF 60007 ENDIF 60008 IF NODE2 NE $1NODE1 60009 IF NODE2 NE $1NODE2 60010 IF $1ENDNODE LE 0 60011 CALC $1NODE3 = NODE2 60012 ENDIF 60013 ENDIF 60014 ENDIF 70000 PROGRAM SECTION 70001 SEL TMP2POLYNODES RES ENDNODE GT $NUM1 PURGE 70002 RELATE POLYNODES BY TNPOLY# APPEND 70003 CALC $1TNPOLY# = TNPOLY# 70004 CALC $1NODE1 = NODE1 70005 CALC $1NODE2 = NODE2 70006 CALC $1NODE3 = NODE3 70007 CALC $1ENDNODE = ENDNODE SELECT POLYNODES RES NODE3 GE 5E+08 PURGE 70008 SORT TNPOLY# 70009 DISPLAY 'CLEANING UP SOME TRASH....' 70013 CALC NODE1 = NODE1 - 1 70014 CALC NODE2 = NODE2 - 1 70015 CALC NODE3 = NODE3 - 1 70016 CALC ENDNODE = -1 70017 SEL TMPPOLYNODES 70018 PURGE 70019 SEL LPOLYNODES 70020 PURGE 70021 SEL RPOLYNODES 70022 PURGE 70023 SEL TMP2POLYNODES 70024 PURGE 70025 DISPLAY 'WHEW! I THINK THAT WE ARE READY TO WRITE A .WRL FILE' 70026 END