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_ord(`pecofguess_l', 10, 160, -1.0, 13.21, 800) #SLE-388F,389F
78 # 36 sleepers just like 36
79 # has 5.2mm gauge, 8.15mm rails offset:
80 # unlike 4.9mm gauge, 7.15mm rails offset:
81 # SL-<n>F and SL-<n> do NOT have the same geometry
83 def_point_curve(`peco_c', 10, 154.4, 13.8, 3, 156.0, 0.8, 457)
84 dnl 163.2- } dist to markings on paper cribsheet from c
87 def_point_y(`peco_y', 4, 127, 8.4, 800) # not minr 762 ?
89 #def_crossing(`mythical',7, 80)
90 def_crossing(`peco_l', 4, 93.75) # SL-394
91 def_crossing(`peco_s', 12.5, 46) # ST-7
92 def_crossing(`pecof_s', 10, 51.85) # SL-E391F,E392F
93 def_crossing(`pecof_l', 5, 77.00) # SL-E394F
96 def_crossing(`atlas_15', 7.5, 64)
97 def_crossing(`atlas_15m', 7.5, 61)
98 def_crossing(`atlas_90', 45, 62.4)
99 def_crossing(`atlas_90m', 45, 8.5)
100 def_crossing(`atlas_30', 15, 32.9)
101 def_crossing(`atlas_30m', 15, 30.9)
102 def_crossing(`atlas_60', 30, 48.5)
103 def_crossing(`atlas_60m', 30, 14.5)
104 def_crossing(`atlas_20', 10, 63.5)
105 def_crossing(`atlas_20m', 10, 46.0)
106 def_crossing(`atlas_45', 22.5, 50.9)
107 def_crossing(`atlas_45m', 22.5, 19.5)
109 define(`def_point_shino',`
110 dnl OBJNAME-EXCLUDING-PT-L($1) A($2) B($3) Q($4)
115 rel c strintersect $3 0 $4
116 rel strintersect strbackanal -$3
124 def_thing_l_r(`pt_$1')
127 def_point_shino(`shino_4', 136, 45, 14.25)
128 def_point_shino(`shino_6', 177, 49, 9.50)
129 def_point_y(`shino_y', 7.125, 140, 10.9, 750) # not minr 500 ?
134 rel c strintersectc 74 0 9.5
135 rel c strintersectb 103 0 -12
137 rel strintersectc l 141
138 rel strintersectb r 112
148 dnl OBJNAME-EXCLUDING-SLIP2 HALF-LEN HALF-ANG
150 # configurations: bl-tl 0 bl-tr 1 br-tl 2 br-tr 3
169 def_slip2(`shino', 114, 4.75)
170 def_slip2(`pecof', 77, 5.00)
173 dnl OBJNAME-EXCLUDING-SCIS HALF-LENGTH HALF-SPACING HALF-ANG MIN-R
193 def_scis(`pecof', 135.42, 13.5, 10, 315)
194 def_scis(`shino', 154, 13.5, 9.5, 315)
196 define(`tt_do_circle',`
198 rel mid forcirc0$2 0 $1 0
199 rel mid forcirc1$2 0 -$1 180
201 join forcirc0$2 forcirc1$2 0
202 join forcirc1$2 forcirc0$2 0
209 extend mid out len 80
210 extend -mid -in len 80
215 define(`tt_atlas_out',`
219 rel mid$1 out$1 109 0
225 extend mid out len 109
226 extend -mid -in len 109
253 tt_do_circle(95.25, i)
254 tt_do_circle(109, `')
257 defpart tt_atlas_motor