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
70 def_point_ord(`peco_s', 22.5, 87, -0.5, 17, 200) #ST-5,6 not minr 230 ?
71 def_point_ord(`peco_m', 14, 126.5,-1.55,13.21, 315) #SL-395,396 not minr 457 ?
72 def_point_ord(`peco_l', 8, 160, -0.4, 13.21, 914) #SL-388,389
73 # catalogue says 123.7 for STRAIGHT-L ?!
74 # SL-<n> and SL-E<n> have the same geometry
76 def_point_curve(`peco_c', 10, 154.4, 13.8, 3, 156.0, 0.8, 457)
77 dnl 163.2- } dist to markings on paper cribsheet from c
80 def_point_y(`peco_y', 4, 127, 8.4, 800) # not minr 762 ?
82 #def_crossing(`mythical',7, 80)
83 def_crossing(`peco_l', 4, 93.75)
84 def_crossing(`peco_s', 12.5, 46)
85 def_crossing(`pecof_s', 10, 51.85)
88 def_crossing(`atlas_15', 7.5, 64)
89 def_crossing(`atlas_15m', 7.5, 61)
90 def_crossing(`atlas_90', 45, 62.4)
91 def_crossing(`atlas_90m', 45, 8.5)
92 def_crossing(`atlas_30', 15, 32.9)
93 def_crossing(`atlas_30m', 15, 30.9)
94 def_crossing(`atlas_60', 30, 48.5)
95 def_crossing(`atlas_60m', 30, 14.5)
96 def_crossing(`atlas_20', 10, 63.5)
97 def_crossing(`atlas_20m', 10, 46.0)
98 def_crossing(`atlas_45', 22.5, 50.9)
99 def_crossing(`atlas_45m', 22.5, 19.5)
101 define(`def_point_shino',`
102 dnl OBJNAME-EXCLUDING-PT-L($1) A($2) B($3) Q($4)
107 rel c strintersect $3 0 $4
108 rel strintersect strbackanal -$3
116 def_thing_l_r(`pt_$1')
119 def_point_shino(`shino_4', 136, 45, 14.25)
120 def_point_shino(`shino_6', 177, 49, 9.50)
121 def_point_y(`shino_y', 7.125, 140, 10.9, 750) # not minr 500 ?
126 rel c strintersectc 74 0 9.5
127 rel c strintersectb 103 0 -12
129 rel strintersectc l 141
130 rel strintersectb r 112
140 dnl OBJNAME-EXCLUDING-SLIP2 HALF-LEN HALF-ANG
142 # configurations: bl-tl 0 bl-tr 1 br-tl 2 br-tr 3
161 def_slip2(`shino', 114, 4.75)
162 def_slip2(`pecof', 77, 5.00)
165 dnl OBJNAME-EXCLUDING-SCIS HALF-LENGTH HALF-SPACING HALF-ANG MIN-R
185 def_scis(`pecof', 135.42, 13.5, 10, 315)
186 def_scis(`shino', 154, 13.5, 9.5, 315)
188 define(`tt_do_circle',`
190 rel mid forcirc0$2 0 $1 0
191 rel mid forcirc1$2 0 -$1 180
193 join forcirc0$2 forcirc1$2 0
194 join forcirc1$2 forcirc0$2 0
201 extend mid out len 80
202 extend -mid -in len 80
207 define(`tt_atlas_out',`
211 rel mid$1 out$1 109 0
217 extend mid out len 109
218 extend -mid -in len 109
245 tt_do_circle(95.25, i)
246 tt_do_circle(109, `')
249 defpart tt_atlas_motor