include(`parts.i4') layer 10 define(`pt_main_r',`pt_peco_mr') defobj dualjn_peco_r abs ic 200 200 0 part pt_i pt_peco_lr c ic part x cross_peco_l br pt_i_a part pt_o pt_peco_lr b x_bl rel pt_o_c oc rel x_tl ia extend pt_o_a oa upto ia rel x_tr ob rel pt_i_b ib enddef defobj demos abs right 200 200 0 part main_up ^pt_main_r c right b right_main_up part main_down pt_main_r c right b right_main_down part short_down pt_peco_sr c right b right_short_down abs up 200 200 90 part main_left ^pt_main_r c up b up_main_left part main_right pt_main_r c up b up_main_right part dualjn_tr ^dualjn_peco_r ib -right enddef #---------- main line figure-of-8 abs midx_m 930 700 90 part midx cross_peco_s m extend midx_tr -l0_jtr_b parallel demos!right_main_up 315 part l0_jtr ^pt_main_r b extend midx_tl -l0_jtl_b parallel demos!-right_main_down -315 part l0_jtl pt_main_r b rel l0_jtl_c l2_ptl 0 -37 rel l2_ptl l3_ptl 0 -37 rel l3_ptl l4_ptl 0 -37 rel l4_ptl l5_ptl 0 -37 extend -midx_bl -j8sc_a len 10 315 part j8sc pt_peco_sl a extend -j8sc_c -l0_jbl_b parallel demos!right_main_up 315 part l0_jbl ^pt_main_r b extend -l0_jbl_c l0_lst uptoang 90 315 rel l0_lst l2_lst 0 -37 rel l2_lst l3_lst 0 -37 rel -l0_jbl_c l2_pbl 0 -37 rel l2_pbl l3_pbl 0 -37 layer s extend -midx_br -demo_midx_br_x ang 7 316 extend -demo_midx_br_x -demo_l0_jbr_b parallel demos!right_main_down -316 part demo_l0_jbr pt_main_r b #extend l0_rst l0_rsb upto l0_lst #extend l0_rsb l0_jbr_c uptoang 180 315 #part l0_jbr pt_main_r c #join l0_jbr_b midx_br 315 arcline #extend l0_jbr_b l0_test ang 135 315 layer l extend l0_jbl_a -l0_jbr_c upto demo_l0_jbr_c layer = part l0_jbr pt_main_r c extend -l0_jtr_c -l0_jtre upto l0_jbr_c join l0_jbr_b midx_br 315 extend -l0_jtre l0_rst uptoang -90 315 rel l0_rst l2_rst 0 -37 rel l2_rst l3_rst 0 -37 extend -l0_jbr_c -l0_rsb uptoang 90 -315 extend -l0_jtre l0p_dj parallel demos!dualjn_tr_ic 315 rel l0p_dj -l23_dj_ic 0 -37 part l23_dj ^dualjn_peco_r ic extend l23_dj_oa l3_sh uptoang 180 -315 #---------- box layer l5 extend l3_pbl sq_bl_o upto l3_lst rel sq_bl_o sq_bl_i 0 0 -90 extend sq_bl_i sq_tl_o upto l5_ptl rel sq_tl_o sq_tl_i 0 0 -90 extend sq_tl_i sq_tr_o upto l3_rst rel sq_tr_o sq_tr_i 0 0 -90 extend sq_tr_i sq_br_o upto sq_bl_i rel sq_br_o sq_br_i 0 0 -90 extend sq_br_i sq_bl_o2 upto sq_bl_o #---------- bottom junction between main loop, main-8 layer 10 rel sq_br_i l2_jbr_c 315 part l2_jbr pt_main_r c #part l2_jbrx pt_shino_6r c l2_jbr_c extend l2_jbr_b l1_jbr_bl uptoang 170.5 -315 part l1_jbr slip2_shino bl extend l1_jbr_tr l01_jbmx_bl ang 0.5 315 part l01_jbmx cross_atlas_20m bl #l1_jbr_tr extend -l01_jbmx_br -l0_jbmr_b len 5 315 part l0_jbmr ^pt_main_r b #l01_jbmx_br join l0_jbr_a l0_jbmr_c 315 extend l01_jbmx_tr -l0_jbml_b len 5 -315 part l0_jbml pt_main_r b join l0_jbmr_a -l0_jbml_a 315 #---------- station branch curve layer 10 rel sq_tl_i l4_ct 352 37 180 rel l4_ct l5_ct 0 37 extend l4_ct l4_cl ang 90 -315 extend l5_ct l5_cl ang 90 -352 extend l3_lst l3_tlc5 ang 30 389 extend l2_lst l2_tlc5 ang 30 352 extend l0_lst l0_tlc5 ang 30 315 extend -l3_ptl -l3_tlc7 ang 60 -389 extend -l2_ptl -l2_tcl7 ang 60 -352 extend -l0_jtl_c -l0_tcl7 ang 60 -315 part l45_lx scis_shino tl l4_ct #---------- station layer 0 part l4_j3s pt_peco_sl c l4_cl extend l4_j3s_a sta_near_4 uptoang 5 -315 extend sta_near_4 sta_far_4 len 1118 rel sta_near_4 sta_near_5 0 46 extend sta_near_5 sta_far_5 len 1118 layer l rel sta_near_4 staplat_near_4 0 14.5 rel sta_near_5 staplat_near_5 0 -14.5 extend staplat_near_4 staplat_far_4 upto sta_far_4 extend staplat_near_5 staplat_far_5 upto sta_far_5 layer = join l5_cl sta_near_5 352 rel sta_near_4 sta_near_3s 15 -37 -10 part l3s_jsc pt_peco_sr c -sta_near_3s join l4_j3s_b -l3s_jsc_a 230 extend sta_near_3s l3s_jyard_c uptoang 3.5 -230 part l3s_jyard pt_peco_sl c extend l3s_jsc_b -sc_m uptoang 90 300 extend l3s_jyard_b l3s_jh_c ang 1 -230 part l3s_jh pt_peco_sl c extend l3s_jh_b h_8b ang 90 -230 #extend l4_j3s_b -l3s_jth_a len 20 #part l3s_jth pt_peco_sr a #join -l3s_jth_c sta_near_3s 230 arcline #part l3s_jsc pt_peco_sl c sta_near_3s #---------- train houses #extend l3s_jth_b l3th_m ang 135 230 #rel sq_br_i sta_far_4 30 300 -175 #extend -sta_far_4 -sta_plat_4 len 1118 #rel sta_far_4 sta_far_5 0 30 #extend -sta_far_5 -sta_plat_5 upto sta_plat_4 #part l4_stbr pt_peco_sl a sta_plat_4 #part l4_stbrx pt_peco_sr c -sta_plat_4 #extend l4_shbr_a l4_stbr_q ang 100 -315 #join l4_shbr_a l4_stbr_c 315 #---------- shunting yard layer 0 rel sq_br_i shunt_f09 140 550 180 extend -shunt_f09 -shunt_yp09_b len 400 part shunt_yp09 pt_peco_sr b define(`extendyard',` part $1_yp$2 pt_peco_sr a $1_yp$3_c extend $1_yp$2_b $1_f$2 upto $1_f$3 ') extendyard(`shunt',`10',`09') extendyard(`shunt',`11',`10') extendyard(`shunt',`12',`11') #---------- hill branch (figure of 8) layer 20 #rel sq_bl_i h_bl_l 230 0 180 #extend h_bl_l h_bl_b ang 90 -230 #extend -h_bl_l -h_bre upto l0_lst 230 #extend -h_bre -h_brj1 len 20 230 #extend -h_brj1 -h_brjm len 30 #extend -h_brjm -h_brj0 len 30 #extend -h_brj0 -h_brh len 80 230 #extend -h_brh -h_8m uptoang -35 230 #extend -h_8m -h_8b uptoang 245 -230 #rel l0_jbl_c -h_pbl_c 0 -45 #rel l0_jbl_b -h_pbl_b 0 -45 #join h_pbl_b h_pbl_c 230 #extend -h_pbl_b -j8sc_p ang 40 -270 #join j8sc_b j8sc_p 230 #extend h_pbl_c h_ub upto h_brh 270 #join h_ub h_8b 230 #---------- 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 rel sq_br_i tc_in 230 0 -180 extend tc_in tc_out ang 90 -230 eof