chiark / gitweb /
commented-out idents
[trains.git] / layout / parts.i4
index c60929ba317999b3ae99da893fb0c28612ce1f19..43b54e484fde74af77de6dceb6ed1c1465630e71 100644 (file)
@@ -6,12 +6,20 @@ dnl OBJNAME-EXCLUDING-L
  enddef
 ')
 
+# Conventionally, points' toes are c, the straight through is a
+# and the curve is b.  Segments run from c towards a and b.
+#
+# Crossings (including slips) run `vertically' and have
+# tl, tr, bl, br.  Segments run from b* to t*.
+
 define(`def_point_ord',`
 dnl OBJNAME-EXCLUDING-PT-L ANGLE STRAIGHT-L CURVE-LONGER CURVE-DIVERGE-Y MIN-R
  defpart pt_$1l
   abs c 200 200 0
+  segment /P0
   extend c a len $3
   rel a b $4 -$5 $2
+  segment /P1
   join c b $6
  enddef
  def_thing_l_r(`pt_$1')
@@ -23,7 +31,9 @@ dnl OBJNAME-EXCLUDING-PT-L TIGHT-ANG TIGHT-RECT TIGHT-DIVERGE-Y SHALLOW.. MIN-R
   abs c 200 200 0
   rel c a $6 -$7 $5
   rel c b $3 -$4 $2
+  segment /P0
   join c a $8
+  segment /P1
   join c b $8
  enddef
  def_thing_l_r(`pt_$1')
@@ -35,7 +45,9 @@ dnl OBJNAME-EXCLUDING-PT HALF-ANG RECT HALF-DIVERGE-Y MIN-R
   abs c 200 200 0
   rel c l $3 -$4  $2
   rel c r $3  $4 -$2
+  segment /P0
   join c l $5
+  segment /P1
   join c r $5
  enddef
 ')
@@ -46,17 +58,27 @@ dnl OBJNAME-EXCLUDING-CROSS HALF-ANG HALF-LENGTH
   abs m 200 200 0
   rel m ml 0 0 $2
   rel m mr 0 0 -$2
-  extend ml tl len $3
+  segment F
   extend mr tr len $3
   extend mr bl len -$3
+  segment B
+  extend ml tl len $3
   extend ml br len -$3
  enddef
 ')
 
-def_point_ord(`peco_s', 22.5, 87,  -0.5, 17,    200) # not minr 230 ?
-def_point_ord(`peco_m', 14,  126.5,-1.55,13.21, 315) # not minr 457 ?
-def_point_ord(`peco_l',  8,  160,  -0.4, 13.21, 914)
+def_point_ord(`peco_s', 22.5, 87,  -0.5, 17,    200) #ST-5,6     not minr 230 ?
+def_point_ord(`peco_m', 14,  126.5,-1.55,13.21, 315) #SL-395,396 not minr 457 ?
+def_point_ord(`peco_l',  8,  160,  -0.4, 13.21, 914) #SL-388,389
  # catalogue says 123.7 for STRAIGHT-L ?!
+ # SL-<n> and SL-E<n> have the same geometry
+
+def_point_ord(`pecofguess_l',  10,  160,  -1.0, 13.21, 800) #SLE-388F,389F
+ # not minr 914 ?
+ # 36 sleepers just like 36
+ # has 5.2mm gauge, 8.15mm rails offset:
+ # unlike 4.9mm gauge, 7.15mm rails offset: 
+ # SL-<n>F and SL-<n> do NOT have the same geometry
 
 def_point_curve(`peco_c',  10, 154.4, 13.8,  3, 156.0, 0.8, 457)
  dnl 163.2-  } dist to markings on paper cribsheet from c
@@ -65,8 +87,10 @@ def_point_curve(`peco_c',  10, 154.4, 13.8,  3, 156.0, 0.8, 457)
 def_point_y(`peco_y', 4, 127, 8.4, 800) # not minr 762 ?
 
 #def_crossing(`mythical',7,   80)
-def_crossing(`peco_l',  4,   93.75)
-def_crossing(`peco_s', 12.5, 46)
+def_crossing(`peco_l',  4,   93.75) # SL-394
+def_crossing(`peco_s', 12.5, 46)    # ST-7
+def_crossing(`pecof_s', 10,  51.85) # SL-E391F,E392F
+def_crossing(`pecof_l',  5,  77.00) # SL-E394F
 
 
 def_crossing(`atlas_15',   7.5, 64)
@@ -92,7 +116,9 @@ dnl not R($5)
   rel strintersect strbackanal -$3
   layer =
   rel strbackanal b $2
+  segment /P1
   join c b 240 arcline
+  segment /P0
   extend c a len $2
  enddef
  def_thing_l_r(`pt_$1')
@@ -110,22 +136,32 @@ defpart pt_shino_x3
   layer =
   rel strintersectc l 141
   rel strintersectb r 112
+  segment /P1
   extend c m len 215
+  segment /P0
   join c l 315 arcline
+  segment /P2
   join c r 315 arcline
 enddef
 
 define(`def_slip2',`
 dnl OBJNAME-EXCLUDING-SLIP2 HALF-LEN HALF-ANG
  defpart slip2_$1
+  # configurations:  bl-tl 0  bl-tr 1  br-tl 2  br-tr 3
   abs m 200 200 0
   rel m ml 0 0  $3
   rel m mr 0 0 -$3
+  segment /S2
   extend ml tl len $2
-  extend mr tr len $2
+  segment -/S2
   extend ml br len -$2
+  segment /S1
+  extend mr tr len $2
+  segment -/S1
   extend mr bl len -$2
+  segment /S0
   join bl tl 500
+  segment /S3
   join br tr 500
  enddef
 ')
@@ -223,7 +259,9 @@ defpart tt_atlas_motor
  layer p
  rel cout bl -40 -40
  rel cout br -40  40
- extend bl tl len 100
- extend br tr len 100
+ extend bl tl len 89
+ extend br tr len 89
  join tl -tr 0.1
 enddef
+
+#ident $Revision$