chiark / gitweb /
sta going well
[trains.git] / layout / ours.m4
1 include(`parts.i4')
2
3 layer 10
4
5 define(`pt_main_r',`pt_peco_mr')
6
7 defobj dualjn_peco_r
8   abs ic 200 200 0
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
12   rel pt_o_c oc
13   rel x_tl ia
14   extend pt_o_a oa upto ia
15   rel x_tr ob
16   rel pt_i_b ib
17 enddef
18
19 defobj demos
20   abs right 200 200 0
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
24   abs up 200 200 90
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
28 enddef
29
30 #---------- main line figure-of-8
31
32 abs midx_x_m 930 700 90
33 part midx_x cross_peco_s m
34
35 extend midx_x_tr -top_0rm_b parallel demos!right_main_up 315
36 part top_0rm ^pt_main_r b
37
38 extend midx_x_tl -top_0lm_b parallel demos!-right_main_down -315
39 part top_0lm pt_main_r b
40 rel top_0lm_c top_2lk 0 -37
41 rel top_2lk top_3lk 0 -37
42 rel top_3lk top_4lk 0 -37
43 rel top_4lk top_5lk 0 -37
44
45 extend -midx_x_bl -midx_sc_a len 10 315
46 part midx_sc pt_peco_sl a
47
48 extend -midx_sc_c -bot_0lk_b parallel demos!right_main_up 315
49 part bot_0lk ^pt_main_r b
50
51 extend -bot_0lk_c leb_0k uptoang 90 315
52 rel leb_0k leb_2k 0 -37
53 rel leb_2k leb_3k 0 -37
54
55 rel -bot_0lk_c bot_2lk 0 -37
56 rel bot_2lk bot_3lk 0 -37
57
58 layer s
59 extend -midx_x_br -demo_midx_x_br_x ang 7 316
60 extend -demo_midx_x_br_x -demo_bot_0rk_b parallel demos!right_main_down -316
61 part demo_bot_0rk pt_main_r b
62
63 layer l
64 extend bot_0lk_a -bot_0rk_c upto demo_bot_0rk_c
65
66 layer =
67 part bot_0rk pt_main_r c
68 extend -top_0rm_c -top_0rme upto bot_0rk_c
69 join bot_0rk_b midx_x_br 315
70
71 extend -top_0rme rim_0t uptoang -90 315
72 rel rim_0t rim_2t 0 -37
73 rel rim_2t rim_3t 0 -37
74
75 extend -bot_0rk_c -rim_0b uptoang 90 -315
76
77 extend -top_0rme l0p_dj parallel demos!dualjn_tr_ic 315
78 #rel l0p_dj -l23_dj_ic 0 -37
79 #part l23_dj ^dualjn_peco_r ic
80 #extend l23_dj_oa l3_sh uptoang 180 -315
81
82 #---------- box
83
84 layer l5
85
86 extend bot_3lk sq_bl_o upto leb_3k
87 rel sq_bl_o sq_bl_i 0 0 -90
88
89 extend sq_bl_i sq_tl_o upto top_5lk
90 rel sq_tl_o sq_tl_i 0 0 -90
91
92 extend sq_tl_i sq_tr_o upto rim_3t
93 rel sq_tr_o sq_tr_i 0 0 -90
94
95 extend sq_tr_i sq_br_o upto sq_bl_i
96 rel sq_br_o sq_br_i 0 0 -90
97
98 extend sq_br_i sq_bl_o2 upto sq_bl_o
99
100 #---------- bottom junction between main loop, main-8
101
102 layer 10
103
104 rel sq_br_i bot_2rk_c 315
105
106 part bot_2rk pt_main_r c
107 #part bot_2rkx pt_shino_6r c bot_2rk_c
108 extend bot_2rk_b bot_1rk_bl uptoang 170.5 -315
109 part bot_1rk slip2_shino bl
110
111 extend bot_1rk_tr bot_0mx_bl ang 0.5 315
112 part bot_0mx cross_atlas_20m bl
113 #bot_1rk_tr
114 extend -bot_0mx_br -bot_0rj_b len 5 315
115 part bot_0rj ^pt_main_r b
116 #bot_0mx_br
117 join bot_0rk_a bot_0rj_c 315
118
119 extend bot_0mx_tr -bot_1lj_b len 5 -315
120 part bot_1lj pt_main_r b
121
122 join bot_0rj_a -bot_1lj_a 315
123
124 #---------- station branch curve
125
126 layer 10
127
128 rel sq_tl_i top_4le 352 37 180
129 rel top_4le top_5le 0 37
130 extend top_4le leb_4e ang 90 -315
131 extend top_5le leb_5e ang 90 -352
132
133 extend leb_3k leb_3b ang 30 389
134 extend leb_2k leb_2b ang 30 352
135 extend leb_0k leb_0b ang 30 315
136
137 extend -top_3lk -leb_3a ang 60 -389
138 extend -top_2lk -leb_2a ang 60 -352
139 extend -top_0lm_c -leb_0a ang 60 -315
140
141 part top_45x scis_shino tl top_4le
142
143 #---------- station
144
145 # left bridge, `leb'
146
147 layer 10
148
149 part leb_4y pt_peco_sl c leb_4e
150 extend leb_4y_a sta_4neare uptoang 5 -315
151 extend sta_4neare sta_4far len 1118
152
153 rel sta_4neare sta_5nears 130 30
154 extend sta_5nears sta_5far upto sta_4far
155
156 extend -sta_5nears -sta_5neare1 len 60 -450
157 extend -sta_5neare1 -sta_5neare2 len 50 450
158
159 extend leb_5e leb_5eb upto leb_4y_a
160 join leb_5eb sta_5neare2 352
161
162 layer 20
163
164 # high-level lines and platforms
165
166 rel sta_4neare sta_6far 500 76
167 part sta_67r pt_peco_sl a -sta_6far
168
169 rel sq_br_i high_6br0 230 0 -180
170 extend high_6br0 high_6br1 ang 90 -230
171 join -sta_67r_c high_6br0 230
172
173 extend -sta_6far -sta_6nears len 600
174 part sta_67l pt_peco_sl b sta_6nears
175 join sta_67l_a -sta_67r_b 230
176 extend -sta_67l_c high_6bl5 uptoang 90 230
177
178 layer p10
179
180 # medium-level platforms
181
182 rel sta_4far sta_4far_platnear 0 -14.5
183 rel sta_4far_platnear sta_4far_platfar 0 -17
184 extend -sta_4far_platnear -sta_4neare_plat upto sta_4neare
185 extend -sta_4far_platfar -sta_4nears_platfar upto sta_5nears
186 join sta_4neare_plat sta_4nears_platfar 1
187 join sta_4far_platnear -sta_4far_platfar 1 
188
189 rel sta_5far sta_5far_platnear 0 14.5
190 rel sta_5far_platnear sta_5far_platfar 0 17
191 extend -sta_5far_platnear -sta_5neare_plat upto sta_5nears
192 extend -sta_5far_platfar -sta_5neare_platfar upto sta_4neare
193 join sta_5neare_platfar sta_5neare_plat 1
194 join sta_5far_platnear -sta_5far_platfar 1
195
196 layer 10
197
198 # turntable
199
200 rel sta_4far_platnear sta_tt_mid -50 -120
201 part sta_tt tt_atlas mid
202 part sta_ttmotor tt_atlas_motor cout sta_tt_out90
203
204 #rel sta_4far_platnear sta_2fars -350 -58.5
205 #rel sta_2fars sta_3fars 100 27
206 #extend sta_3fars -sta_jfar23_a ang 15 -450
207 #part sta_jfar23 pt_peco_sr a
208 #join sta_2fars -sta_jfar23_b 230
209 #extend -sta_jfar23_c sta_2far3m len 160 -450
210
211 rel sta_4neare sta_3neare 15 -48 -8
212 part sta_3sc pt_peco_sr c -sta_3neare
213 join leb_4y_b -sta_3sc_a 230
214
215 extend sta_3neare sta_3y0_c uptoang 5 -230
216 part sta_3y0 pt_peco_sl c
217
218 extend sta_3sc_b -leb_0sc uptoang 90 300
219
220 extend sta_3y0_b sta_0y1_c ang 1 -230
221 part sta_0y1 pt_peco_sl c
222 extend sta_0y1_b h_8b ang 90 -230
223
224 rel sta_4neare sta_3nears 280 -46
225 part sta_3y1 pt_peco_sl c sta_3y0_a
226 join sta_3y1_a sta_3nears 450
227
228 extend sta_3nears sta_3far len 500
229 extend sta_3far sta_3far1 len 30 -650
230 join sta_3far1 -sta_tt_out210 230
231
232 extend sta_3y1_b sta_2nears parallel sta_3nears 230
233 extend sta_2nears sta_2far upto sta_3far1
234 join sta_2far -sta_tt_out195 230
235
236 #extend leb_4y_b -l3s_jth_a len 20
237 #part l3s_jth pt_peco_sr a
238
239 #join -l3s_jth_c sta_3nears 230 arcline
240
241 #part sta_3sc pt_peco_sl c sta_3nears
242
243 #---------- train houses
244
245
246 #extend l3s_jth_b l3th_m ang 135 230
247
248
249
250
251 #rel sq_br_i sta_4far 30 300 -175
252 #extend -sta_4far -sta_plat_4 len 1118
253
254 #rel sta_4far sta_5far 0 30
255 #extend -sta_5far -sta_plat_5 upto sta_plat_4
256
257 #part l4_stbr pt_peco_sl a sta_plat_4
258 #part l4_stbrx pt_peco_sr c -sta_plat_4
259
260 #extend l4_shbr_a l4_stbr_q ang 100 -315
261 #join l4_shbr_a l4_stbr_c 315
262
263 #---------- shunting yard
264
265 layer 10
266
267 defobj yard
268  abs f09 200 200 180
269  extend -f09 -yp09_b len 400
270  part yp09 pt_peco_sr b
271
272  define(`extendyard',`
273   part yp$1 pt_peco_sr a yp$2_c
274   extend yp$1_b f$1 upto f$2
275  ')
276
277  extendyard(`10',`09')
278  extendyard(`11',`10')
279  extendyard(`12',`11')
280 enddef
281
282 #rel sq_br_i yard_f09 140 550 180
283 #part yard yard f09
284
285 part yard yard yp12_c sta_0y1_a
286
287 #---------- hill branch (figure of 8)
288
289 layer 20
290
291 #rel sq_bl_i h_bl_l 230 0 180
292 #extend h_bl_l h_bl_b ang 90 -230
293
294 #extend -h_bl_l -h_bre upto leb_0k 230
295 #extend -h_bre -h_brj1 len 20 230
296 #extend -h_brj1 -h_brjm len 30
297 #extend -h_brjm -h_brj0 len 30
298 #extend -h_brj0 -h_brh  len 80 230
299 #extend -h_brh -h_8m uptoang -35 230
300 #extend -h_8m -h_8b uptoang 245 -230
301
302 #rel bot_0lk_c -h_pbl_c 0 -45
303 #rel bot_0lk_b -h_pbl_b 0 -45
304 #join h_pbl_b h_pbl_c 230
305 #extend -h_pbl_b -midx_sc_p ang 40 -270
306 #join midx_sc_b midx_sc_p 230
307
308 #extend h_pbl_c h_ub upto h_brh 270
309 #join h_ub h_8b 230
310
311 #---------- hill stations turntable
312
313 #defobj tt_corner
314 # layer 20
315 # abs mid 200 200 0
316 # extend out sout ang 45 -230
317 # extend -in -sin ang 45 230
318
319 # layer l20
320 # rel in forcirc0 80 80 0
321 # rel forcirc0 forcirc1 0 -160 180
322 # join forcirc0 forcirc1 0
323 # join forcirc1 forcirc0 0
324
325 # layer s20
326 # extend sin cnr upto sout
327 #enddef
328
329 #part tt tt_corner cnr -sq_br_i
330
331 eof