BveTs Map 2.02:UTF-8

/////	マップファイルの編集には"Notepad++"や"Visual Studio Code"といったソースコードエディタ"に,マップ構文定義ファイルを適用すると見やすく編集しやすいでしょう.
/////	1行目には,必ずファイルヘッダーを記述します.うまく読み込まれないときは, ファイルヘッダーのバージョンと文字エンコードもチェックしましょう.
/////	キロ程には自由な数が設定できるようになりました.しかし,調査や計算が複雑になるため,設計としては25m単位にするなど,丸めて製作することも重要な工夫です. (当区間では5m単位に丸めています)

/////	シナリオファイルは,		Uchibo_3793F_ATS-P.txt
/////	マップファイルの最上位は,	3793F_P.txt

/////	[ キロ程表記について ]	:	詳細は Track_define.txt
/////	$SR01 をキロ程に使う場合, シナリオ上のキロ程は	[ 入力したキロ程 +39440 ]
/////	$WK01 をキロ程に使う場合, シナリオ上のキロ程は	[ 入力したキロ程 +  235 ]
/////	$WK02 をキロ程に使う場合, シナリオ上のキロ程は	[ 入力したキロ程 -  145 ]
/////	$SZ01 をキロ程に使う場合, シナリオ上のキロ程は	[ 入力したキロ程 + 4025 ]

/////	[ TrackKeyについて ]	/	処理負荷軽減のため, 未設定および コメントアウトしている区間もあります
/////	D-Sazanami	=	内房線下り	(千葉-蘇我間の外房線下りを含みます/原則,自軌道と同じルート)
/////	U-Sazanami	=	内房線上り	(千葉-蘇我間の外房線上りを含みます)
/////	D-Wakashio	=	外房線下り
/////	U-Wakashio	=	外房線上り
/////	D-Sazanami-3	=	内房線下り	(千葉駅3番線ルート)
/////	U-Sazanami-4	=	内房線上り	(千葉駅4番線ルート)
/////	D-Wakashio-5	=	外房線下り	(千葉駅5番線ルート)
/////	U-Wakashio-6	=	外房線上り	(千葉駅6番線ルート)
/////	Keiyo-3		=	京葉線上り	(蘇我駅3番線)
/////	Keiyo-4		=	京葉線下り	(蘇我駅4番線)

/////	KDK-D		=	京成線下り	(ちはら線直通)
/////	KDK-U		=	京成線上り	(ちはら線直通/千葉中央以南も線路上を走ります)
/////	KDK-U_Dammy	=	京成ちはら線・複線用地用Track	(千葉中央以南の引上線・複線用地部分に使用しています)

#####	このファイルでは実キロ程 外房線0k270m～3k000m あたりの構文を扱います.	(千葉分岐器終端 ～ スラブ区間終端 / ただし, 本千葉配線部は Map02_HonChiba.txt )
#####	このファイルでは 駅間毎に, 線形部分(平面曲線・勾配/その附帯物) → 線形以外 キロ程順 → まとめて管理したいストラクチャ(キロポスト/架線柱・架線関係など) の順で記述しています.
#####	キロ程についても自由な順序で記述できるようになったため,このようにしてみましたが, 従来通りキロ程順に記述しても もちろん問題ありません. 製作者本人が見やすく, 管理しやすいように整理することが大事です.

	include 	'Map_Chiba-Soga_AddTrain.txt';								#	千葉 - 蘇我	(他列車用マップファイル)


					0;
						Background.Change('Bg_Fine');												#	背景を設定します. この構文は, 以降も任意の地点で変更可能です.

						Repeater['Ground'].Begin0('Height', 1, 25, 25,'grassrise');					#	地面には専用のTrackを使用します.傾斜オプションは原則’1’を設定するとよいでしょう. 当例では 地面用Trackの trackKey は, Height としています.
#						Repeater['Ground'].Begin0('Height', 1, 25, 25,'grass_1');					#	地面には専用のTrackを使用します.傾斜オプションは原則’1’を設定するとよいでしょう. 当例では 地面用Trackの trackKey は, Height としています.
						Track['Height'].Y.Interpolate( -5.00,    0 );								#	レール面からの高低差を設定して, 地面の高さを表現します.




