5 define(`pt_main_r',`pt_peco_mr')
9 part pt_i pt_peco_lr c ic
10 part x cross_peco_l br pt_i_a
11 part pt_o pt_peco_lr b x_bl
14 extend pt_o_a oa upto ia
21 part main_up ^pt_main_r c right b right_main_up
22 part main_down pt_main_r c right b right_main_down
23 part short_down pt_peco_sr c right b right_short_down
25 part main_left ^pt_main_r c up b up_main_left
26 part main_right pt_main_r c up b up_main_right
27 part dualjn_tr ^dualjn_peco_r ib -right
30 #---------- main line figure-of-8
34 abs midx_x_m 930 700 90
35 part midx_x cross_peco_s m
37 extend midx_x_tr -top_0rm_b parallel demos!right_main_up 315
38 part top_0rm ^pt_main_r b
40 extend midx_x_tl -top_0lm_b parallel demos!-right_main_down -315
41 part top_0lm pt_main_r b
42 rel top_0lm_c top_2lk 0 -37
43 rel top_2lk top_3lk 0 -37
46 #rel top_3lk top_45x_br 85 -37 -2.25
47 rel top_3lk top_45x_br 67 -40 -2.55
48 extend -top_45x_br -top_4le0 len 80 -900
51 rel top_3lk top_5_ref 0 -74
55 extend -midx_x_bl -midx_j_a len 10 315
56 part midx_j pt_peco_sl a
58 extend -midx_j_c -bot_0lm_b parallel demos!right_main_up 315
59 part bot_0lm ^pt_main_r b
61 extend -bot_0lm_c -leb_0k uptoang 90 315
62 rel -leb_0k -leb_2k 0 -37
63 rel -leb_2k -leb_3k 0 -37
65 rel -bot_0lm_c bot_2lk 0 -37
66 rel bot_2lk bot_3lk 74 -37
69 extend -midx_x_br -demo_midx_x_br_x ang 7 316
70 extend -demo_midx_x_br_x -demo_bot_0rm_b parallel demos!right_main_down -316
71 part demo_bot_0rm pt_main_r b
74 extend bot_0lm_a -bot_0rm_c upto demo_bot_0rm_c
77 part bot_0rm pt_main_r c
78 extend -top_0rm_c top_0rme upto bot_0rm_c
79 join bot_0rm_b midx_x_br 315
81 extend top_0rme top_0rme1 ang 9 315
83 extend top_0rme1 rim_0t uptoang -90 315
84 rel rim_0t rim_2t 0 -37
85 rel rim_2t rim_3t 0 -37
87 join top_0lm_a -top_0rm_a 450
93 extend bot_3lk sq_bl_o upto leb_3k
94 rel sq_bl_o sq_bl_i 0 0 -90
96 extend sq_bl_i sq_tl_o upto top_5_ref
97 rel sq_tl_o sq_tl_i 0 0 -90
99 extend sq_tl_i sq_tr_o upto rim_3t
100 rel sq_tr_o sq_tr_i 0 0 -90
102 extend sq_tr_i sq_br_o upto sq_bl_i
103 rel sq_br_o sq_br_i 0 0 -90
105 extend sq_br_i sq_bl_o2 upto sq_bl_o
107 #---------- bottom junction between main loop, main-8
111 #rel sq_br_i bot_3rj_c 315
112 rel sq_br_i bot_3rj_c 355
114 rel bot_0rm_c bot_2rk 0 -37
115 extend bot_2rk bot_2rx_br len 140
117 part bot_3rj pt_main_r c
118 #extend bot_3rj_b bot_2rx_bl uptoang 170 -750
120 #part bot_2rx slip2_pecof bl
121 part bot_2rx slip2_pecof br
122 join bot_3rj_b bot_2rx_bl 450
124 #extend bot_2rx_tr bot_0mx_bl ang 0.5 315
125 #extend bot_2rx_tr bot_0mx_bl len 10
127 #extend bot_2rx_tr bot_0mx_bl ang 1 315
128 #extend bot_2rx_tr bot_0mx_bl ang 0.5 -900
129 #extend bot_2rx_tr bot_0mx_bl ang 0.5 -900
130 #join bot_2rx_tr bot_0mx_bl 315
131 extend bot_2rx_tr bot_0mx_bl len 12 315
132 #extend bot_2rx_tr bot_0mx_bl len 24
135 part bot_0mx cross_atlas_20m bl
136 extend -bot_0mx_br -bot_0rj_b len 12 -315
137 part bot_0rj ^pt_main_r b
138 join bot_0rm_a bot_0rj_c 315
140 extend bot_0mx_tr -bot_0lj_b len 12 -315
141 part bot_0lj pt_main_r b
143 #join bot_0rj_a -bot_0lj_a 315
144 join bot_0rj_a -bot_0lj_a 450
145 join -bot_0lj_c -bot_0lm_a 450
147 extend bot_0mx_tl -bot_02lj_b uptoang 194 -315
148 part bot_02lj ^pt_main_r b
149 part bot_23lj ^pt_main_r c -bot_02lj_c
151 join bot_2rx_tl -bot_02lj_a 450
153 part bot_3lj ^pt_main_r c -bot_3lk
154 join bot_3rj_a -bot_3lj_a 450
156 join bot_23lj_b -bot_3lj_b 315
157 join bot_3lk -leb_3k 315 arcline
159 join bot_23lj_a bot_2lk 450
160 join bot_2lk -leb_2k 352
162 join rim_0t bot_0rm_c 315 arcline
164 join rim_2t bot_2rk 352 arcline
165 #join bot_2rk bot_2rx_br 450
167 join rim_3t bot_3rj_c 315 arcline
169 #---------- station branch curve
172 rel sq_tl_i -top_5le 352 0 180
175 extend -top_5le leb_5e ang 90 -352
176 rel leb_5e leb_4e 0 -37
177 #join -top_4le leb_4e 315
178 join -leb_4e top_4le0 315
181 join -leb_3k top_3lk 389 arcsline
182 join -leb_2k top_2lk 352 arcsline
185 join -leb_0k top_0lm_c 315 arcsline
187 #extend leb_3k leb_3b ang 30 389
188 #extend leb_2k leb_2b ang 30 352
189 #extend leb_0k leb_0b ang 30 315
191 #extend -top_3lk -leb_3a ang 60 -389
192 #extend -top_2lk -leb_2a ang 60 -352
193 #extend -top_0lm_c -leb_0a ang 60 -315
196 part top_45x scis_pecof br
197 #join top_5le top_45x_bl 450 twoarcs
198 #join top_4le top_45x_br 450 twoarcs
199 join top_5le top_45x_bl 600 twoarcs
201 #join top_4le top_45x_br 600 twoarcs
204 #---------- top main-line/station junction
208 rel top_0rme1 -top_2j_c 0 -37
209 part top_2j pt_peco_ll c
210 join top_2lk -top_2j_b 600
212 extend top_2j_a -top_34jx_tr len 50
213 part top_34jx cross_peco_l tr
214 join top_3lk top_34jx_br 450
216 #join top_45x_tr top_34jx_bl 315
217 join top_45x_tr top_34jx_bl 600
219 extend top_34jx_tl top_3j3 len 30 -700
220 extend top_3j3 -top_3j_b len 30 800
221 part top_3j pt_peco_ll b
223 extend -rim_3t -rim_3tt ang 45 -389
225 join -top_2j_c rim_2t 352
226 join -top_3j_c rim_3tt 352
228 extend top_45x_tl top_5x1 len 40
229 extend top_5x1 top_5x2 len 40 2000
230 join top_5x2 -top_3j_a 450
238 part leb_4y pt_peco_sl c leb_4e
239 extend leb_4y_a sta_4neare uptoang 5 -315
240 extend sta_4neare sta_4far len 1118
242 rel sta_4neare sta_5nears 130 30
243 extend sta_5nears sta_5far upto sta_4far
245 extend -sta_5nears -sta_5neare1 len 60 -450
246 extend -sta_5neare1 -sta_5neare2 len 50 450
248 extend leb_5e leb_5eb upto leb_4y_a
249 join leb_5eb sta_5neare2 352
253 # high-level lines and platforms
255 rel sta_4neare sta_6far 500 76
256 part sta_67r pt_peco_sl a -sta_6far
258 rel sq_br_i high_6br0 230 0 -180
259 extend high_6br0 high_6br1 ang 90 -230
260 join -sta_67r_c high_6br0 230
262 extend -sta_6far -sta_6nears len 630
263 part sta_67l pt_peco_sl b sta_6nears
264 join sta_67l_a -sta_67r_b 230
265 extend -sta_67l_c high_6bl5 uptoang -30 230
269 rel sta_6nears sta_6nears_platnear 0 -14.5
270 rel sta_6nears_platnear sta_6nears_platfar 0 -17
271 extend sta_6nears_platnear sta_6far_platnear upto sta_6far
272 extend sta_6nears_platfar sta_6far_platfar upto sta_6far
273 join sta_6nears_platnear -sta_6nears_platfar 1
274 join sta_6far_platnear -sta_6far_platfar 1
276 # medium-level platforms
280 rel sta_4far sta_4far_platnear 0 -14.5
281 rel sta_4far_platnear sta_4far_platfar 0 -17
282 extend -sta_4far_platnear -sta_4neare_plat upto sta_4neare
283 extend -sta_4far_platfar -sta_4nears_platfar upto sta_5nears
284 join sta_4neare_plat sta_4nears_platfar 1
285 join sta_4far_platnear -sta_4far_platfar 1
287 rel sta_5far sta_5far_platnear 0 14.5
288 rel sta_5far_platnear sta_5far_platfar 0 17
289 extend -sta_5far_platnear -sta_5neare_plat upto sta_5nears
290 extend -sta_5far_platfar -sta_5neare_platfar upto sta_4neare
291 join sta_5neare_platfar sta_5neare_plat 1
292 join sta_5far_platnear -sta_5far_platfar 1
298 rel sta_4far_platnear sta_tt_mid -50 -120
299 part sta_tt tt_atlas mid
300 part sta_ttmotor tt_atlas_motor cout sta_tt_out90
304 rel sta_4neare sta_3neare 15 -48 -8
305 part sta_3sc pt_peco_sr c -sta_3neare
306 join leb_4y_b -sta_3sc_a 230
308 extend sta_3neare sta_3y0_c uptoang 5 -230
309 part sta_3y0 pt_peco_sl c
314 extend sta_3y0_b sta_0y1_c ang 1 -230
315 part sta_0y1 pt_peco_sl c
318 rel sta_4neare sta_3nears 280 -46
319 part sta_3y1 pt_peco_sl c sta_3y0_a
320 join sta_3y1_a sta_3nears 450
322 extend sta_3nears sta_3far len 500
323 extend sta_3far sta_3far1 len 30 -650
324 join sta_3far1 -sta_tt_out210 230
328 part sta_2y0 pt_peco_sr c sta_3y1_b
329 extend sta_2y0_b sta_2nears parallel sta_3nears 230
330 extend sta_2nears sta_2far upto sta_3far1
331 join sta_2far -sta_tt_out195 230
335 rel sta_2far sta_1far 0 -37
336 join sta_1far sta_tt_in 230
337 join sta_2y0_a sta_1far 230 arcline
339 #---------- sort-of helix (regions sc and h)
342 extend midx_j_b sc_9 len 80 -230
345 rel top_0lm_c -sc_7 0 40
348 extend -sc_7 -sc_8 ang 45 315
352 extend sc_7 sc_6 ang 60 -275
353 extend sta_3sc_b -sc_3 len 20 -450
354 extend -sc_3 -sc_5 len 50 230
358 extend sta_0y1_b high_6s0 ang 65 -230
359 extend high_6s0 high_6s1 uptoang 15 230
362 extend high_6s1 high_6s2 len 100
365 rel sq_tr_i high_6s4 0 320 90
368 join high_6s2 high_6s4 230
370 #---------- high-level goods
374 extend high_6s4 highr_6jt_c ang 45 230
375 part highr_6jt pt_peco_sr c
377 rel sta_1far -high_sta6far -10 -37
378 extend high_sta6far high_sta6near upto sta_2y0_a
380 extend highr_6jt_b highr_x_br uptoang -120 230
382 part highr_x cross_atlas_90m br
384 extend highr_x_tl highr_6sc_c ang 20 230
385 part highr_6sc pt_peco_sr c
386 extend highr_6sc_a highr_6out ang 15 230
387 join highr_6out high_sta6far 230
389 #extend -high_sta6far -highr_6out ang 30 -230
392 extend -highr_x_bl -demo_highr_6jb_c uptoang -90 230
393 extend -sq_br_o place_highr_6jb_c upto demo_highr_6jb_c
396 rel place_highr_6jb_c highr_6jb_c -5 0
397 part highr_6jb pt_peco_sl c
398 join highr_6jb_b highr_x_bl 230
399 join highr_6jt_a -highr_6jb_a 230 arcline
400 join high_6br1 highr_6jb_c 230
402 extend highr_x_tr highr_7kink uptoang 225 -230
403 extend highr_7kink -highr_7sc_a ang 30 230
404 rel high_sta6near high_sta7near 0 37
406 part highr_7sc pt_peco_sr a
407 join -highr_7sc_c high_sta7near 230
409 join highr_7sc_b -highr_6sc_b 230
411 part high_67j pt_peco_sr c high_6bl5
412 join high_67j_b -high_sta6near 267
413 join high_67j_a -high_sta7near 230
415 #---------- shunting yard
420 define(`extendyard',`
421 part j$1 pt_peco_sr c $2
422 part k$1 pt_peco_sr c j$1_b
423 extend k$1_b near$1a ang 0.001 -230
424 extend k$1_a near$1b ang 22.501 230
425 extend near$1a far$1a $3
426 extend near$1b far$1b $4
429 extendyard(`0',`e', `len 600',`len 500')
430 extendyard(`1',`j0_a',`len 500',`len 400')
431 extend j1_a e2a ang 2 -230
432 extend e2a near2a parallel near0a 230
433 extend near2a far2a len 370
436 extend sta_0y1_a yard_0e ang 31 -230
437 part yard yard e yard_0e
439 #---------- train houses
441 extend sta_tt_out135 sta_9house len 200 -230
442 extend sta_tt_out150 sta_8house len 230 -400
443 extend sta_tt_out165 sta_7house upto sta_8house -2000