# # t5.1.ot # A single cell with a variety of polygons # Geometrical objects reader capabilities # POLYGON record reading # Repetitions of polygons # Polygon-related modal variables # # begin_lib 0.001 # begin_cell {ABC} # boundary 1 2 {0 100} {0 200} {100 200} {100 150} {150 150} {150 100} {0 100} # boundary 1 2 {-200 400} {-200 500} {-100 500} {-100 450} {-50 450} {-50 400} {-200 400} # boundary 2 3 {0 400} {0 500} {100 500} {100 450} {150 450} {150 400} {0 400} # boundary 2 3 {0 1000} {0 1100} {100 1100} {100 1050} {150 1050} {150 1000} {0 1000} # boundary 2 3 {200 1000} {200 1150} {250 1150} {250 1100} {300 1100} {300 1000} {200 1000} # boundary 2 3 {400 1000} {400 1050} {450 1050} {450 1100} {500 1100} {500 1050} {550 1050} {550 1000} {400 1000} # boundary 2 3 {675 1000} {625 1050} {625 1100} {675 1150} {725 1150} {775 1100} {775 1050} {725 1000} {700 1000} {675 1000} # boundary 2 3 {860 1000} {835 1025} {825 1100} {875 1150} {925 1150} {975 1100} {975 1050} {925 1000} {900 1000} {860 1000} # boundary 2 3 {1100 1000} {1095 1575} {1135 1575} {1200 1550} {1275 1450} {1300 1300} {1275 1150} {1200 1050} {1125 1000} {1100 1000} # boundary 2 3 {0 2000} {0 2150} {50 2150} {50 2100} {100 2100} {100 2000} {0 2000} # boundary 2 3 {200 2000} {200 2150} {250 2150} {250 2100} {300 2100} {300 2000} {200 2000} # boundary 2 3 {400 2000} {400 2150} {450 2150} {450 2100} {500 2100} {500 2000} {400 2000} # boundary 2 3 {0 2300} {0 2450} {50 2450} {50 2400} {100 2400} {100 2300} {0 2300} # boundary 2 3 {200 2300} {200 2450} {250 2450} {250 2400} {300 2400} {300 2300} {200 2300} # boundary 2 3 {400 2300} {400 2450} {450 2450} {450 2400} {500 2400} {500 2300} {400 2300} # boundary 2 3 {0 2600} {0 2750} {50 2750} {50 2700} {100 2700} {100 2600} {0 2600} # boundary 2 3 {200 2600} {200 2750} {250 2750} {250 2700} {300 2700} {300 2600} {200 2600} # boundary 2 3 {400 2600} {400 2750} {450 2750} {450 2700} {500 2700} {500 2600} {400 2600} # boundary 2 3 {0 2900} {0 3050} {50 3050} {50 3000} {100 3000} {100 2900} {0 2900} # boundary 2 3 {200 2900} {200 3050} {250 3050} {250 3000} {300 3000} {300 2900} {200 2900} # boundary 2 3 {400 2900} {400 3050} {450 3050} {450 3000} {500 3000} {500 2900} {400 2900} # boundary 2 1 {2000 2000} {2000 2150} {2050 2150} {2050 2100} {2100 2100} {2100 2000} {2000 2000} # boundary 2 1 {2000 2200} {2000 2350} {2050 2350} {2050 2300} {2100 2300} {2100 2200} {2000 2200} # boundary 2 1 {2000 2500} {2000 2650} {2050 2650} {2050 2600} {2100 2600} {2100 2500} {2000 2500} # boundary 2 1 {1000 2000} {1000 2150} {1050 2150} {1050 2100} {1100 2100} {1100 2000} {1000 2000} # boundary 2 1 {1200 2000} {1200 2150} {1250 2150} {1250 2100} {1300 2100} {1300 2000} {1200 2000} # boundary 2 1 {1400 2000} {1400 2150} {1450 2150} {1450 2100} {1500 2100} {1500 2000} {1400 2000} # boundary 2 1 {1000 2300} {1000 2450} {1050 2450} {1050 2400} {1100 2400} {1100 2300} {1000 2300} # boundary 2 1 {1200 2300} {1200 2450} {1250 2450} {1250 2400} {1300 2400} {1300 2300} {1200 2300} # boundary 2 1 {1400 2300} {1400 2450} {1450 2450} {1450 2400} {1500 2400} {1500 2300} {1400 2300} # boundary 2 1 {1000 2600} {1000 2750} {1050 2750} {1050 2700} {1100 2700} {1100 2600} {1000 2600} # boundary 2 1 {1200 2600} {1200 2750} {1250 2750} {1250 2700} {1300 2700} {1300 2600} {1200 2600} # boundary 2 1 {1400 2600} {1400 2750} {1450 2750} {1450 2700} {1500 2700} {1500 2600} {1400 2600} # boundary 2 1 {1000 2900} {1000 3050} {1050 3050} {1050 3000} {1100 3000} {1100 2900} {1000 2900} # boundary 2 1 {1200 2900} {1200 3050} {1250 3050} {1250 3000} {1300 3000} {1300 2900} {1200 2900} # boundary 2 1 {1400 2900} {1400 3050} {1450 3050} {1450 3000} {1500 3000} {1500 2900} {1400 2900} # end_cell # end_lib # # header real 0 1000.0 uint 0 ;# offset table is in start record for { set i 0 } { $i < 12 } { incr i } { uint 0 } # Cell ABC record CELL_STR str ABC record POLYGON bits 00111011 ;# 00PXYRDL uint 1 ;# layer uint 2 ;# datatype uint 0 ;# pointlist: 1-delta (hor. first) uint 4 int 150 int 50 int -50 int 50 int 0 ;# geometry-x (absolute) int 100 ;# geometry-y (absolute) record XYRELATIVE record POLYGON bits 00111011 ;# 00PXYRDL uint 1 ;# layer uint 2 ;# datatype uint 0 ;# pointlist: 1-delta (hor. first) uint 4 int 150 int 50 int -50 int 50 int -200 ;# geometry-x (relative) int 300 ;# geometry-y (relative) record XYABSOLUTE record POLYGON bits 00110011 ;# 00PXYRDL uint 2 ;# layer uint 3 ;# datatype uint 0 ;# pointlist: 1-delta (hor. first) uint 4 int 150 int 50 int -50 int 50 int 0 ;# geometry-x (absolute) record POLYGON bits 00001000 ;# 00PXYRDL int 1000 ;# geometry-y (absolute) record POLYGON bits 00110011 ;# 00PXYRDL uint 2 ;# layer uint 3 ;# datatype uint 1 ;# pointlist: 1-delta (ver. first) uint 4 int 150 int 50 int -50 int 50 int 200 ;# geometry-x (absolute) record POLYGON bits 00110011 ;# 00PXYRDL uint 2 ;# layer uint 3 ;# datatype uint 2 ;# pointlist: 2-delta uint 7 uint [ expr 150*4+0 ] uint [ expr 50*4+1 ] uint [ expr 50*4+2 ] uint [ expr 50*4+1 ] uint [ expr 50*4+2 ] uint [ expr 50*4+3 ] uint [ expr 50*4+2 ] int 400 ;# geometry-x (absolute) record POLYGON bits 00110011 ;# 00PXYRDL uint 2 ;# layer uint 3 ;# datatype uint 3 ;# pointlist: 3-delta uint 8 uint [ expr 25*8+0 ] uint [ expr 50*8+4 ] uint [ expr 50*8+1 ] uint [ expr 50*8+5 ] uint [ expr 50*8+2 ] uint [ expr 50*8+6 ] uint [ expr 50*8+3 ] uint [ expr 50*8+7 ] int 700 ;# geometry-x (absolute) record POLYGON bits 00110011 ;# 00PXYRDL uint 2 ;# layer uint 3 ;# datatype uint 4 ;# pointlist: g-delta uint 8 uint [ expr 25*16+0*2 ] uint [ expr 50*16+4*2 ] uint [ expr 50*16+1*2 ] uint [ expr 50*4+3 ]; int 50 uint [ expr 50*16+2*2 ] uint [ expr 50*16+6*2 ] uint 41; int -75 uint [ expr 25*16+7*2 ] int 900 ;# geometry-x (absolute) record POLYGON bits 00110011 ;# 00PXYRDL uint 2 ;# layer uint 3 ;# datatype uint 5 ;# pointlist: g-delta, double delta uint 8 uint [ expr 25*16+0*2 ] uint [ expr 50*16+4*2 ] uint [ expr 50*16+1*2 ] uint [ expr 50*4+3 ]; int 50 uint [ expr 50*16+2*2 ] uint [ expr 50*16+6*2 ] uint 41; int -75 uint [ expr 25*16+7*2 ] int 1100 ;# geometry-x (absolute) record POLYGON bits 00111111 ;# 00PXYRDL uint 2 ;# layer uint 3 ;# datatype uint 1 ;# pointlist: 1-delta (ver. first) uint 4 int 150 int 50 int -50 int 50 int 0 ;# geometry-x (absolute) int 2000 ;# geometry-y (absolute) uint 1 ;# repetition (3x4 matrix) uint 1 uint 2 uint 200 uint 300 record XYRELATIVE record POLYGON bits 00110110 ;# 00PXYRDL uint 1 ;# datatype uint 1 ;# pointlist: 1-delta (ver. first) uint 4 int 150 int 50 int -50 int 50 int 1000 ;# geometry-x (relative) uint 0 ;# repetition (reuse) record POLYGON bits 00110110 ;# 00PXYRDL uint 1 ;# datatype uint 1 ;# pointlist: 1-delta (ver. first) uint 4 int 150 int 50 int -50 int 50 int 1000 ;# geometry-x (relative) uint 6 ;# repetition (vertical 3 times) uint 1 uint 200 uint 300 tail