///////////////			///////////////			///////////////			///////////////			////////////			////////////#	# # #	↓	千  葉 - 本 千 葉	[ 曲線設定 ]		# #	#
																																	#	原則として上下線が並行しているため, 上下線両方をここで設定しています.
	  270 + $WK01 ;																													#	  505;	に相当
						Curve.Interpolate();																						#	緩和曲線を開始します/BTC (引数は短縮記述/直前の設定が直線(0)のため,0が代入されています)
						Track['D-Sazanami'].Cant.Interpolate();																		#	他軌道のカント逓減を開始します/BTC		(内房線・下り)
						Track['U-Sazanami'].Cant.Interpolate();																		#	他軌道のカント逓減を開始します/BTC		(内房線・上り)
						Structure['CPgd'].Put('D-Sazanami', -2.25, -0.25,  0.00, 0.0, 0.0, 0.0, 0,  0 );							#	逓減標を設置します.
						Structure['CPgd'].Put('U-Sazanami',  2.45, -0.25,  4.00, 0.0, 0.0, 0.0, 0,  0 );							#	逓減標を設置します.
						SpeedLimit.Begin( 60 +  5 );																				#	速度制限を設定します.制限標識は Structure.Put構文により設置します.	/	橙黄色板の制限速度対応車のため、+5km/hしています.
						Structure['Lim060_Anum']  		.Put('D-Sazanami', -2.15,  0.90,  0.00, 0.0, 0.0, 2.5, 0,  0 );				#	速度制限標識を設置します.
						Structure['Lnum_A_1']	  		.Put('D-Sazanami', -2.25,  0.90,  0.00, 0.0, 0.0, 2.5, 0,  0 );				#						これは, 距離部分の '1'.
						Structure['Lnum_A_6']	  		.Put('D-Sazanami', -2.15,  0.90,  0.00, 0.0, 0.0, 2.5, 0,  0 );				#						これは, 距離部分の '6'.
						Structure['Lnum_A_1']	  		.Put('D-Sazanami', -2.05,  0.91,  0.00, 0.0, 0.0, 2.5, 0,  0 );				#						これは, 距離部分の '1'.
						Structure['sign_pole_200']		.Put('D-Sazanami', -2.15,  0.90,  0.00, 0.0, 0.0, 2.5, 0,  0 );				#						これは,標識の脚.
						Structure['Limit_Orng']	 .Put('D-Sazanami', -2.08, -0.90, -0.05, 0.0, 0.0, 2.5, 0,  0 );					#		┗橙黄色板を設置します.
	  310 + $WK01 ;																													#	  545;	に相当
						Curve.Interpolate(  400,  34/1000);																			#	円曲線を開始します/BCC
						Track['D-Sazanami'].Cant.Interpolate(  34/1000);															#	他軌道のカントを設定します/BCC			(内房線・下り)
						Track['U-Sazanami'].Cant.Interpolate(  34/1000);															#	他軌道のカントを設定します/BCC			(内房線・上り)
						Structure['CP'].Put('D-Sazanami', -2.25, -0.10, -1.00, 0.0, -15,10.0, 0,  0 );								#	曲線標を設置します.
						Structure['CP'].Put('U-Sazanami',  2.00, -0.10, -1.00, 0.0, 0.0, -12, 0,  0 );								#	曲線標を設置します.
	  405 + $WK01 ;																													#	  640;	に相当
						Curve.Interpolate();																						#	緩和曲線を開始します(円曲線終了)/ECC (引数は短縮記述/直前の同構文( 545;)より,(  400, 34/1000)が代入されています)
						Track['D-Sazanami'].Cant.Interpolate();																		#	他軌道のカント逓減を開始します/ECC		(内房線・下り)
						Track['U-Sazanami'].Cant.Interpolate();																		#	他軌道のカント逓減を開始します/ECC		(内房線・上り)
						Structure['CP'].Put('D-Sazanami', -2.25, -0.25,  0.75, -10, 150,10.0, 0,  0 );								#	曲線標を設置します.	(Y軸：180度により前後反転させています)
						Structure['CP'].Put('U-Sazanami',  2.25, -0.25, -3.25,-0.0, 180, 1.0, 0,  0 );								#	曲線標を設置します.	(Y軸：180度により前後反転させています)
	  435 + $WK01 ;																													#	  670;	に相当
						Curve.Interpolate(    0,   0/1000);																			#	緩和曲線を終了します/ETC
						Track['D-Sazanami'].Cant.Interpolate(   0/1000);															#	他軌道のカント逓減を終了します/ETC		(内房線・下り)
						Track['U-Sazanami'].Cant.Interpolate(   0/1000);															#	他軌道のカント逓減を終了します/ETC		(内房線・上り)
						Structure['CPgd'].Put('D-Sazanami', -2.25, -0.25,  0.00, 0.0, 0.0, 2.0, 0,  0 );							#	逓減標を設置します.
						Structure['CPgd'].Put('U-Sazanami',  2.25, -0.25,  0.00, 0.0, 0.0, 0.0, 0,  0 );							#	逓減標を設置します.
						SpeedLimit.End();																							#	速度制限を解除します.制限解除標識は"Structure.Put"構文により設置します.
						Structure['LimEnd_A']	  .Put('D-Sazanami', -2.10,  0.90,  0.00, 0.0,-5.0, 1.0, 0,  0 );					#	速度制限解除標識を設置します.	これは,解除標.
						Structure['sign_pole_120'].Put('D-Sazanami', -2.10,  0.90,  0.00, 0.0,-5.0, 1.0, 0,  0 );					#							これは,標識の脚.
																																	#
