1 define(`def_thing_l_r',`
2 dnl OBJNAME-EXCLUDING-L
9 # Conventionally, points' toes are c, the straight through is a
10 # and the curve is b. Segments run from c towards a and b.
12 # Crossings (including slips) run `vertically' and have
13 # tl, tr, bl, br. Segments run from b* to t*.
15 define(`def_point_ord',`
16 dnl OBJNAME-EXCLUDING-PT-L ANGLE STRAIGHT-L CURVE-LONGER CURVE-DIVERGE-Y MIN-R
25 def_thing_l_r(`pt_$1')
28 define(`def_point_curve',`
29 dnl OBJNAME-EXCLUDING-PT-L TIGHT-ANG TIGHT-RECT TIGHT-DIVERGE-Y SHALLOW.. MIN-R
39 def_thing_l_r(`pt_$1')
42 define(`def_point_y',`
43 dnl OBJNAME-EXCLUDING-PT HALF-ANG RECT HALF-DIVERGE-Y MIN-R
55 define(`def_crossing',`
56 dnl OBJNAME-EXCLUDING-CROSS HALF-ANG HALF-LENGTH
72 def_point_ord(`peco_s', 22.5, 87, -0.5, 17, 200) # not minr 230 ?
73 def_point_ord(`peco_m', 14, 126.5,-1.55,13.21, 315) # not minr 457 ?
74 def_point_ord(`peco_l', 8, 160, -0.4, 13.21, 914)
75 # catalogue says 123.7 for STRAIGHT-L ?!
77 def_point_curve(`peco_c', 10, 154.4, 13.8, 3, 156.0, 0.8, 457)
78 dnl 163.2- } dist to markings on paper cribsheet from c
81 def_point_y(`peco_y', 4, 127, 8.4, 800) # not minr 762 ?
83 #def_crossing(`mythical',7, 80)
84 def_crossing(`peco_l', 4, 93.75)
85 def_crossing(`peco_s', 12.5, 46)
86 def_crossing(`pecof_s', 10, 51.85)
89 def_crossing(`atlas_15', 7.5, 64)
90 def_crossing(`atlas_15m', 7.5, 61)
91 def_crossing(`atlas_90', 45, 62.4)
92 def_crossing(`atlas_90m', 45, 8.5)
93 def_crossing(`atlas_30', 15, 32.9)
94 def_crossing(`atlas_30m', 15, 30.9)
95 def_crossing(`atlas_60', 30, 48.5)
96 def_crossing(`atlas_60m', 30, 14.5)
97 def_crossing(`atlas_20', 10, 63.5)
98 def_crossing(`atlas_20m', 10, 46.0)
99 def_crossing(`atlas_45', 22.5, 50.9)
100 def_crossing(`atlas_45m', 22.5, 19.5)
102 define(`def_point_shino',`
103 dnl OBJNAME-EXCLUDING-PT-L($1) A($2) B($3) Q($4)
108 rel c strintersect $3 0 $4
109 rel strintersect strbackanal -$3
117 def_thing_l_r(`pt_$1')
120 def_point_shino(`shino_4', 136, 45, 14.25)
121 def_point_shino(`shino_6', 177, 49, 9.50)
122 def_point_y(`shino_y', 7.125, 140, 10.9, 750) # not minr 500 ?
127 rel c strintersectc 74 0 9.5
128 rel c strintersectb 103 0 -12
130 rel strintersectc l 141
131 rel strintersectb r 112
141 dnl OBJNAME-EXCLUDING-SLIP2 HALF-LEN HALF-ANG
143 # configurations: bl-tl 0 bl-tr 1 br-tl 2 br-tr 3
162 def_slip2(`shino', 114, 4.75)
163 def_slip2(`pecof', 77, 5.00)
166 dnl OBJNAME-EXCLUDING-SCIS HALF-LENGTH HALF-SPACING HALF-ANG MIN-R
186 def_scis(`pecof', 135.42, 13.5, 10, 315)
187 def_scis(`shino', 154, 13.5, 9.5, 315)
189 define(`tt_do_circle',`
191 rel mid forcirc0$2 0 $1 0
192 rel mid forcirc1$2 0 -$1 180
194 join forcirc0$2 forcirc1$2 0
195 join forcirc1$2 forcirc0$2 0
202 extend mid out len 80
203 extend -mid -in len 80
208 define(`tt_atlas_out',`
212 rel mid$1 out$1 109 0
218 extend mid out len 109
219 extend -mid -in len 109
246 tt_do_circle(95.25, i)
247 tt_do_circle(109, `')
250 defpart tt_atlas_motor