chiark / gitweb /
main fig 8 joins
[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 hj_c len 10 315
46 part hj pt_peco_sr c
47
48 extend hj_a -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
107 #---------- station branch curve
108
109 layer 10
110
111 rel sq_tl_i l4_ct 352 37 180
112 rel l4_ct l5_ct 0 37
113 extend l4_ct l4_cl ang 90 -315
114 extend l5_ct l5_cl ang 90 -352
115
116 extend l3_lst l3_tlc5 ang 30 389
117 extend l2_lst l2_tlc5 ang 30 352
118 extend l0_lst l0_tlc5 ang 30 315
119
120 extend -l3_ptl -l3_tlc7 ang 60 -389
121 extend -l2_ptl -l2_tcl7 ang 60 -352
122 extend -l0_jtl_c -l0_tcl7 ang 60 -315
123
124
125 #---------- hill branch (figure of 8)
126
127 layer 20
128
129 rel sq_bl_i h_bl_l 230 0 180
130 extend h_bl_l h_bl_b ang 90 -230
131
132 extend -h_bl_l -h_bre upto l0_lst 230
133 extend -h_bre -h_brj1 len 20 230
134 extend -h_brj1 -h_brjm len 30
135 extend -h_brjm -h_brj0 len 30
136 extend -h_brj0 -h_brh  len 80 230
137 extend -h_brh -h_8m uptoang -35 230
138 extend -h_8m -h_8b uptoang 245 -230
139
140 rel l0_jbl_c -h_pbl_c 0 -45
141 rel l0_jbl_b -h_pbl_b 0 -45
142 join h_pbl_b h_pbl_c 230
143 extend -h_pbl_b -hj_p ang 40 -270
144 join hj_b hj_p 230
145
146 extend h_pbl_c h_ub upto h_brh 270
147 join h_ub h_8b 230
148
149 #---------- hill stations turntable
150
151 defobj tt_corner
152  layer 20
153  abs mid 200 200 0
154  extend mid out len 80
155  extend -mid -in len 80
156  extend out sout ang 45 -230
157  extend -in -sin ang 45 230
158
159  layer l20
160  rel in forcirc0 80 80 0
161  rel forcirc0 forcirc1 0 -160 180
162  join forcirc0 forcirc1 0
163  join forcirc1 forcirc0 0
164
165  layer s20
166  extend sin cnr upto sout
167 enddef
168
169 part tt tt_corner cnr -sq_br_i
170
171 rel sq_br_i tc_in 230 0 -180
172 extend tc_in tc_out ang 90 -230
173
174 eof