///////////////			///////////////			///////////////			///////////////			////////////			////////////#	# # #	↑	千  葉 - 本 千 葉	[ 曲線設定 ]		# #	#



#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	# # #	↓	千  葉 - 本 千 葉	[ 勾配設定 ]		# #	#
																																	#	[ 勾配設定 ]
																																	#	勾配の緩和区間をキロ程通りに入力すると, 勾配標のキロ程と相違があるため少しイメージが掴みにくく感じます.
																																	#	そのため, 当例では演算子を用いて記述しています.VCLの1/2を±することでVCLと等しくなるようにしています(切り捨て・切り上げにより2の倍数の整数に変換).
																																	#	VCLは, 例えば VCR = 4000 であれば, 勾配差×4 で近似値が求まります. (勾配差 × VCR/1000)
	  290 + $WK01 ;		#	Structure['t_pitchU'].Put('D-Sazanami', -1.75, -0.25,  0.00, 0.0, 0.0, 0.0, 0,  0 );						#	  525;	に相当
	  290 + $WK01 -  2 ;	Gradient.Interpolate();			#	Track['Height'].Y.Interpolate( -0.45,-4000);						#	↑  1.0
	  290 + $WK01 +  2 ;	Gradient.Interpolate(  1.0);	#	Track['Height'].Y.Interpolate( -0.45,    0);						#	VCL =   4.0	(R=4000)

	  338 + $WK01 ;			Structure['Gp_DU'].Put('D-Sazanami', -2.40,  0.50,  0.00,  0.0,  0.0,  2.5, 0,  0 );					#	  573;	に相当
	  338 + $WK01 - 15 ;	Gradient.Interpolate();			#	Track['Height'].Y.Interpolate( -7.00, 4000);						#	↓  6.2
	  338 + $WK01 + 15 ;	Gradient.Interpolate( -6.2);	#	Track['Height'].Y.Interpolate( -6.83,    0);						#	VCL =  28.8	(R=4000)

	  495 + $WK01 ;		#	Structure['Gp_DU'].Put('D-Sazanami', -2.75, -0.25,  0.00,  0.0,  0.0,  1.5, 0,  0 );					#	  730;	に相当
	  495 + $WK01 -  3 ;	Gradient.Interpolate();			#	Track['Height'].Y.Interpolate( -7.00, 4000);						#	↓  5.0
	  495 + $WK01 +  3 ;	Gradient.Interpolate( -5.0);	#	Track['Height'].Y.Interpolate( -6.83,    0);						#	VCL =   4.8	(R=4000)

	 1135 + $WK02 ;		#	Structure['Gp_DU'].Put('D-Sazanami', -2.75, -0.25,  0.00,  0.0,  0.0,  1.5, 0,  0 );					#	  990;	に相当
	 1135 + $WK02 -  3 ;	Gradient.Interpolate();			#	Track['Height'].Y.Interpolate( -7.00, 4000);						#	↓  3.6
	 1135 + $WK02 +  3 ;	Gradient.Interpolate( -3.6);	#	Track['Height'].Y.Interpolate( -6.83,    0);						#	VCL =   5.6	(R=4000)

	 1445 + $WK02 ;			Structure['Gp_UD'].Put('D-Sazanami', -2.01, -0.25,  0.00, -2.0,  3.0,  1.5, 0,  0 );					#	 1300;	に相当
	 1445 + $WK02 - 27 ;	Gradient.Interpolate();			#	Track['Height'].Y.Interpolate( -0.45,-4000);						#	↑  9.6
	 1445 + $WK02 + 27 ;	Gradient.Interpolate(  9.6);		Track['Height'].Y.Interpolate( -5.00,    0);						#	VCL =  52.8	(R=4000)

	 1685 + $WK02 ;		#	Structure['Gp_LD'].Put('D-Sazanami', -2.50, -0.00,  0.00, 0.0, 0.0, 0.0, 0,  0 );						#	 1540;	に相当
	 1685 + $WK02 - 20 ;	Gradient.Interpolate();				Track['Height'].Y.Interpolate( -6.83, 4000);						#	L
	 1685 + $WK02 + 20 ;	Gradient.Interpolate(  0.0);		Track['Height'].Y.Interpolate( -7.00,    0);						#	VCL =  38.4	(R=4000)

