2017-02-12 13:21:08 +01:00
|
|
|
# <test>
|
|
|
|
|
# <name>t5.1.ot</name>
|
|
|
|
|
# <content-description>A single cell with a variety of polygons</content-description>
|
|
|
|
|
# <test-intention>Geometrical objects reader capabilities</test-intention>
|
|
|
|
|
# <test-intention>POLYGON record reading</test-intention>
|
|
|
|
|
# <test-intention>Repetitions of polygons</test-intention>
|
|
|
|
|
# <test-intention>Polygon-related modal variables</test-intention>
|
|
|
|
|
# <content>
|
|
|
|
|
# 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
|
|
|
|
|
# </content>
|
|
|
|
|
# </test>
|
|
|
|
|
|
2021-08-11 07:33:43 +02:00
|
|
|
header
|
2017-02-12 13:21:08 +01:00
|
|
|
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
|
2021-08-11 07:33:43 +02:00
|
|
|
str ABC
|
2017-02-12 13:21:08 +01:00
|
|
|
|
|
|
|
|
record POLYGON
|
|
|
|
|
bits 00111011 ;# 00PXYRDL
|
|
|
|
|
uint 1 ;# layer
|
|
|
|
|
uint 2 ;# datatype
|
|
|
|
|
uint 0 ;# pointlist: 1-delta (hor. first)
|
2021-08-11 07:33:43 +02:00
|
|
|
uint 4
|
2017-02-12 13:21:08 +01:00
|
|
|
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)
|
2021-08-11 07:33:43 +02:00
|
|
|
uint 4
|
2017-02-12 13:21:08 +01:00
|
|
|
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)
|
2021-08-11 07:33:43 +02:00
|
|
|
uint 4
|
2017-02-12 13:21:08 +01:00
|
|
|
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)
|
2021-08-11 07:33:43 +02:00
|
|
|
uint 4
|
2017-02-12 13:21:08 +01:00
|
|
|
int 150
|
|
|
|
|
int 50
|
|
|
|
|
int -50
|
|
|
|
|
int 50
|
|
|
|
|
int 200 ;# geometry-x (absolute)
|
|
|
|
|
|
|
|
|
|
record POLYGON
|
|
|
|
|
bits 00110011 ;# 00PXYRDL
|
|
|
|
|
uint 2 ;# layer
|
|
|
|
|
uint 3 ;# datatype
|
2021-08-11 07:33:43 +02:00
|
|
|
uint 2 ;# pointlist: 2-delta
|
|
|
|
|
uint 7
|
2017-02-12 13:21:08 +01:00
|
|
|
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
|
2021-08-11 07:33:43 +02:00
|
|
|
uint 3 ;# pointlist: 3-delta
|
|
|
|
|
uint 8
|
2017-02-12 13:21:08 +01:00
|
|
|
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
|
2021-08-11 07:33:43 +02:00
|
|
|
uint 4 ;# pointlist: g-delta
|
|
|
|
|
uint 8
|
2017-02-12 13:21:08 +01:00
|
|
|
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
|
2021-08-11 07:33:43 +02:00
|
|
|
uint 8
|
2017-02-12 13:21:08 +01:00
|
|
|
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)
|
2021-08-11 07:33:43 +02:00
|
|
|
uint 4
|
2017-02-12 13:21:08 +01:00
|
|
|
int 150
|
|
|
|
|
int 50
|
|
|
|
|
int -50
|
|
|
|
|
int 50
|
|
|
|
|
int 0 ;# geometry-x (absolute)
|
|
|
|
|
int 2000 ;# geometry-y (absolute)
|
|
|
|
|
uint 1 ;# repetition (3x4 matrix)
|
2021-08-11 07:33:43 +02:00
|
|
|
uint 1
|
2017-02-12 13:21:08 +01:00
|
|
|
uint 2
|
|
|
|
|
uint 200
|
|
|
|
|
uint 300
|
|
|
|
|
|
|
|
|
|
record XYRELATIVE
|
|
|
|
|
|
|
|
|
|
record POLYGON
|
|
|
|
|
bits 00110110 ;# 00PXYRDL
|
|
|
|
|
uint 1 ;# datatype
|
|
|
|
|
uint 1 ;# pointlist: 1-delta (ver. first)
|
2021-08-11 07:33:43 +02:00
|
|
|
uint 4
|
2017-02-12 13:21:08 +01:00
|
|
|
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)
|
2021-08-11 07:33:43 +02:00
|
|
|
uint 4
|
2017-02-12 13:21:08 +01:00
|
|
|
int 150
|
|
|
|
|
int 50
|
|
|
|
|
int -50
|
|
|
|
|
int 50
|
|
|
|
|
int 1000 ;# geometry-x (relative)
|
|
|
|
|
uint 6 ;# repetition (vertical 3 times)
|
2021-08-11 07:33:43 +02:00
|
|
|
uint 1
|
2017-02-12 13:21:08 +01:00
|
|
|
uint 200
|
|
|
|
|
uint 300
|
|
|
|
|
|
|
|
|
|
tail
|
|
|
|
|
|