From: ian Date: Tue, 10 Feb 2004 22:46:02 +0000 (+0000) Subject: turntables are in parts X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ijackson/git?a=commitdiff_plain;h=8e9436846d30185ea831d24bb04c9748391bc941;p=trains.git turntables are in parts --- diff --git a/layout/ours.m4 b/layout/ours.m4 index 96905d3..62381f2 100644 --- a/layout/ours.m4 +++ b/layout/ours.m4 @@ -286,24 +286,22 @@ layer 20 #---------- hill stations turntable -defobj tt_corner - layer 20 - abs mid 200 200 0 - extend mid out len 80 - extend -mid -in len 80 - extend out sout ang 45 -230 - extend -in -sin ang 45 230 - - layer l20 - rel in forcirc0 80 80 0 - rel forcirc0 forcirc1 0 -160 180 - join forcirc0 forcirc1 0 - join forcirc1 forcirc0 0 - - layer s20 - extend sin cnr upto sout -enddef - -part tt tt_corner cnr -sq_br_i +#defobj tt_corner +# layer 20 +# abs mid 200 200 0 +# extend out sout ang 45 -230 +# extend -in -sin ang 45 230 + +# layer l20 +# rel in forcirc0 80 80 0 +# rel forcirc0 forcirc1 0 -160 180 +# join forcirc0 forcirc1 0 +# join forcirc1 forcirc0 0 + +# layer s20 +# extend sin cnr upto sout +#enddef + +#part tt tt_corner cnr -sq_br_i eof diff --git a/layout/parts.i4 b/layout/parts.i4 index 9bdee00..b86f6a6 100644 --- a/layout/parts.i4 +++ b/layout/parts.i4 @@ -155,3 +155,64 @@ defpart scis_shino join br ml 315 join ml tl 315 enddef + +define(`tt_do_circle',` + layer s + rel mid forcirc0$2 0 $1 0 + rel mid forcirc1$2 0 -$1 180 + layer l + join forcirc0$2 forcirc1$2 0 + join forcirc1$2 forcirc0$2 0 + layer = +') + +defpart tt_peco + layer = + abs mid 200 200 0 + extend mid out len 80 + extend -mid -in len 80 + + tt_do_circle(80, `') +enddef + +define(`tt_atlas_out',` + layer s + rel mid mid$1 0 0 $1 + layer = + rel mid$1 out$1 109 0 +') + +defpart tt_atlas + layer = + abs mid 200 200 0 + extend mid out len 109 + extend -mid -in len 109 + + tt_atlas_out(`0') + tt_atlas_out(`15') + tt_atlas_out(`30') + tt_atlas_out(`45') + tt_atlas_out(`60') + tt_atlas_out(`75') + tt_atlas_out(`90') + tt_atlas_out(`105') + tt_atlas_out(`120') + tt_atlas_out(`135') + tt_atlas_out(`150') + tt_atlas_out(`165') + tt_atlas_out(`180') + tt_atlas_out(`195') + tt_atlas_out(`210') + tt_atlas_out(`225') + tt_atlas_out(`240') + tt_atlas_out(`255') + tt_atlas_out(`270') + tt_atlas_out(`285') + tt_atlas_out(`300') + tt_atlas_out(`315') + tt_atlas_out(`330') + tt_atlas_out(`345') + + tt_do_circle(95.25, i) + tt_do_circle(109, `') +enddef