#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	# # #	↑	千  葉 - 本 千 葉	[ 勾配設定 ]		# #	#





	  270 + $WK01 ;																													#	  505;	に相当
						Repeater['WallL0'].Begin('D-Sazanami',  0.00, -0.30,  0.00, 0.0, 0.0, 0.0, 1,  5,  5,'wallL_5m');			#	高架壁の連続配置を開始します.
						Repeater['WallR0'].Begin('U-Sazanami',  0.00, -0.30,  0.00, 0.0, 0.0, 0.0, 1,  5,  5,'wallR_5m');			#	高架壁の連続配置を開始します.

	  290 + $WK01 ;																													#	  525;	に相当
						Structure['Tokuhatsu2'].Put('U-Sazanami',  2.45, -0.00,  0.00, 0.0, 0.0, 0.0, 0,  0 );						#	特殊信号発光機 (II)

	  310 + $WK01 ;																													#	  545;	に相当
						Repeater['WallL0'].Begin('D-Sazanami', -0.40, -0.10,  0.00, 0.0, 0.0, 0.0, 1,  5,  5,'bridge_5bL');			#	高架壁の連続配置を開始します.	/	ストラクチャの変更
						Repeater['WallR0'].Begin('U-Sazanami',  0.00, -0.10,  0.00, 0.0, 0.0, 0.0, 1,  5,  5,'bridge_5bR');			#	高架壁の連続配置を開始します.	/	ストラクチャの変更
	  335 + $WK01 ;																													#	  570;	に相当
						Repeater['WallL0'].Begin('D-Sazanami', -0.00, -0.30,  0.00, 0.0, 0.0, 0.0, 1,  5,  5,'WallL_5m');			#	高架壁の連続配置を開始します.	/	ストラクチャの変更
						Repeater['WallR0'].Begin('U-Sazanami', -0.00, -0.30,  0.00, 0.0, 0.0, 0.0, 1,  5,  5,'WallR_5m');			#	高架壁の連続配置を開始します.	/	ストラクチャの変更


	  370 + $WK01 ;																													#	  605;	に相当
						Repeater['WallR0'].Begin('U-Sazanami',  0.40, -0.60,  0.00, 0.0, 0.0, 0.0, 1, 10, 10,'bridge_bR');			#	千葉街道交差部	:	このガーター橋は 左/中央/右 を3分割して設置しています.
																																	#						ストラクチャは左右中心をX=0として, 1つのストラクチャで千葉街道との斜め交差を再現しています.
						Repeater['WallR1'].Begin('WallR1',  5.80, -0.00,  0.00, 0.0, 0.0, 0.0, 1,  5,  5,'Br_GA_5m');				#	ガーター橋を設置します(右側). 高さ方向の形状は他軌道として設定しています(WallR1)
						Track['WallR1'].Y.Interpolate( -0.05,    0);																#
	  375 + $WK01 ;		Track['WallR1'].Y.Interpolate(  0.30,    0);																#
	  395 + $WK01 ;		Track['WallR1'].Y.Interpolate(  0.30,    0);																#
	  400 + $WK01 ;		Track['WallR1'].Y.Interpolate( -0.05,    0);																#
						Repeater['WallR0'].Begin('U-Sazanami', -0.00, -0.30,  0.00, 0.0, 0.0, 0.0, 1,  5,  5,'WallR_5m');			#
						Repeater['WallR1'].End();																					#	ガーター橋を終了します(右側).
																																	#
	  372.5 + $WK01 ;																												#	  607.5;	に相当
						Repeater['WallC1'].Begin('WallC1',  1.90, -0.00,  0.00, 0.0, 0.0, 0.0, 1,  5,  5,'Br_GA_5m');				#	ガーター橋を設置します(中央). 高さ方向の形状は他軌道として設定しています(WallC1)
						Track['WallC1'].Y.Interpolate(  0.00,    0);																#
	  377.5 + $WK01 ;	Track['WallC1'].Y.Interpolate(  0.50,    0);																#
	  397.5 + $WK01 ;	Track['WallC1'].Y.Interpolate(  0.50,    0);																#
	  402.5 + $WK01 ;	Track['WallC1'].Y.Interpolate(  0.00,    0);																#
						Repeater['WallC1'].End();																					#	ガーター橋を終了します(中央).
																																	#
	  375 + $WK01 ;																													#	  610;	に相当
						Repeater['WallL0'].Begin('D-Sazanami', -0.40, -0.60,  0.00, 0.0, 0.0, 0.0, 1, 10, 10,'bridge_bL');			#
						Repeater['WallL1'].Begin('WallL1', -2.00, -0.00,  0.00, 0.0, 0.0, 0.0, 1,  5,  5,'Br_GA_5m');				#	ガーター橋を設置します(左側). 高さ方向の形状は他軌道として設定しています(WallL1)
						Track['WallL1'].Y.Interpolate( -0.05,    0);																#	
	  380 + $WK01 ;		Track['WallL1'].Y.Interpolate(  0.30,    0);																#	
	  400 + $WK01 ;		Track['WallL1'].Y.Interpolate(  0.30,    0);																#	
	  405 + $WK01 ;		Track['WallL1'].Y.Interpolate( -0.05,    0);																#	
						Repeater['WallL0'].Begin('D-Sazanami', -0.00, -0.30,  0.00, 0.0, 0.0, 0.0, 1,  5,  5,'WallL_5m');			#	
						Repeater['WallL1'].End();																					#	ガーター橋を終了します.


	  370 + $WK01 ;																													#	  605;	に相当
						Structure['Tokuhatsu2'].Put('U-Sazanami',  2.45, -0.00,  0.00, 0.0, 0.0, 0.0, 0,  0 );						#	特殊信号発光機 (II)

	  415 + $WK01 ;																													#	  650;	に相当
						Repeater['WallL0'].Begin('D-Sazanami',  0.00, -0.30,  0.00, 0.0, 0.0, 0.0, 1, 25, 25,'WallL_25m');			#	高架壁の連続配置を開始します.
						Repeater['WallR0'].Begin('U-Sazanami',  0.00, -0.30,  0.00, 0.0, 0.0, 0.0, 1, 25, 25,'WallR_25m');			#	高架壁の連続配置を開始します.

	  594 + $WK01 ;																													#	  829;	に相当
						Structure['re15'].Put('D-Sazanami', -2.20,  0.00,  0.00, 0.0, 0.0, 0.0, 0,  0 );							#	'15両解除位置目標'ストラクチャを設置します.



	 1080 + $WK02 ;																													#	  935;	に相当
						Structure['Tokuhatsu2']			.Put('D-Sazanami', -2.15,  0.50, -0.05, 0.0, 0.0, 0.0, 0,  0 );				#	特殊信号発光機 (II)	/	ホーム中継
						Structure['EmrLabel_FormRep']	.Put('D-Sazanami', -2.15,  2.25, -0.07, 0.0, 0.0, 0.0, 0,  0 );				#						/	ホーム中継

	  500 + $WK01 ;																													#	  785;	に相当
						Repeater['Tr_D-Sazanami'].Begin0('D-Sazanami', 3, 25, 25,'Tr_bal_25m');										#	25mサイクルの軌道に設定変更をします	(Begin0 は短縮形/軽量化のため)
						Repeater['Tr_U-Sazanami'].Begin0('U-Sazanami', 3, 25, 25,'Tr_bal_25m');										#	25mサイクルの軌道に設定変更をします	(Begin0 は短縮形/軽量化のため)
	 1125 + $WK02 ;																													#	  980;	に相当
						Repeater['Tr_D-Sazanami'].Begin0('D-Sazanami', 3,  5,  5,'Tr_bal_5m_A','Tr_bal_5m_B','Tr_bal_5m_C','Tr_bal_5m_D','Tr_bal_5m_E');	#	5mサイクルの軌道に設定変更をします	(Begin0 は短縮形/勾配のため)
						Repeater['Tr_U-Sazanami'].Begin0('U-Sazanami', 3,  5,  5,'Tr_bal_5m_A','Tr_bal_5m_B','Tr_bal_5m_C','Tr_bal_5m_D','Tr_bal_5m_E');	#	5mサイクルの軌道に設定変更をします	(Begin0 は短縮形/勾配のため)
	 1150 + $WK02 ;																													#	 1005;	に相当
						Repeater['Tr_D-Sazanami'].Begin0('D-Sazanami', 3, 25, 25,'Tr_bal_25m');										#	25mサイクルの軌道に設定変更をします	(Begin0 は短縮形/軽量化のため)
						Repeater['Tr_U-Sazanami'].Begin0('U-Sazanami', 3, 25, 25,'Tr_bal_25m');										#	25mサイクルの軌道に設定変更をします	(Begin0 は短縮形/軽量化のため)
	 1300 + $WK02 ;																													#	 1155;	に相当
						Repeater['Tr_D-Sazanami'].Begin0('D-Sazanami', 3,  5,  5,'Tr_bal_5m_A','Tr_bal_5m_B','Tr_bal_5m_C','Tr_bal_5m_D','Tr_bal_5m_E');	#	5mサイクルの軌道に設定変更をします	(Begin0 は短縮形/曲線のため)
						Repeater['Tr_U-Sazanami'].Begin0('U-Sazanami', 3,  5,  5,'Tr_bal_5m_A','Tr_bal_5m_B','Tr_bal_5m_C','Tr_bal_5m_D','Tr_bal_5m_E');	#	5mサイクルの軌道に設定変更をします	(Begin0 は短縮形/曲線のため)

	 1465 + $WK02 ;																													#	 1320;	に相当
	 1470 + $WK02 ;																													#	 1325;	に相当
						Repeater['Tr_D-Sazanami'] .Begin0('D-Sazanami', 3,  5,  5,'Tr_slab_1A_5m');									#
						Repeater['TrB_D-Sazanami'].Begin0('D-Sazanami', 1, 25, 25,'Tr_slab_2A_25m');								#
						Repeater['Tr_U-Sazanami'] .Begin0('U-Sazanami', 3,  5,  5,'Tr_slab_1A_5m');									#
						Repeater['TrB_U-Sazanami'].Begin0('U-Sazanami', 1, 25, 25,'Tr_slab_2A_25m');								#
						Repeater['WallL0'].Begin0('D-Sazanami', 1, 25, 25,'WallL2_25m');											#	高架壁の連続配置を開始します.	/	ストラクチャの変更
						Repeater['WallR0'].Begin0('U-Sazanami', 1, 25, 25,'WallR2_25m');											#	高架壁の連続配置を開始します.	/	ストラクチャの変更
						Structure['honchiba'].Put('D-Sazanami', -3.50,  2.75,  0.00, 0.0, 0.0, 0.0, 0,  0 );						#	'本千葉'ストラクチャを設置します.


	 1700 + $WK02 ;																													#	 1555;	に相当
						Repeater['PierL'].Begin('D-Sazanami',  0.00,  0.00,  0.00, 0.0, 0.0, 0.0, 0, 25, 25,'pierh');				#	橋脚の連続配置を開始します.
	 2700 + $WK02 ;																													#	 2555;	に相当
						Repeater['PierL'].End();																					#	橋脚の連続配置を終了します.





