chiark / gitweb /
platforms
[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_m 930 700 90
33 part midx cross_peco_s m
34
35 extend midx_tr -l0_jtr_b parallel demos!right_main_up 315
36 part l0_jtr ^pt_main_r b
37
38 extend midx_tl -l0_jtl_b parallel demos!-right_main_down -315
39 part l0_jtl pt_main_r b
40 rel l0_jtl_c l2_ptl 0 -37
41 rel l2_ptl l3_ptl 0 -37
42 rel l3_ptl l4_ptl 0 -37
43 rel l4_ptl l5_ptl 0 -37
44
45 extend -midx_bl -j8sc_a len 10 315
46 part j8sc pt_peco_sl a
47
48 extend -j8sc_c -l0_jbl_b parallel demos!right_main_up 315
49 part l0_jbl ^pt_main_r b
50
51 extend -l0_jbl_c l0_lst uptoang 90 315
52 rel l0_lst l2_lst 0 -37
53 rel l2_lst l3_lst 0 -37
54
55 rel -l0_jbl_c l2_pbl 0 -37
56 rel l2_pbl l3_pbl 0 -37
57
58 layer s
59 extend -midx_br -demo_midx_br_x ang 7 316
60 extend -demo_midx_br_x -demo_l0_jbr_b parallel demos!right_main_down -316
61 part demo_l0_jbr pt_main_r b
62
63 #extend l0_rst l0_rsb upto l0_lst
64 #extend l0_rsb l0_jbr_c uptoang 180 315
65 #part l0_jbr pt_main_r c
66 #join l0_jbr_b midx_br 315 arcline
67 #extend l0_jbr_b l0_test ang 135 315
68
69 layer l
70 extend l0_jbl_a -l0_jbr_c upto demo_l0_jbr_c
71
72 layer =
73 part l0_jbr pt_main_r c
74 extend -l0_jtr_c -l0_jtre upto l0_jbr_c
75 join l0_jbr_b midx_br 315
76
77 extend -l0_jtre l0_rst uptoang -90 315
78 rel l0_rst l2_rst 0 -37
79 rel l2_rst l3_rst 0 -37
80
81 extend -l0_jbr_c -l0_rsb uptoang 90 -315
82
83 extend -l0_jtre l0p_dj parallel demos!dualjn_tr_ic 315
84 rel l0p_dj -l23_dj_ic 0 -37
85 part l23_dj ^dualjn_peco_r ic
86
87 extend l23_dj_oa l3_sh uptoang 180 -315
88
89 #---------- box
90
91 layer l5
92 extend l3_pbl sq_bl_o upto l3_lst
93 rel sq_bl_o sq_bl_i 0 0 -90
94
95 extend sq_bl_i sq_tl_o upto l5_ptl
96 rel sq_tl_o sq_tl_i 0 0 -90
97
98 extend sq_tl_i sq_tr_o upto l3_rst
99 rel sq_tr_o sq_tr_i 0 0 -90
100
101 extend sq_tr_i sq_br_o upto sq_bl_i
102 rel sq_br_o sq_br_i 0 0 -90
103
104 extend sq_br_i sq_bl_o2 upto sq_bl_o
105
106 #---------- bottom junction between main loop, main-8
107
108 layer 10
109
110 rel sq_br_i l2_jbr_c 315
111 part l2_jbr pt_main_r c
112 #part l2_jbrx pt_shino_6r c l2_jbr_c
113 extend l2_jbr_b l1_jbr_bl uptoang 170.5 -315
114 part l1_jbr slip2_shino bl
115
116 extend l1_jbr_tr l01_jbmx_bl ang 0.5 315
117 part l01_jbmx cross_atlas_20m bl
118 #l1_jbr_tr
119 extend -l01_jbmx_br -l0_jbmr_b len 5 315
120 part l0_jbmr ^pt_main_r b
121 #l01_jbmx_br
122 join l0_jbr_a l0_jbmr_c 315
123
124 extend l01_jbmx_tr -l0_jbml_b len 5 -315
125 part l0_jbml pt_main_r b
126
127 join l0_jbmr_a -l0_jbml_a 315
128
129 #---------- station branch curve
130
131 layer 10
132
133 rel sq_tl_i l4_ct 352 37 180
134 rel l4_ct l5_ct 0 37
135 extend l4_ct l4_cl ang 90 -315
136 extend l5_ct l5_cl ang 90 -352
137
138 extend l3_lst l3_tlc5 ang 30 389
139 extend l2_lst l2_tlc5 ang 30 352
140 extend l0_lst l0_tlc5 ang 30 315
141
142 extend -l3_ptl -l3_tlc7 ang 60 -389
143 extend -l2_ptl -l2_tcl7 ang 60 -352
144 extend -l0_jtl_c -l0_tcl7 ang 60 -315
145
146 part l45_lx scis_shino tl l4_ct
147
148 #---------- station
149
150 layer 0
151
152 part l4_j3s pt_peco_sl c l4_cl
153 extend l4_j3s_a sta_near_4 uptoang 5 -315
154 extend sta_near_4 sta_far_4 len 1118
155
156 rel sta_near_4 sta_near_5 130 30
157 extend sta_near_5 sta_far_5 upto sta_far_4
158
159 extend -sta_near_5 -sta_pre1_5 len 60 -450
160 extend -sta_pre1_5 -sta_pre2_5 len 50 450
161
162 extend l5_cl l5_clb upto l4_j3s_a
163 join l5_clb sta_pre2_5 352
164
165
166 layer 20
167 rel sta_near_4 sta_far_h 500 76
168 part sta_jbhfar pt_peco_sl a -sta_far_h
169
170 rel sq_br_i hcbr_in 230 0 -180
171 extend hcbr_in hcbr_out ang 90 -230
172 join -sta_jbhfar_c hcbr_in 230
173
174 extend -sta_far_h -sta_near_h len 600
175 part sta_jbhnear pt_peco_sl b sta_near_h
176 join sta_jbhnear_a -sta_jbhfar_b 230
177 extend -sta_jbhnear_c h_cblt uptoang 90 230
178
179 layer p10
180
181 rel sta_far_4 staplat_far_4 0 -14.5
182 rel staplat_far_4 staplatb_far_4 0 -17
183 extend -staplat_far_4 -staplat_near_4 upto sta_near_4
184 extend -staplatb_far_4 -staplatb_nearx_4 upto sta_near_5
185 join staplat_near_4 staplatb_nearx_4 1
186 join staplat_far_4 -staplatb_far_4 1 
187
188 rel sta_far_5 staplat_far_5 0 14.5
189 rel staplat_far_5 staplatb_far_5 0 17
190 extend -staplat_far_5 -staplat_near_5 upto sta_near_5
191 extend -staplatb_far_5 -staplatb_near_5 upto sta_near_4
192 join staplatb_near_5 staplat_near_5 1
193 join staplat_far_5 -staplatb_far_5 1
194
195 layer 10
196
197 rel sta_near_4 sta_near_3s 15 -48 -8
198 part l3s_jsc pt_peco_sr c -sta_near_3s
199 join l4_j3s_b -l3s_jsc_a 230
200
201 extend sta_near_3s l3s_jyard_c uptoang 3.5 -230
202 part l3s_jyard pt_peco_sl c
203
204 extend l3s_jsc_b -sc_m uptoang 90 300
205
206 extend l3s_jyard_b l3s_jh_c ang 1 -230
207 part l3s_jh pt_peco_sl c
208 extend l3s_jh_b h_8b ang 90 -230
209
210 #extend l4_j3s_b -l3s_jth_a len 20
211 #part l3s_jth pt_peco_sr a
212
213 #join -l3s_jth_c sta_near_3s 230 arcline
214
215 #part l3s_jsc pt_peco_sl c sta_near_3s
216
217 #---------- train houses
218
219
220 #extend l3s_jth_b l3th_m ang 135 230
221
222
223
224
225 #rel sq_br_i sta_far_4 30 300 -175
226 #extend -sta_far_4 -sta_plat_4 len 1118
227
228 #rel sta_far_4 sta_far_5 0 30
229 #extend -sta_far_5 -sta_plat_5 upto sta_plat_4
230
231 #part l4_stbr pt_peco_sl a sta_plat_4
232 #part l4_stbrx pt_peco_sr c -sta_plat_4
233
234 #extend l4_shbr_a l4_stbr_q ang 100 -315
235 #join l4_shbr_a l4_stbr_c 315
236
237 #---------- shunting yard
238
239 layer 0
240
241 rel sq_br_i shunt_f09 140 550 180
242 extend -shunt_f09 -shunt_yp09_b len 400
243 part shunt_yp09 pt_peco_sr b
244
245 define(`extendyard',`
246  part $1_yp$2 pt_peco_sr a $1_yp$3_c
247  extend $1_yp$2_b $1_f$2 upto $1_f$3
248 ')
249
250 extendyard(`shunt',`10',`09')
251 extendyard(`shunt',`11',`10')
252 extendyard(`shunt',`12',`11')
253
254
255 #---------- hill branch (figure of 8)
256
257 layer 20
258
259 #rel sq_bl_i h_bl_l 230 0 180
260 #extend h_bl_l h_bl_b ang 90 -230
261
262 #extend -h_bl_l -h_bre upto l0_lst 230
263 #extend -h_bre -h_brj1 len 20 230
264 #extend -h_brj1 -h_brjm len 30
265 #extend -h_brjm -h_brj0 len 30
266 #extend -h_brj0 -h_brh  len 80 230
267 #extend -h_brh -h_8m uptoang -35 230
268 #extend -h_8m -h_8b uptoang 245 -230
269
270 #rel l0_jbl_c -h_pbl_c 0 -45
271 #rel l0_jbl_b -h_pbl_b 0 -45
272 #join h_pbl_b h_pbl_c 230
273 #extend -h_pbl_b -j8sc_p ang 40 -270
274 #join j8sc_b j8sc_p 230
275
276 #extend h_pbl_c h_ub upto h_brh 270
277 #join h_ub h_8b 230
278
279 #---------- hill stations turntable
280
281 defobj tt_corner
282  layer 20
283  abs mid 200 200 0
284  extend mid out len 80
285  extend -mid -in len 80
286  extend out sout ang 45 -230
287  extend -in -sin ang 45 230
288
289  layer l20
290  rel in forcirc0 80 80 0
291  rel forcirc0 forcirc1 0 -160 180
292  join forcirc0 forcirc1 0
293  join forcirc1 forcirc0 0
294
295  layer s20
296  extend sin cnr upto sout
297 enddef
298
299 part tt tt_corner cnr -sq_br_i
300
301 eof