///////////////			///////////////			///////////////			///////////////			///////////////			////////////#	###		↓	線路周りの設定	###
																																	#	Repeater・Structure構文を使って,線路周りのストラクチャを設置します.
																																	#	(標識の設置)
	 1100 + $WK02 ;																													#	  955;	に相当
						Structure['Feeder_Section'].Put('D-Sazanami', -3.50,  3.25,  0.00, 0.0, 0.0, 0.0, 0,  0 );					#	セクション標を設置します.
	 1150 + $WK02 ;																													#	 1005;	に相当
						Structure['Feeder_Section'].Put('D-Sazanami', -3.50,  3.25,  0.00, 0.0, 0.0, 0.0, 0,  0 );					#	セクション標を設置します.
	 1200 + $WK02 ;																													#	 1055;	に相当
						Structure['Feeder_Section'].Put('D-Sazanami', -3.50,  3.25,  0.00, 0.0, 0.0, 0.0, 0,  0 );					#	セクション標を設置します.
	 1240 + $WK02 ;																													#	 1095;	に相当
						Structure['Feeder_Section'].Put('D-Sazanami', -3.50,  3.25,  0.00, 0.0, 0.0, 0.0, 0,  0 );					#	セクション標を設置します.
	 1290 + $WK02 ;																													#	 1145;	に相当
						Structure['P-off']		.Put('D-Sazanami'	, -2.80,  4.25, -0.25, 0.0, 0.0, 0.0, 0,  0 );					#	惰行標
						Structure['sign_pole_50'].Put('D-Sazanami'	, -2.90,  4.25, -0.20, 0.0, 0.0, -90, 0,  0 );					#	吊り金具
						Structure['Feeder_Section'].Put('D-Sazanami', -3.50,  3.25,  0.00, 0.0, 0.0, 0.0, 0,  0 );					#	セクション標を設置します.
	 1340 + $WK02 ;																													#	 1195;	に相当
						Structure['Feeder_Section'].Put('D-Sazanami', -3.50,  3.25,  0.00, 0.0, 0.0, 0.0, 0,  0 );					#	セクション標を設置します.
	 1380 + $WK02 ;																													#	 1235;	に相当
						Structure['Feeder_Section'].Put('D-Sazanami', -3.50,  3.25,  0.00, 0.0, 0.0, 0.0, 0,  0 );					#	セクション標を設置します.
	 1425 + $WK02 ;																													#	 1280;	に相当
						Structure['Feeder_Section'].Put('D-Sazanami', -3.50,  3.25,  0.00, 0.0, 0.0, 0.0, 0,  0 );					#	セクション標を設置します.
	 1470 + $WK02 ;																													#	 1280;	に相当
						Structure['Feeder_Target'].Put ('D-Sazanami', -3.50,  3.50,  0.00, 0.0, 0.0, 0.0, 0,  0 );					#	セクション標(セクション外停止位置)を設置します.

///////////////			///////////////			///////////////			
																																	#	(キロポストの設置)
	  500 + $WK01 ;																													#	  735;	に相当
						Structure['KP105'].Put('D-Sazanami', -2.20,  0.35,  0.00,-5.0,  10,12.5, 0,  0 );							#	キロポストを設置します.これは,"2号(500m)".
	 1400 + $WK02 ;																													#	 1255;	に相当
						Structure['KP104'].Put('D-Sazanami', -2.40, -0.25,  0.00, 0.0, 5.0, 0.0, 0,  0 );							#	キロポストを設置します.これは,"3号(400m)".

///////////////			///////////////			///////////////			
																																	#	(架線柱と架線の設置)
																																	#	この例では架線柱・架線ともに Structure.Put構文で設置しています.
																																	#	引数のtilt(傾斜オプション)・span(弦の長さ)をうまく使い分けられると便利です.
	  270 + $WK01 ;																													#	  505;	に相当
						Structure['Pole_VTA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G14)
						Structure['kasen35'].Put0('D-Sazanami', 1, 35 );															#	架線を設置します.
						Structure['kasen35'].Put0('U-Sazanami', 1, 35 );															#	架線を設置します.
	  305 + $WK01 ;																													#	  540;	に相当
						Structure['Pole_VTA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G15)
						Structure['kasen35'].Put0('D-Sazanami', 1, 35 );															#	架線を設置します.
						Structure['kasen35'].Put0('U-Sazanami', 1, 35 );															#	架線を設置します.
	  340 + $WK01 ;																													#	  575;	に相当
						Structure['Pole_VTA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G16)
						Structure['kasen35'].Put0('D-Sazanami', 1, 35 );															#	架線を設置します.
						Structure['kasen35'].Put0('U-Sazanami', 1, 35 );															#	架線を設置します.

	  375 + $WK01 ;																													#	  610;	に相当
						Structure['Pole_VTA_2hR'].Put('D-Sazanami', -0.25,  0.00,  0.00, 0.0,40.0, 0.0, 0,  0 );					#	架線柱を設置します.	(G17)
						Structure['kasen30'].Put0('D-Sazanami', 1, 30 );															#	架線を設置します.
						Structure['kasen30'].Put0('U-Sazanami', 1, 30 );															#	架線を設置します.

	  405 + $WK01 ;																													#	  640;	に相当
						Structure['Pole_VTA_2hR'].Put('D-Sazanami', -0.50,  0.00,  0.00, 0.0,35.0, 0.0, 0,  0 );					#	架線柱を設置します.	(G18)
						Structure['kasen40'].Put0('D-Sazanami', 1, 40 );															#	架線を設置します.
						Structure['kasen40'].Put0('U-Sazanami', 1, 40 );															#	架線を設置します.

	  445 + $WK01 ;																													#	  680;	に相当
						Structure['Pole_BTA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G19)
						Structure['kasen50'].Put0('D-Sazanami', 1, 50 );															#	架線を設置します.
						Structure['kasen50'].Put0('U-Sazanami', 1, 50 );															#	架線を設置します.

	  495 + $WK01 ;																													#	  730;	に相当
						Structure['Pole_VTA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G01)
						Structure['kasen35'].Put0('D-Sazanami', 1, 35 );															#	架線を設置します.
						Structure['kasen35'].Put0('U-Sazanami', 1, 35 );															#	架線を設置します.

	  530 + $WK01 ;																													#	  765;	に相当
						Structure['Pole_VTA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G02)
						Structure['kasen50'].Put0('D-Sazanami', 1, 50 );															#	架線を設置します.
						Structure['kasen50'].Put0('U-Sazanami', 1, 50 );															#	架線を設置します.

	  580 + $WK01 ;																													#	  815;	に相当
						Structure['Pole_VTA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G03)
						Structure['kasen50'].Put0('D-Sazanami', 1, 50 );															#	架線を設置します.
						Structure['kasen50'].Put0('U-Sazanami', 1, 50 );															#	架線を設置します.

	 1010 + $WK02 ;																													#	  865;	に相当
						Structure['Pole_VTA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G04)
						Structure['kasen50'].Put0('D-Sazanami', 1, 50 );															#	架線を設置します.
						Structure['kasen50'].Put0('U-Sazanami', 1, 50 );															#	架線を設置します.

	 1060 + $WK02 ;																													#	  915;	に相当
						Structure['Pole_VTA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G05)
						Structure['kasen40'].Put0('D-Sazanami', 1, 40 );															#	架線を設置します.
						Structure['kasen40'].Put0('U-Sazanami', 1, 40 );															#	架線を設置します.

	 1100 + $WK02 ;																													#	  955;	に相当
						Structure['Pole_VTA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G06)
						Structure['kasen50'].Put0('D-Sazanami', 1, 50 );															#	架線を設置します.
						Structure['kasen50'].Put0('U-Sazanami', 1, 50 );															#	架線を設置します.

	 1150 + $WK02 ;																													#	 1005;	に相当
						Structure['Pole_VTA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G07)
						Structure['kasen50'].Put0('D-Sazanami', 1, 50 );															#	架線を設置します.
						Structure['kasen50'].Put0('U-Sazanami', 1, 50 );															#	架線を設置します.

	 1200 + $WK02 ;																													#	 1055;	に相当
						Structure['Pole_VTA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G08)
						Structure['kasen40'].Put0('D-Sazanami', 1, 40 );															#	架線を設置します.
						Structure['kasen40'].Put0('U-Sazanami', 1, 40 );															#	架線を設置します.

	 1240 + $WK02 ;																													#	 1095;	に相当
						Structure['Pole_VTA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G09)
						Structure['kasen50'].Put0('D-Sazanami', 1, 50 );															#	架線を設置します.
						Structure['kasen50'].Put0('U-Sazanami', 1, 50 );															#	架線を設置します.

	 1290 + $WK02 ;																													#	 1145;	に相当
						Structure['Pole_VTA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G10)
						Structure['kasen50'].Put0('D-Sazanami', 1, 50 );															#	架線を設置します.
						Structure['kasen50'].Put0('U-Sazanami', 1, 50 );															#	架線を設置します.

	 1340 + $WK02 ;																													#	 1195;	に相当
						Structure['Pole_VTA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G11)
						Structure['kasen40'].Put0('D-Sazanami', 1, 40 );															#	架線を設置します.
						Structure['kasen40'].Put0('U-Sazanami', 1, 40 );															#	架線を設置します.

	 1380 + $WK02 ;																													#	 1235;	に相当
						Structure['Pole_VCA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G12)
						Structure['kasen45'].Put0('D-Sazanami', 1, 45 );															#	架線を設置します.
						Structure['kasen45'].Put0('U-Sazanami', 1, 45 );															#	架線を設置します.

	 1425 + $WK02 ;																													#	 1280;	に相当
						Structure['Pole_VCA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G13)
						Structure['kasen45'].Put0('D-Sazanami', 1, 45 );															#	架線を設置します.
						Structure['kasen45'].Put0('U-Sazanami', 1, 45 );															#	架線を設置します.





	#	本千葉駅の配線部分は,		Map02_HonChiba.txt		( 外房線1k320m～3k000m あたり )

#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	# # #	↓	本 千 葉 - 蘇  我	[ 勾配設定 ]		# #	#
																																	#	[ 勾配設定 ]
																																	#	勾配の緩和区間をキロ程通りに入力すると, 勾配標のキロ程と相違があるため少しイメージが掴みにくく感じます.
																																	#	そのため, 当例では演算子を用いて記述しています.VCLの1/2を±することでVCLと等しくなるようにしています(切り捨て・切り上げにより2の倍数の整数に変換).
																																	#	VCLは, 例えば VCR = 4000 であれば, 勾配差×4 で近似値が求まります. (勾配差 × VCR/1000)
	 2425 + $WK02 ;		#	Structure['Gp_DL'].Put('D-Sazanami', -2.75, -0.25,  0.00,  0.0,  0.0,  1.5, 0,  0 );					#	 2280;	に相当
	 2425 + $WK02 - 15 ;	Gradient.Interpolate();				Track['Height'].Y.Interpolate( -7.00, 3000);						#	↓  9.7
	 2425 + $WK02 + 15 ;	Gradient.Interpolate( -9.7);		Track['Height'].Y.Interpolate( -6.83,    0);						#	VCL =  29.1	(R=3000)

	 3065 + $WK02 ;			Structure['Gp_LU'].Put('D-Sazanami', -2.75, -0.50,  0.00,  0.0, -5.0, -2.5, 0,  0 );					#	 2920;	に相当
	 3065 + $WK02 - 20 ;	Gradient.Interpolate();				Track['Height'].Y.Interpolate( -0.62,-4000);						#	L
	 3065 + $WK02 + 20 ;	Gradient.Interpolate(  0.0);		Track['Height'].Y.Interpolate( -0.45,    0);						#	VCL =  38.8	(R=4000)


	 3440 + $WK02 ;			Structure['Gp_UL_B'].Put('D-Sazanami', -3.75, -0.25,  0.00,  0.0,  0.0,  0.0, 0,  0 );					#	 3295;	に相当
	 3440 + $WK02 -  2 ;	Gradient.Interpolate();			#	Track['Height'].Y.Interpolate( -0.45,-4000);						#	↑  1.0
	 3440 + $WK02 +  2 ;	Gradient.Interpolate(  1.0);	#	Track['Height'].Y.Interpolate( -0.45,    0);						#	VCL =   4.0	(R=4000)

	 3550 + $WK02 ;			Structure['Gp_LD_B'].Put('D-Sazanami', -4.00, -0.25,  0.00,  0.0,  0.0,  0.0, 0,  0 );					#	 3405;	に相当
	 3550 + $WK02 -  2 ;	Gradient.Interpolate();			#	Track['Height'].Y.Interpolate( -0.92, 4000);						#	L
	 3550 + $WK02 +  2 ;	Gradient.Interpolate(  0.0);	#	Track['Height'].Y.Interpolate( -0.95,    0);						#	VCL =   4.0	(R=4000)

#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	# # #	↑	本 千 葉 - 蘇  我	[ 勾配設定 ]		# #	#









