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番線)

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




#	!!!	・平面曲線をつくる構文.例としてCurve.Interpolateで記述します.								
#	!!!		Curve.Interpolate(radius, cant)																	
#	!!!						radius	： 曲線半径 [m] (正: 右曲線, 負: 左曲線, 0: 直線)						
#	!!!						cant	： カント [m]	(※単位が[m]であることに注意！たとえば、 60/1000 [m]等と記述することも可能です)
#	!!!	この構文では,緩和曲線始点(BTC)・円曲線始点(BCC)・円曲線終点(ECC)・緩和曲線終点(ETC)を同じ構文で設定できます.
#
#	!!!	・ストラクチャーを設置する構文
#	!!!		Structure[structureKey].Put(trackKey, x, y, z, rx, ry, rz, tilt, span)
#	!!!								structureKey	: ストラクチャー名 (ストラクチャーリストファイルで定義した文字列)
#	!!!								trackKey		: 配置先の軌道名 (0: 自軌道)
#	!!!								x	: 軌道からの x 座標 [m]
#	!!!								y	: 軌道からの y 座標 [m]
#	!!!								z	: 現在の距離程からの z 座標 [m]
#	!!!								rx	: 軌道に対する x 軸回りの角 [deg]
#	!!!								ry	: 軌道に対する y 軸回りの角 [deg]
#	!!!								rz	: 軌道に対する z 軸回りの角 [deg]
#	!!!								tilt: 傾斜オプション (0: 常に水平, 1: 勾配に連動, 2: カントに連動, 3: 勾配とカントに連動)
#	!!!								span: 曲線における弦の長さ [m]
#	!!!	structureKeyはファイル名ではなく,ストラクチャーリストファイルで定義した文字列です.
#	!!!	tilt(傾斜オプション)・span(弦の長さ)を上手に使い分けましょう.自軌道の曲線は弦ではなく,弧にあたります.
#	!!!		ex,	(tilt)	線路  → 3	(勾配・カントに連動するため)
#	!!!		ex,	(tilt)	ホーム → 1	(勾配のみに連動するため)
#	!!!		ex,	(tilt)	標識  → 0	(原則として直立/傾いて設置されていることは多々あるので,傾けたい場合はrx,ry,rzを使います)
#	!!!		ex,	(tilt)	線路上の標識 → 3	(勾配・カントに連動するため/マクラギに設置されたイプ)
#	!!!		ex,	(tilt)	地上子 → 3	(勾配・カントに連動するため)
#	!!!		ex,	(tilt)	建物   → 0
#
#	!!!	・連続ストラクチャーを設置する構文
#	!!!		Repeater[repeaterKey].Begin(trackKey, x, y, z, rx, ry, rz, tilt, span, interval, structureKey1, structureKey2, ... , structureKeyN)
#	!!!								repeaterKey	: 連続ストラクチャー名 (任意の文字列)
#	!!!								trackKey	: 配置先の軌道名 (0: 自軌道)
#	!!!								x	: 軌道からの x 座標 [m]
#	!!!								y	: 軌道からの y 座標 [m]
#	!!!								z	: 軌道からの z 座標 [m]
#	!!!								rx	: 軌道に対する x 軸回りの角 [deg]
#	!!!								ry	: 軌道に対する y 軸回りの角 [deg]
#	!!!								rz	: 軌道に対する z 軸回りの角 [deg]
#	!!!								tilt: 傾斜オプション (0: 常に水平, 1: 勾配に連動, 2: カントに連動, 3: 勾配とカントに連動)
#	!!!								span: 曲線における弦の長さ [m]
#	!!!								interval: 配置間隔 [m]
#	!!!								structureKey1, ... , structureKeyN	: ストラクチャー名 (ストラクチャーリストファイルで定義した文字列)
#	!!!	例えば,interval = 5 ,structureKey1 = A ,structureKey2 = B ,structureKey3 = C としたとき,
#	!!!	5mおきに A,B,C,A,B,C,A,・・・・と,End構文を記述するまで繰り返し設置されます.structure毎にintervalを変更することはできません.
#
#	!!!	Structure.Put と Repeater の使い分け
#	!!!	同じものを連続して配置する場合には, Repeater 構文を使用した方が効率的でしょう.
#	!!!		ex,	軌道・柵や高架壁,地面 など
#	!!!	一部で不等間隔になるような場合,Repeater構文のspan・interval・structureKeyを再指定したり,途中でRepeaterを止めてStructure.Putを併用することも一つの方法でしょう.
#	!!!		ex,	架線柱や架線 など



///////////////			///////////////			///////////////			///////////////			///////////////			////////////#	###		↓	上下線 ( D-Sazanami/U-Sazanami )	の設定	###
																																	#	この区間は上下線で非対称のため, 上下線のカント・線路周りの設定は別々にまとめて設定しています.
																																	#	[ Curve構文 と 線路周りのRepeater・Structure構文 ]
	 3875 + $SZ01 ;																													#	 7900;	に相当
						Curve.Interpolate();																						#	緩和曲線を開始します/BTC (引数は短縮記述/直前の設定が直線(0)のため,0が代入されています)
						Track['D-Sazanami'].Cant.Interpolate();																		#	他軌道のカント逓減を開始します/BTC		(内房線・下り)
						Structure['CPgd'].Put('D-Sazanami',-2.45, -0.25,  0.00, 0.0, 0.0, 0.0, 0,  0 );								#	逓減標を設置します.
						SpeedLimit.Begin( 95);																						#	速度制限を設定します.制限標識は Structure.Put構文により設置します.
						Structure['Lim095_Anum']  .Put('D-Sazanami', -2.25,  1.75,  0.50, 0.0, 0.0, 0.0, 0,  0 );					#	速度制限標識を設置します.
						Structure['Lnum_A_6']	  .Put('D-Sazanami', -2.40,  1.75,  0.50, 0.0, 0.0, 0.0, 0,  0 );					#						これは, 距離部分の '6'.
						Structure['Lnum_A_3']	  .Put('D-Sazanami', -2.25,  1.75,  0.50, 0.0, 0.0, 0.0, 0,  0 );					#						これは, 距離部分の '3'.
						Structure['Lnum_A_2']	  .Put('D-Sazanami', -2.10,  1.75,  0.50, 0.0, 0.0, 0.0, 0,  0 );					#						これは, 距離部分の '2'.
						Structure['sign_pole_200'].Put('D-Sazanami', -2.25,  1.75,  0.50, 0.0, 0.0, 0.0, 0,  0 );					#						これは,標識の脚.
	 3905 + $SZ01 ;																													#	 7930;	に相当
						Curve.Interpolate(-1000, -40/1000);																			#	円曲線を開始します/BCC
						Track['D-Sazanami'].Cant.Interpolate( -40/1000);															#	他軌道のカントを設定します/BCC			(内房線・下り)
						Structure['CP'].Put('D-Sazanami',-2.45, -0.45,  0.00, 0.0, 0.0, 0.0, 0,  0 );								#	曲線標を設置します.
	 3930 + $SZ01 ;																													#	 7955;	に相当
						Curve.Interpolate();																						#	緩和曲線を開始します(円曲線終了) (引数は短縮記述/直前の同構文(7930;)より,(-1000,-40/1000)が代入されています)
						Track['D-Sazanami'].Cant.Interpolate();																		#	
						Structure['CP'].Put('D-Sazanami',-2.45, -0.40,  0.00, 0.0, 180,-1.5, 0,  0 );								#	曲線標を設置します.	(Y軸：180度により前後反転させています)
	 3960 + $SZ01 ;																													#	 7985;	に相当
						Curve.Interpolate( 0,  0 );																					#	緩和曲線を終了します
						Track['D-Sazanami'].Cant.Interpolate( 0);																	#
						Structure['CPgd'].Put('D-Sazanami',-2.00, -0.30,  0.00, 0.0, 2.5,-2.5, 0,  0 );								#	逓減標を設置します.
																																	#
	 4000 + $SZ01 ;																													#	 8025;	に相当
						Curve.Interpolate();																						#	緩和曲線を開始します/BTC (引数は短縮記述)
						Track['D-Sazanami'].Cant.Interpolate();																		#	他軌道のカント逓減を開始します/BTC		(内房線・下り)
						Structure['CPgd'].Put('D-Sazanami',-2.75, -0.25,  0.00,  15, 5.0,  15, 0,  0 );								#	逓減標を設置します.
	 4030 + $SZ01 ;																													#	 8055;	に相当
						Curve.Interpolate( 1000,  40/1000);																			#	円曲線を開始します
						Track['D-Sazanami'].Cant.Interpolate(  40/1000);															#
						Structure['CP'].Put('D-Sazanami',-2.25, -0.25,  0.00, 0.0, 0.0, 2.5, 0,  0 );								#	曲線標を設置します.
	 4055 + $SZ01 ;																													#	 8080;	に相当
						Curve.Interpolate();																						#	緩和曲線を開始します(円曲線終了) (引数は短縮記述)
						Track['D-Sazanami'].Cant.Interpolate();																		#	
						Structure['CP'].Put('D-Sazanami',-2.25, -0.35,  0.00, 0.0, 180, 1.5, 0,  0 );								#	曲線標を設置します.	(Y軸：180度により前後反転させています)
	 4085 + $SZ01 ;																													#	 8110;	に相当
						Curve.Interpolate(    0,   0/1000);																			#	緩和曲線を終了します
						Track['D-Sazanami']	.Cant.Interpolate(   0/1000);															#
						Structure['CPgd'].Put('D-Sazanami',-2.75, -0.40,  0.00, 0.0, 0.0, 0.0, 0,  0 );								#	逓減標を設置します.
																																	#
///////////////																				↑　(北側)									#
///////////////			///////////////			///////////////			///////////////												#
///////////////																				↓　(南側)									#
																																	#
	 4125 + $SZ01 ;																													#	 8150;	に相当
						Curve.Interpolate();																						#	緩和曲線を開始します (引数は短縮記述)
						Track['D-Sazanami'].Cant.Interpolate();																		#	他軌道のカント逓減を開始します/BTC		(内房線・下り)
						Structure['CPgd'].Put('D-Sazanami', -2.40, -0.30,  0.00, 0.0, 0.0, 0.0, 0,  0 );							#	逓減標を設置します.
	 4200 + $SZ01 ;																													#	 8225;	に相当
						Curve.Interpolate(  720,  70/1000);																			#	円曲線を開始します/BCC
						Track['D-Sazanami'].Cant.Interpolate(  70/1000);															#	他軌道のカントを設定します/BCC			(内房線・下り)
						Structure['CP'].Put('D-Sazanami', -2.55, -0.20,  0.00, 0.0, 0.0,  20, 0,  0 );								#	曲線標を設置します.
	 4435 + $SZ01 ;																													#	 8460;	に相当
						Curve.Interpolate();																						#	緩和曲線を開始します(円曲線終了)/ECC (引数は短縮記述)
						Track['D-Sazanami'].Cant.Interpolate();																		#	他軌道のカント逓減を開始します/ECC		(内房線・下り)
						Structure['CP'].Put('D-Sazanami', -3.25, -0.45,  0.00, 0.0, 180,-3.5, 0,  0 );								#	曲線標を設置します.	(Y軸：180度により前後反転させています)
	 4510 + $SZ01 ;																													#	 8535;	に相当
						Curve.Interpolate(    0,   0/1000);																			#	緩和曲線を終了します/ETC
						Track['D-Sazanami'].Cant.Interpolate(   0/1000);															#	他軌道のカント逓減を終了します/ETC		(内房線・下り)
						Structure['CPgd'].Put('D-Sazanami', -2.75, -0.25,  4.00, 0.0,-2.5,-2.5, 0,  0 );							#	逓減標を設置します.
	 4518 + $SZ01 ;																													#	 8543;	に相当
						SpeedLimit.End();																							#	速度制限を解除します.制限解除標識は"Structure.Put"構文により設置します.
						Structure['LimEnd_A']	  .Put('D-Sazanami', -2.50,  2.00,  0.00, 0.0, 0.0, 0.0, 0,  0 );					#	速度制限解除標識を設置します.	これは,解除標.
						Structure['sign_pole_300'].Put('D-Sazanami', -2.50,  2.00,  0.00, 0.0, 0.0, 0.0, 0,  0 );					#							これは,標識の脚.
///////////////			///////////////			///////////////			///////////////			///////////////			////////////#	###		↑	下り線 ( D-Sazanami )	の設定	###

///////////////			///////////////			///////////////			///////////////			///////////////			////////////#	###		↓	上り線 ( U-Sazanami )	の設定	###
	 4140 + $SZ01 ;																													#	 8165;	に相当
						Track['U-Sazanami'].Cant.Interpolate();																		#	他軌道のカント逓減を開始します/BTC		(内房線・上り)
						Structure['CPgd'].Put('U-Sazanami',  2.25, -0.35,  0.00, 0.0, 0.0, 0.0, 0,  0 );							#	逓減標を設置します.
	 4215 + $SZ01 ;																													#	 8240;	に相当
						Track['U-Sazanami'].Cant.Interpolate(  70/1000);															#	他軌道のカントを設定します/BCC			(内房線・上り)
						Structure['CP'].Put('U-Sazanami',  2.50, -0.25,  0.00, 0.0, 0.0, -10, 0,  0 );								#	曲線標を設置します.
	 4450 + $SZ01 ;																													#	 8475;	に相当
						Track['U-Sazanami'].Cant.Interpolate();																		#	他軌道のカント逓減を開始します/ECC		(内房線・上り)
						Structure['CP'].Put('U-Sazanami',  2.80, -0.50,  0.00, 0.0, 180, 0.0, 0,  0 );								#	曲線標を設置します.	(Y軸：180度により前後反転させています)
	 4525 + $SZ01 ;																													#	 8550;	に相当
						Track['U-Sazanami'].Cant.Interpolate(   0/1000);															#	他軌道のカント逓減を終了します/ETC		(内房線・上り)
						Structure['CPgd'].Put('U-Sazanami',  2.75, -0.40,  0.00, 0.0, 0.0, 0.0, 0,  0 );							#	逓減標を設置します.
///////////////			///////////////			///////////////			///////////////			///////////////			////////////#	###		↑	上り線 ( U-Sazanami )	の設定	###





///////////////			///////////////			///////////////			///////////////			///////////////			////////////#	###		↓	上り線 ( U-Sazanami )	の設定	###
																																	#
#	!!!	他軌道の X 方向(横)の位置を設定する構文
#	!!!		Track[trackKey].X.Interpolate(x, radius)
#	!!!				trackKey: 軌道名 (任意の文字列)
#	!!!				x		: 自軌道からの x 座標 [m]
#	!!!				radius	: 現在の距離程以降の自軌道との平面曲線相対半径 [m] (0: 直線)
#	!!!	2 つの Track[].X.Interpolate との間の x 座標は補間されます.引数が省略された場合,1 つ手前の Track[].X.Interpolate の値が使用されます.
#	!!!	
#	!!!	他軌道には任意の文字列(好きな名前)を設定することができます.効率的に作業できるよう,覚えやすい名前を与えるとよいでしょう.
#	!!!	説明こそ”軌道”となっていますが,道路や地形など,ストラクチャを並べたいものや他列車(ストラクチャ)を走らせたい場所など,工夫によっていろいろな使い方ができます.
#	!!!	X 部分を Y に置き換えると Y 方向 (縦)の位置を設定する構文になります(Y.Interpolate).配置が複雑だったり,片方の引数が変化しない場合,X,Y別々に設定することにより効率的な作業が可能です(同時に記述したい場合はTrack.Position構文).

																																	#	前半セクション(7900;～8105;)では,他線が直線に対し,自線が曲線で広がるパターンの配線をします.
																																	#	この場合,他線が直線でも自線の曲線変化点に座標設定が必要です.
																																	#	緩和曲線区間は,実際には曲率(とカント)が変化し続けますが,この例では5m区切りで丸めています.
	 3875 + $SZ01 ;																													#	 7900;	に相当
						Track['U-Sazanami'].X.Interpolate(  3.80,    0);															#			  (自線側BTC)
	 3880 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  3.80, 4500);															#	
	 3885 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  3.80, 2500);															#	
	 3890 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  3.81, 1800);															#	
	 3895 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  3.84, 1400);															#	
	 3900 + $SZ01 ;																													#	 7925;	に相当
						Track['U-Sazanami'].X.Interpolate(  3.88, 1100);															#			  (自線側BCC)
	 3905 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  3.94, 1000);															#	
#	 3910 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  4.02, 1000);															#		相対半径の差が小さい区間は、座標を置く必要はありません.置かない方が負荷は減ります.
#	 3915 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  4.13, 1000);															#		自線との距離が遠い場合や交差角が大きい場合などでは,こまめに座標を置いた方が作りやすいこともあります.(カクカクが分散して目立たなくなるイメージ)
#	 3920 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  4.26, 1000);															#	
#	 3925 + $SZ01 ;																													#	 7950;	に相当
#						Track['U-Sazanami'].X.Interpolate(  4.42, 1000);															#	
	 3930 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  4.60, 1100);															#			  (自線側ECC)
	 3935 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  4.81, 1400);															#	
	 3940 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  5.04, 1800);															#	
	 3945 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  5.29, 2500);															#	
	 3950 + $SZ01 ;																													#	 7975;	に相当
						Track['U-Sazanami'].X.Interpolate(  5.55, 4500);															#	
	 3955 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  5.81,    0);															#	
	 3960 + $SZ01 ;																													#	 7985;	に相当
						Track['U-Sazanami'].X.Interpolate(  6.08,    0);															#			  (自線側ETC)	/	ここから次の曲線開始点(8020;)までは,自線と他線は平行ではありませんが,互いに直線のため座標設定は必要ありません.
																																	#
																																	#	(キロ程間隔が不均等のため,空行を入れて示しています.データ内容とは無関係です.)
																																	#
	 4000 + $SZ01 ;																													#	 8025;	に相当
						Track['U-Sazanami'].X.Interpolate(  8.22,    0);															#			  (自線側BTC)
	 4005 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  8.49,-4500);															#	
	 4010 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  8.75,-2500);															#	
	 4015 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  9.00,-1800);															#	
	 4020 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  9.25,-1400);															#	
	 4025 + $SZ01 ;																													#	 8050;	に相当
						Track['U-Sazanami'].X.Interpolate(  9.47,-1100);															#	
	 4030 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  9.67,-1000);															#			  (自線側BCC)
#	 4035 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  9.85,-1000);															#	
#	 4040 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate( 10.01,-1000);															#	
#	 4045 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate( 10.14,-1000);															#	
#	 4050 + $SZ01 ;																													#	 8075;	に相当
#						Track['U-Sazanami'].X.Interpolate( 10.25,-1000);															#	
	 4055 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate( 10.33,-1100);															#			  (自線側ECC)
	 4060 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate( 10.38,-1400);															#	
	 4065 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate( 10.42,-1800);															#	
	 4070 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate( 10.44,-2500);															#	
	 4075 + $SZ01 ;																													#	 8100;	に相当
						Track['U-Sazanami'].X.Interpolate( 10.45,-4500);															#		
	 4080 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate( 10.45,    0);															#	
	 4085 + $SZ01 ;																													#	 8110;	に相当
						Track['U-Sazanami'].X.Interpolate( 10.45,    0);															#			  (自線側ETC)
																																	#	ここで自線・他線が平行に戻りました.
																																	#
///////////////																				↑　(北側)									#
///////////////			///////////////			///////////////			///////////////												#
///////////////																				↓　(南側)									#
																																	#
																																	#	後半セクション(8150;～8550;)では,広がった複線間隔を,上下線同じ曲線半径,曲線の位置の違いによって通常の複線間隔・3.8mに戻します.
																																	#	同じ半径の曲線が並ぶ区間では,実質的に相対半径は0に近いため,Interpolate構文に任せ,大幅に省略してしまうことも可能です.
	 4125 + $SZ01 ;																													#	 8150;	に相当
						Track['U-Sazanami'].X.Interpolate( 10.45,    0);															#			  (自線側BTC)
#	 4130 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate( 10.45,    0);															#	
	 4135 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate( 10.45,-4500);															#	
	 4140 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate( 10.44,-3600);															#		BTC
#	 4145 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate( 10.43,-3600);															#	
#	 4150 + $SZ01 ;																													#	 8175;	に相当
#						Track['U-Sazanami'].X.Interpolate( 10.40,-3600);															#	
#	 4155 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate( 10.38,-3600);															#	
#	 4160 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate( 10.34,-3600);															#	
#	 4165 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate( 10.30,-3600);															#	
#	 4170 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate( 10.25,-3600);															#	
#	 4175 + $SZ01 ;																													#	 8200;	に相当
#						Track['U-Sazanami'].X.Interpolate( 10.19,-3600);															#		
#	 4180 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate( 10.13,-3600);															#	
#	 4185 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate( 10.06,-3600);															#	
#	 4190 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  9.98,-3600);															#	
#	 4195 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  9.90,-3800);															#	
	 4200 + $SZ01 ;																													#	 8225;	に相当
						Track['U-Sazanami'].X.Interpolate(  9.80,-4500);															#			  (自線側BCC)
	 4205 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  9.71,    0);															#	
#	 4210 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  9.61,    0);															#	
#	 4215 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  9.50,    0);															#		BCC
																																	#
																																	#	(キロ程間隔が不均等のため,空行を入れて示しています.データ内容とは無関係です.)
																																	#
	 4435 + $SZ01 ;																													#	 8460;	に相当
						Track['U-Sazanami'].X.Interpolate(  4.95,    0);															#			  (自線側ECC)
	 4440 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  4.83, 4000);															#	
	 4445 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  4.71, 2600);															#	
	 4450 + $SZ01 ;																													#	 8475;	に相当
						Track['U-Sazanami'].X.Interpolate(  4.59, 1900);															#		ECC
#	 4455 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  4.47, 1800);															#	
#	 4460 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  4.37, 1800);															#	
#	 4465 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  4.28, 1900);															#	
#	 4470 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  4.20, 1900);															#	
#	 4475 + $SZ01 ;																													#	 8500;	に相当
#						Track['U-Sazanami'].X.Interpolate(  4.12, 2000);															#		
#	 4480 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  4.05, 2000);															#	
#	 4485 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  3.99, 2000);															#	
	 4490 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  3.94, 2200);															#	
#	 4495 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  3.90, 2200);															#	
#	 4500 + $SZ01 ;																													#	 8525;	に相当
#						Track['U-Sazanami'].X.Interpolate(  3.86, 2400);															#	
#	 4505 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  3.83, 2400);															#	
	 4510 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  3.82, 3000);															#			  (自線側ETC)
	 4515 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  3.81, 4500);															#	
	 4520 + $SZ01 ;		Track['U-Sazanami'].X.Interpolate(  3.80,    0);															#	
	 4525 + $SZ01 ;																													#	 8550;	に相当
						Track['U-Sazanami'].X.Interpolate(  3.80,    0);															#		ETC
																																	#	複線間隔が3.8mに戻りました.
///////////////			///////////////			///////////////			///////////////			///////////////			////////////#	###		↑	上り線 ( U-Sazanami )	の設定	###


///////////////			///////////////			///////////////			///////////////			///////////////						#	###		↓	軌道ストラクチャのリピーター調整抜き出し	###
	 3875 + $SZ01 ;																													#	 7900;	に相当
						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サイクルの軌道に設定変更をします	(手前の線路ストラクチャが25mの場合、曲線に備えて/Begin0 は短縮形)
	 4600 + $SZ01 ;																													#	 8625;	に相当
						Repeater['Tr_D-Sazanami'].Begin0('D-Sazanami', 3, 25, 25,'Tr_Bal_25m');										#	25mサイクルの軌道に設定変更をします	(軽量化のため/Begin0 は短縮形)
///////////////			///////////////
																																	#	[ 他軌道・線路周りのRepeater・Structure構文 ]
																																	#	Repeater・Structure構文の使い方について,自軌道・他軌道の違いはありません.
																																	#	うまくいかないときは,trackKeyの指定先が適切か確認してみましょう.
	 3875 + $SZ01 ;																													#	 7900;	に相当
						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 は短縮形)
	 3900 + $SZ01 ;																													#	 7925;	に相当
						Repeater['Tr_U-Sazanami'].Begin0('U-Sazanami', 3, 25, 25,'Tr_Bal_25m');										#	25mサイクルの軌道に設定変更をします(軽量化のため/Begin0 は短縮形)
///////////////																														#
#	 4125 + $SZ01 ;																													#	 8150;	に相当
#						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 は短縮形)
	 4600 + $SZ01 ;																													#	 8625;	に相当
						Repeater['Tr_U-Sazanami'].Begin0('U-Sazanami', 3, 25, 25,'Tr_Bal_25m');										#	25mサイクルの軌道に設定変更をします(軽量化のため/Begin0 は短縮形)
///////////////			///////////////			///////////////			///////////////			///////////////						#	###		↑	軌道ストラクチャのリピーター調整抜き出し	###




	 3730 + $SZ01 ;																													#	 7755;	に相当
						Structure['CrLb_U07-Oihama'].Put('D-Sazanami', -3.50,  2.25, -0.20, 0.0,-2.5,-0.5, 0,  0 );					#	踏切名 ：	生浜	(内07)
						Structure['CrLb_U07']		.Put('D-Sazanami', -3.50,  1.29, -0.20, 0.0,-2.5,-0.5, 0,  0 );					#	踏切名 ：	内7
	 3785 + $SZ01 ;																													#	 7810;	に相当
						Structure['bridge_25gL'].Put('D-Sazanami', -0.50, -0.35,  0.00, 0.0, 0.0, 0.0, 1, 25 );						#	ガーター橋(緑)を設置します.
	 3795 + $SZ01 ;																													#	 7820;	に相当
						Structure['bridge_25gL'].Put('D-Sazanami', -0.51, -0.35,  0.00, 0.0, 0.0, 0.0, 1, 25 );						#	ガーター橋(緑)を設置します.


	 3799 + $SZ01 ;																													#	 7824;	に相当
						Structure['Tokuhatsu2']		.Put('D-Sazanami', -2.55,  0.00,  0.00, 2.5, 0.0, 1.5, 0,  0 );					#	特殊信号発光機 (II)	/	踏切(内7)
						Structure['EmrLabel_Cr']	.Put('D-Sazanami', -2.60,  1.75,  0.00, 2.5, 0.0, 1.5, 0,  0 );					#						/	踏切
	 3825 + $SZ01 ;																													#	 7850;	に相当
																																	#	(内07)	生浜踏切
						Structure['TollBarSLt'].Put('D-Sazanami',  0.00,  0.00,  0.01, 0.0, 0.0, 0.0, 0,  2 );						#	カントが付いた軌道での例は,[西雷踏切：2k655m]
						Structure['TollBarSRt'].Put('U-Sazanami',  0.00,  0.00,  0.01, 0.0, 0.0, 0.0, 0,  2 );						#	遮断機
						Structure['TollBarSL_Road'].Put('D-Sazanami',  0.00,  0.05,  0.01, 0.0, 0.0, 4.0, 0,  2 );					#	道路(L)を設置します.
						Structure['TollBarSR_Road'].Put('U-Sazanami',  0.00,  0.05,  0.01, 0.0, 0.0,-4.0, 0,  2 );					#	道路(R)を設置します.
						Structure['CrossingS'].Put('D-Sazanami',  0.00,  0.00,  0.00, 0.0, 0.0, 0.0, 3,  2 );						#	渡り板
						Structure['CrossingS'].Put('U-Sazanami',  0.00,  0.00,  0.00, 0.0, 0.0, 0.0, 3,  2 );						#
						Structure['Cr_crossingSR'].PutBetween('D-Sazanami','U-Sazanami',  0 );										#	渡り板間の道路		( 傾斜OP/ 0 ： X・Y方向に変形　/ 1 ： X方向のみに変形 )
						Structure['DikeL'].Put('D-Sazanami', -2.25,  0.05,  1.50, 0.0, -90, 4.0, 0, 25 );							#
						Structure['DikeR'].Put('U-Sazanami',  2.25,  0.05,  1.50, 0.0,  90,-4.0, 0, 25 );							#
						Structure['Cr_Sensor1'].Put('D-Sazanami', -2.00, -0.50, -2.55, 0.0, 0.0, 0.0, 0,  0 );						#	障害物検知器	/	M2 (1:L)
						Structure['Cr_Sensor1'].Put('D-Sazanami', -1.95,  0.25, -3.00, 0.0, 0.0, 0.0, 0,  0 );						#	障害物検知器	/	M2 (2:H)
						Structure['Cr_Sensor1'].Put('D-Sazanami', -1.90, -0.50, -3.55, 0.0,  40, 0.0, 0,  0 );						#	障害物検知器	/	M2 (3:L)
						Structure['Cr_Sensor1'].Put('D-Sazanami', -2.00, -0.50,  3.55, 0.0, 180, 0.0, 0,  0 );						#	障害物検知器	/	SR2 (1:L)		安房鴨川方は, Y軸180°回転して使用します.
						Structure['Cr_Sensor1'].Put('D-Sazanami', -1.95,  0.25,  4.00, 0.0, 180, 0.0, 0,  0 );						#	障害物検知器	/	SR2 (2:H)		安房鴨川方は, Y軸180°回転して使用します.
						Structure['Cr_Sensor1'].Put('D-Sazanami', -1.90, -0.50,  4.55, 0.0, 140, 0.0, 0,  0 );						#	障害物検知器	/	SR2 (3:L)		安房鴨川方は, Y軸180°回転して使用します.
						Structure['Cr_Sensor1'].Put('U-Sazanami',  2.00, -0.50, -2.55, 0.0, 0.0, 0.0, 0,  0 );						#	障害物検知器	/	M1 (1:L)
						Structure['Cr_Sensor1'].Put('U-Sazanami',  1.95,  0.25, -3.00, 0.0, 0.0, 0.0, 0,  0 );						#	障害物検知器	/	M1 (2:H)
						Structure['Cr_Sensor1'].Put('U-Sazanami',  1.90, -0.50, -3.55, 0.0, -40, 0.0, 0,  0 );						#	障害物検知器	/	M1 (3:L)
						Structure['Cr_Sensor1'].Put('U-Sazanami',  2.00, -0.50,  3.55, 0.0, 180, 0.0, 0,  0 );						#	障害物検知器	/	SR1 (1:L)		安房鴨川方は, Y軸180°回転して使用します.
						Structure['Cr_Sensor1'].Put('U-Sazanami',  1.95,  0.25,  4.00, 0.0, 180, 0.0, 0,  0 );						#	障害物検知器	/	SR1 (2:H)		安房鴨川方は, Y軸180°回転して使用します.
						Structure['Cr_Sensor1'].Put('U-Sazanami',  1.90, -0.50,  4.55, 0.0, 220, 0.0, 0,  0 );						#	障害物検知器	/	SR1 (3:L)		安房鴨川方は, Y軸180°回転して使用します.
						Distance + 1 ;	Sound3D['crossing'].Put( -3.80,  3.00);														#	警報音


	 3840 + $SZ01 ;																													#	 7865;	に相当
						Structure['bridge_25gL'].Put('D-Sazanami', -0.51, -0.45,  0.00, 0.0, 0.0, 0.0, 1, 25 );						#	ガーター橋(緑)を設置します.
	 3860 + $SZ01 ;																													#	 7820;	に相当
						Repeater['WallL0'].Begin('D-Sazanami', -0.50, -0.45,  0.00, 0.0, 0.0, 0.0, 1, 25, 25,'bridge_25gL');		#
																																	#
	 3910 + $SZ01 ;																													#	 7935;	に相当
						Structure['DikeR'].Put('U-Sazanami',  0.00, -0.01,  0.00, 0.0, 0.0, 0.0, 3, 25 );							#	ストラクチャを任意の地点で終了するため, Structure.Put にて一部を重ねて配置, 位置調整しています.	
	 3925 + $SZ01 ;																													#	 7950;	に相当
						Repeater['Tr_U-Sazanami'].Begin0('U-Sazanami', 3,  5,  5,'Tr_bal_5m_A','Tr_bal_5m_B');						#
						Repeater['DikeR'].End();																					#
	 3935 + $SZ01 ;																													#	 7960;	に相当
						Repeater['WallL0'].End();																					#
						Repeater['Tr_U-Sazanami'].Begin0('U-Sazanami', 3,  5,  5,'BridgeRail1_5m');									#	橋梁用の軌道を開始します.	/	村田川橋梁
						Structure['bridge_25gL'].Put('D-Sazanami',  0.00, -0.45,  0.00, 0.0, 0.0, 0.0, 1, 25 );						#	ガーター橋(緑)を設置します.
						Structure['bridge_25gR'].Put('U-Sazanami',  0.00,  0.00,  0.00, 0.0, 0.0, 0.0, 1, 25 );						#	ガーター橋(緑)を設置します.

	 3960 + $SZ01 ;																													#	 7985;	に相当
						Repeater['Tr_U-Sazanami'].Begin0('U-Sazanami', 3, 25, 25,'Tr_bal_25m');										#
						Structure['Dike_FbtR'].PutBetween('D-Sazanami','U-Sazanami', 0);											#	Dike前面は L側/中央/R側 の3点構成になっています. 
						Structure['Dike_FL'].Put0('D-Sazanami', 3,  0 );															#	このうち、中央を PutBetween 構文によって変形配置します.
						Structure['Dike_FR'].Put0('U-Sazanami', 3,  0 );															#	( 傾斜OP/ 0 ： X・Y方向に変形　/ 1 ： X方向のみに変形 )
						Repeater['DikeR'].Begin0('U-Sazanami', 3, 25, 25,'DikeR');													#

	 4060 + $SZ01 ;																													#	 8085;	に相当
						Repeater['DikeL'].End();																					#
						Structure['DikeL'].Put('D-Sazanami',  0.00, -0.01,  0.00, 0.0, 0.0, 0.0, 3, 25 );							#	ストラクチャを任意の地点で終了するため, Structure.Put にて一部を重ねて配置, 位置調整しています.	


	 4085 + $SZ01 ;																													#	 8110;	に相当
						Structure['river'].Put0('Height', 0, 25 );																	#	交差する河川を設置します.	/	新村田川橋梁
						Repeater['Ground'].End();																					#	6975; より25mサイクルで配置しているため, 8100;が最後の配置, Z座標奥側が25mのストラクチャのため, 終了地点は 8125;です.
						Repeater['WallL0'].Begin0('D-Sazanami', 1, 25, 25,'bridgel');												#
						Repeater['WallR0'].Begin0('D-Sazanami', 1, 25, 25,'bridger');												#
						Repeater['WallL1'].Begin('U-Sazanami',  0.01,  0.00,  0.00, 0.0, 0.0, 0.0, 1, 25, 25,'bridge_25gL');		#
						Repeater['WallR1'].Begin('U-Sazanami',  0.00, -0.00,  0.00, 0.0, 0.0, 0.0, 1, 25, 25,'bridge_25gR');		#
						Repeater['DikeR'].End();																					#
						Repeater['Tr_U-Sazanami'].Begin0('U-Sazanami', 3,  5,  5,'BridgeRail1_5m');									#	橋梁用の軌道を開始します.
																																	#
						Structure['P-off'].Put('D-Sazanami', -3.50,  3.00, -0.20, 0.0, 0.0,-5.0, 0,  0 );							#	惰行標を設置します.

	 4110 + $SZ01 ;																													#	 8135;	に相当
						Structure['levee'].Put0('Height', 0, 25 );																	#	交差する河川を設置します.
	 4135 + $SZ01 ;																													#	 8160;	に相当
						Structure['Grass_1'].Put0('Height', 1, 25 );																#	GrassRiseのZ座標手前側は-25mのため, 切替地点ではGrass_1を使用します.
						Repeater['WallL0'].End();																					#
						Repeater['WallR0'].End();																					#
						Repeater['WallL1'].End();																					#
						Repeater['WallR1'].End();																					#
						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');			#
						Structure['Dike_FbtR'].PutBetween('D-Sazanami','U-Sazanami', 0);											#	Dike前面は L側/中央/R側 の3点構成になっています. 
						Structure['Dike_FL'].Put0('D-Sazanami', 3,  0 );															#	このうち、中央を PutBetween 構文によって変形配置します.
						Structure['Dike_FR'].Put0('U-Sazanami', 3,  0 );															#	( 傾斜OP/ 0 ： X・Y方向に変形　/ 1 ： X方向のみに変形 )
						Structure['DikeL'].Put0('D-Sazanami', 3, 25 );																#	サイクル調整用
						Structure['DikeR'].Put0('U-Sazanami', 1, 25 );																#	サイクル調整用

	 4150 + $SZ01 ;																													#	 8175;	に相当
						Repeater['DikeL'].Begin0('D-Sazanami', 3, 25, 25,'DikeL');													#
						Repeater['DikeR'].Begin0('U-Sazanami', 1, 25, 25,'DikeR');													#

	 4160 + $SZ01 ;																													#	 8185;	に相当
						Structure['Grass_1'].Put0('Height', 1, 25 );																#	ストラクチャの配置が曲線上となるため, Y軸回転して配置されます. このため, GrassRiseを使用すると河川のストラクチャを塞いでしまいます.
	 4175 + $SZ01 ;																													#	 8200;	に相当
						Repeater['Ground'].Begin0('Height', 1, 25, 25,'grassrise');													#	曲線によるストラクチャの干渉を回避するため, 少しの距離を置いてから地面の連続配置を開始しています.



	 4278 + $SZ01 ;																													#	 8303;	に相当
						Structure['kurukuru']		.Put('D-Sazanami', -3.25,  5.25,  0.15, 0.0, 0.0, 0.0, 0,  0 );					#	特殊信号発光機 (I)	/	踏切中継
						Structure['EmrLabel_CrRep']	.Put('D-Sazanami', -3.25,  4.00, -0.06, 0.0, 0.0, 0.0, 0,  0 );					#						/	踏切中継
						Structure['sigpole2']		.Put('D-Sazanami', -3.25,  0.30,  0.00, 0.0, 0.0, 0.0, 0,  0 );					#	信号柱を設置します.
						Structure['Tokuhatsu2']		.Put('D-Sazanami', -3.25,  1.30, -0.06, 0.0, 0.0, 0.0, 0,  0 );					#	特殊信号発光機 (II)	/	踏切中継
						Structure['EmrLabel_CrRep']	.Put('D-Sazanami', -3.25,  3.10, -0.06, 0.0, 0.0, 0.0, 0,  0 );					#						/	踏切中継


	 4435 + $SZ01 ;																													#	 8460;	に相当
						Structure['CrLb_U08-Kikuma1'].Put('D-Sazanami', -3.45,  2.50, -0.20, 0.0, -30, 0.5, 0,  0 );				#	踏切名 ：	第一菊間道踏切(内08)
	 4460 + $SZ01 ;																													#	 8485;	に相当
						Structure['kurukuru']		.Put('D-Sazanami', -4.50,  5.00,  0.00, 0.0, 0.0, 0.0, 0,  0 );					#	特殊信号発光機 (I)	/	踏切 (内8)
						Structure['EmrLabel_Cr']	.Put('D-Sazanami', -4.50,  4.00, -0.06, 0.0, 0.0, 0.0, 0,  0 );					#						/	踏切
						Structure['sigpole2']		.Put('D-Sazanami', -4.50,  0.15,  0.00, 0.0, 0.0, 0.0, 0,  0 );					#	信号柱を設置します.
						Structure['Tokuhatsu2']		.Put('D-Sazanami', -4.50,  1.10, -0.06, 0.0, 0.0, 0.0, 0,  0 );					#	特殊信号発光機 (II)	/	踏切中継
						Structure['EmrLabel_CrRep']	.Put('D-Sazanami', -4.50,  2.85, -0.06, 0.0, 0.0, 0.0, 0,  0 );					#						/	踏切中継
																																	#
	 4490 + $SZ01 ;																													#	 8515;	に相当
						Structure['Caution_End'].Put('D-Sazanami', -3.50, -0.60, -0.20, 0.0,-5.0,-0.8, 0,  0 );						#	要注箇所標(終点)
						Structure['Caution_Tsunami'].Put('D-Sazanami', -3.47,  1.93, -0.18, 0.0,-5.0, 1.5, 0,  0 );					#	要注箇所標(浸水区域)
	 4500 + $SZ01 ;																													#	 8525;	に相当
																																	#	(内08)	第一菊間道踏切
						Structure['TollBarDL'].Put('D-Sazanami',  0.00, -0.03,  0.01, 0.0, 0.0, 0.0, 0,  6 );						#	カントが付いた軌道での例は,[西雷踏切：2k655m]
						Structure['TollBarDR'].Put('U-Sazanami',  0.00, -0.03,  0.01, 0.0, 0.0, 0.0, 0,  6 );						#	遮断機
						Structure['CrossingD'].Put('D-Sazanami',  0.00,  0.00,  0.00, 0.0, 0.0, 0.0, 3,  6 );						#	渡り板
						Structure['CrossingD'].Put('U-Sazanami',  0.00,  0.00,  0.00, 0.0, 0.0, 0.0, 3,  6 );						#
						Structure['Cr_crossingDR'].PutBetween('D-Sazanami','U-Sazanami',  0 );										#	渡り板間の道路		( 傾斜OP/ 0 ： X・Y方向に変形　/ 1 ： X方向のみに変形 )
						Structure['Cr_Sensor1'].Put('D-Sazanami', -1.90,  0.00, -5.00, 0.0, 0.0, 0.0, 0,  0 );						#	障害物検知器	/	R1H
						Structure['Cr_Sensor1'].Put('D-Sazanami', -2.00, -0.50, -5.00, 0.0, 0.0, 0.0, 0,  0 );						#	障害物検知器	/	R1
						Structure['Cr_Sensor1'].Put('D-Sazanami', -1.90,  0.00, 11.00, 0.0, 180, 0.0, 0,  0 );						#	障害物検知器	/	S1H		安房鴨川方は, Y軸180°回転して使用します.
						Structure['Cr_Sensor1'].Put('D-Sazanami', -2.00, -0.50, 11.00, 0.0, 180, 0.0, 0,  0 );						#	障害物検知器	/	S1		安房鴨川方は, Y軸180°回転して使用します.
						Structure['Cr_Sensor1'].Put('D-Sazanami',  1.80, -0.50,-10.00, 0.0, -10, 0.0, 0,  0 );						#	障害物検知器	/	R2
						Structure['Cr_Sensor1'].Put('D-Sazanami', -2.00, -0.50, 16.00, 0.0, 170, 0.0, 0,  0 );						#	障害物検知器	/	S2		安房鴨川方は, Y軸180°回転して使用します.
						Structure['Cr_Sensor1'].Put('D-Sazanami',  1.90, -0.50, -5.00, 0.0, 0.0, 0.0, 0,  0 );						#	障害物検知器	/	S3
						Structure['Cr_Sensor1'].Put('D-Sazanami',  1.90, -0.50, 11.00, 0.0, 180, 0.0, 0,  0 );						#	障害物検知器	/	R3		安房鴨川方は, Y軸180°回転して使用します.
						Structure['Cr_Sensor1'].Put('U-Sazanami',  1.80, -0.50,-10.00, 0.0, -10, 0.0, 0,  0 );						#	障害物検知器	/	S4
						Structure['Cr_Sensor1'].Put('U-Sazanami', -1.90, -0.50, 16.00, 0.0, 170, 0.0, 0,  0 );						#	障害物検知器	/	R4		安房鴨川方は, Y軸180°回転して使用します.
						Structure['Cr_Sensor1'].Put('U-Sazanami',  1.90,  0.00, -5.00, 0.0, 0.0, 0.0, 0,  0 );						#	障害物検知器	/	S5H
						Structure['Cr_Sensor1'].Put('U-Sazanami',  2.00, -0.50, -5.00, 0.0, 0.0, 0.0, 0,  0 );						#	障害物検知器	/	S5
						Structure['Cr_Sensor1'].Put('U-Sazanami',  1.90,  0.00, 11.00, 0.0, 180, 0.0, 0,  0 );						#	障害物検知器	/	R5H		安房鴨川方は, Y軸180°回転して使用します.
						Structure['Cr_Sensor1'].Put('U-Sazanami',  2.00, -0.50, 11.00, 0.0, 180, 0.0, 0,  0 );						#	障害物検知器	/	R5		安房鴨川方は, Y軸180°回転して使用します.
						Distance + 3 ;	Sound3D['crossing'].Put( -3.80,  4.00);														#	警報音





///////////////			///////////////			///////////////			///////////////			///////////////						#	###		↓	線路周りの設定	###
																																	#	Repeater・Structure構文を使って,線路周りのストラクチャを設置します.
																																	#	(軌道間の隙間埋め)
	 3910 + $SZ01 ;																													#	 7935;	に相当
						Structure['crabalr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#	軌道間にバラストを変形配置します.
																																	#	(軌道間の隙間埋め)
	 3960 + $SZ01 ;																													#	 7985;	に相当
						Structure['cragrsr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#	軌道間にバラストを変形配置します.
	 3985 + $SZ01 ;		Structure['cragrsr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#	( 傾斜OP/ 0 ： X・Y方向に変形　/ 1 ： X方向のみに変形 )
	 4010 + $SZ01 ;																													#	 8035;	に相当
						Structure['cragrsr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#
	 4035 + $SZ01 ;		Structure['cragrsr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#
	 4060 + $SZ01 ;		Structure['cragrsr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#
																																	#	(軌道間の隙間埋め)
	 4135 + $SZ01 ;																													#	 8160;	に相当
						Structure['cragrsr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#	軌道間にバラストを変形配置します.
	 4160 + $SZ01 ;		Structure['cragrsr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#	( 傾斜OP/ 0 ： X・Y方向に変形　/ 1 ： X方向のみに変形 )
	 4185 + $SZ01 ;		Structure['cragrsr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#
	 4210 + $SZ01 ;																													#	 8235;	に相当
						Structure['cragrsr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#
	 4235 + $SZ01 ;		Structure['cragrsr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#
	 4260 + $SZ01 ;		Structure['cragrsr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#
	 4285 + $SZ01 ;		Structure['cragrsr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#
	 4310 + $SZ01 ;																													#	 8335;	に相当
						Structure['cragrsr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#
	 4335 + $SZ01 ;		Structure['cragrsr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#
	 4360 + $SZ01 ;		Structure['crabalr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#
	 4385 + $SZ01 ;		Structure['crabalr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#
	 4410 + $SZ01 ;																													#	 8435;	に相当
						Structure['crabalr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#
	 4435 + $SZ01 ;		Structure['crabalr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#
	 4460 + $SZ01 ;																													#	 8485;	に相当
						Structure['crabalr'].PutBetween('D-Sazanami','U-Sazanami', 0);												#
																																	#
///////////////			///////////////			///////////////																		#
																																	#	(キロポストの設置)
	 3900 + $SZ01 ;																													#	 7925;	に相当
						Structure['KP109'].Put('D-Sazanami', -2.50, -0.45,  0.00, 0.0, 0.0, 0.0, 0,  0 );							#	キロポストを設置します.これは,"3号(900m)".
	 4000 + $SZ01 ;																													#	 8025;	に相当
						Structure['KP100'].Put('D-Sazanami', -2.00, -0.40,  0.00, 0.0, 0.0, 7.5, 0,  0 );							#	キロポストを設置します.これは,"1号(1km)".
#	 4100 + $SZ01 ;																													#	 8125;	に相当
#						Structure['KP101'].Put('D-Sazanami', -2.50, -0.25,  0.00, 0.0, 0.0, 0.0, 0,  0 );							#	キロポストを設置します.これは,"3号(100m)".
	 4200 + $SZ01 ;																													#	 8225;	に相当
						Structure['KP102'].Put('D-Sazanami', -3.00, -0.40,  0.00,-5.0, 3.5,  20, 0,  0 );							#	キロポストを設置します.これは,"3号(200m)".
	 4300 + $SZ01 ;																													#	 8325;	に相当
						Structure['KP103'].Put('D-Sazanami', -2.75, -0.25,  0.00,-2.5, 2.5, 7.5, 0,  0 );							#	キロポストを設置します.これは,"3号(300m)".
	 4400 + $SZ01 ;																													#	 8425;	に相当
						Structure['KP104'].Put('D-Sazanami', -2.50, -0.25,  0.00, 0.0,-2.5, 1.5, 0,  0 );							#	キロポストを設置します.これは,"3号(400m)".
	 4490 + $SZ01 ;																													#	 8515;	に相当
						Structure['KP105'].Put('D-Sazanami', -2.75, -0.35,  0.00, 0.0,-5.0, 2.5, 0,  0 );							#	キロポストを設置します.これは,"2号(500m)".	※踏切内のため移設
																																	#
///////////////			///////////////			///////////////																		#
																																	#	(架線柱と架線の設置)
																																	#	この例では架線柱・架線ともに Structure.Put構文で設置しています.
																																	#	引数のtilt(傾斜オプション)・span(弦の長さ)をうまく使い分けられると便利です.
	 3730 + $SZ01 ;																													#	 7755;	に相当
						Structure['Pole_VCA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G16)
						Structure['kasen50'].Put0('D-Sazanami', 1, 50 );															#	架線を設置します.
						Structure['kasen50'].Put0('U-Sazanami', 1, 50 );															#	架線を設置します.
	 3780 + $SZ01 ;																													#	 7805;	に相当
						Structure['Pole_TCA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.	(G17)
						Structure['kasen+B']	.Put0('D-Sazanami', 1, 25 );														#	架線を設置します. (可変タイプ/開始側は25m)
						Structure['kasen+B']	.Put0('U-Sazanami', 1, 25 );														#	架線を設置します. (可変タイプ/開始側は25m)
		3805 + $SZ01 ;	Structure['kasen+10']	.Put0('D-Sazanami', 1, 10 );														#	架線を設置します. (可変タイプ/中央10mタイプ)
						Structure['kasen+10']	.Put0('U-Sazanami', 1, 10 );														#	架線を設置します. (可変タイプ/中央10mタイプ)
		3815 + $SZ01 ;	Structure['kasen+E']	.Put0('D-Sazanami', 1, 25 );														#	架線を設置します. (可変タイプ/終点側は25m)
						Structure['kasen+E']	.Put0('U-Sazanami', 1, 25 );														#	架線を設置します. (可変タイプ/終点側は25m)
	 3840 + $SZ01 ;																													#	 7865;	に相当
						Structure['Pole_TCA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.
						Structure['kasen+B']	.Put0('D-Sazanami', 1, 25 );														#	架線を設置します. (可変タイプ/開始側は25m)
						Structure['kasen+B']	.Put0('U-Sazanami', 1, 25 );														#	架線を設置します. (可変タイプ/開始側は25m)
		3865 + $SZ01 ;	Structure['kasen+10']	.Put0('D-Sazanami', 1, 10 );														#	架線を設置します. (可変タイプ/中央10mタイプ)
						Structure['kasen+05']	.Put0('U-Sazanami', 1,  5 );														#	架線を設置します. (可変タイプ/中央5mタイプ)
		3870 + $SZ01 ;	Structure['kasen+E']	.Put0('U-Sazanami', 1, 25 );														#	架線を設置します. (可変タイプ/終点側は25m)
		3875 + $SZ01 ;	Structure['kasen+E']	.Put0('D-Sazanami', 1, 25 );														#	架線を設置します. (可変タイプ/終点側は25m)
	 3895 + $SZ01 ;																													#	 7920;	に相当
						Structure['Pole_TCA_1RL'].Put0('U-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen40'].Put0('U-Sazanami', 1, 40 );															#	架線を設置します.
	 3900 + $SZ01 ;																													#	 7925;	に相当
						Structure['Pole_TCA_1LR'].Put0('D-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen40'].Put0('D-Sazanami', 1, 40 );															#	架線を設置します.
	 3935 + $SZ01 ;																													#	 7960;	に相当
						Structure['Pole_TCA_1RL'].Put0('U-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen50'].Put0('U-Sazanami', 1, 50 );															#	架線を設置します.
	 3940 + $SZ01 ;																													#	 7965;	に相当
						Structure['Pole_TCA_1LR'].Put0('D-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen50'].Put0('D-Sazanami', 1, 50 );															#	架線を設置します.
	 3985 + $SZ01 ;																													#	 8010;	に相当
						Structure['Pole_TCA_1RL'].Put0('U-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen50'].Put0('U-Sazanami', 1, 50 );															#	架線を設置します.
	 3990 + $SZ01 ;																													#	 8015;	に相当
						Structure['Pole_TCA_1LL'].Put0('D-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen45'].Put0('D-Sazanami', 1, 45 );															#	架線を設置します.
	 4035 + $SZ01 ;																													#	 8060;	に相当
						Structure['Pole_TCA_1LL'].Put0('D-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen50'].Put0('D-Sazanami', 1, 50 );															#	架線を設置します.
						Structure['Pole_TCA_1RR'].Put0('U-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen50'].Put0('U-Sazanami', 1, 50 );															#	架線を設置します.
	 4085 + $SZ01 ;																													#	 8110;	に相当
						Structure['Pole_TCA_1LL'].Put0('D-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen+B']	.Put0('D-Sazanami', 1, 25 );														#	架線を設置します. (可変タイプ/開始側は25m)
						Structure['Pole_TCA_1RL'].Put0('U-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen+B']	.Put0('U-Sazanami', 1, 25 );														#	架線を設置します. (可変タイプ/開始側は25m)
		4110 + $SZ01 ;	Structure['kasen+05']	.Put0('D-Sazanami', 1,  5 );														#	架線を設置します. (可変タイプ/中央5mタイプ)
						Structure['kasen+05']	.Put0('U-Sazanami', 1,  5 );														#	架線を設置します. (可変タイプ/中央5mタイプ)
		4115 + $SZ01 ;	Structure['kasen+E']	.Put0('D-Sazanami', 1, 25 );														#	架線を設置します. (可変タイプ/終点側は25m)
						Structure['kasen+E']	.Put0('U-Sazanami', 1, 25 );														#	架線を設置します. (可変タイプ/終点側は25m)

	 4140 + $SZ01 ;																													#	 8165;	に相当
						Structure['Pole_TCA_1LL'].Put0('D-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen40'].Put0('D-Sazanami', 1, 40 );															#	架線を設置します.
						Structure['Pole_TCA_1RL'].Put0('U-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen40'].Put0('U-Sazanami', 1, 40 );															#	架線を設置します.
	 4180 + $SZ01 ;																													#	 8205;	に相当
						Structure['Pole_TCA_1LL'].Put0('D-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen35'].Put0('D-Sazanami', 1, 35 );															#	架線を設置します.
						Structure['Pole_TCA_1RL'].Put0('U-Sazanami', 0,  0 );														#	架線	架線柱を設置します.
						Structure['kasen35'].Put0('U-Sazanami', 1, 35 );															#	架線を設置します.
	 4215 + $SZ01 ;																													#	 8240;	に相当
						Structure['Pole_TCA_1LL'].Put0('D-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen35'].Put0('D-Sazanami', 1, 35 );															#	架線を設置します.
						Structure['Pole_TCA_1RL'].Put0('U-Sazanami', 0,  0 );														#	架線	架線柱を設置します.
						Structure['kasen35'].Put0('U-Sazanami', 1, 35 );															#	架線を設置します.
	 4250 + $SZ01 ;																													#	 8275;	に相当
						Structure['Pole_TCA_1LL'].Put0('D-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen35'].Put0('D-Sazanami', 1, 35 );															#	架線を設置します.
						Structure['Pole_TCA_1RL'].Put0('U-Sazanami', 0,  0 );														#	架線	架線柱を設置します.
						Structure['kasen35'].Put0('U-Sazanami', 1, 35 );															#	架線を設置します.
	 4285 + $SZ01 ;																													#	 8310;	に相当
						Structure['Pole_TCA_1LL'].Put0('D-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen30'].Put0('D-Sazanami', 1, 30 );															#	架線を設置します.
						Structure['Pole_TCA_1RL'].Put0('U-Sazanami', 0,  0 );														#	架線	架線柱を設置します.
						Structure['kasen30'].Put0('U-Sazanami', 1, 30 );															#	架線を設置します.
	 4315 + $SZ01 ;																													#	 8340;	に相当
						Structure['Pole_TCA_1LL'].Put0('D-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen30'].Put0('D-Sazanami', 1, 30 );															#	架線を設置します.
						Structure['Pole_TCA_1RL'].Put0('U-Sazanami', 0,  0 );														#	架線	架線柱を設置します.
						Structure['kasen30'].Put0('U-Sazanami', 1, 30 );															#	架線を設置します.
	 4345 + $SZ01 ;																													#	 8370;	に相当
						Structure['Pole_TCA_1LL'].Put0('D-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen30'].Put0('D-Sazanami', 1, 30 );															#	架線を設置します.
						Structure['Pole_TCA_1RL'].Put0('U-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen30'].Put0('U-Sazanami', 1, 30 );															#	架線を設置します.
	 4375 + $SZ01 ;																													#	 8400;	に相当
						Structure['Pole_TCA_1LL'].Put0('D-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen30'].Put0('D-Sazanami', 1, 30 );															#	架線を設置します.
						Structure['Pole_TCA_1RL'].Put0('U-Sazanami', 0,  0 );														#	架線	架線柱を設置します.
						Structure['kasen30'].Put0('U-Sazanami', 1, 30 );															#	架線を設置します.
	 4405 + $SZ01 ;																													#	 8430;	に相当
						Structure['Pole_PBA_2h'].Put0('D-Sazanami', 0,  0 );														#	架線柱を設置します.	(G15)
						Structure['kasen30'].Put0('D-Sazanami', 1, 30 );															#	架線を設置します.
						Structure['kasen30'].Put0('U-Sazanami', 1, 30 );															#	架線を設置します.
	 4435 + $SZ01 ;																													#	 8460;	に相当
						Structure['Pole_PBA_2h'].Put0('D-Sazanami', 0,  0 );														#	架線柱を設置します.
						Structure['kasen30'].Put0('D-Sazanami', 1, 30 );															#	架線を設置します.
						Structure['kasen30'].Put0('U-Sazanami', 1, 30 );															#	架線を設置します.
	 4465 + $SZ01 ;																													#	 8490;	に相当
						Structure['Pole_PBA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.
						Structure['kasen25'].Put0('D-Sazanami', 1, 25 );															#	架線を設置します.
						Structure['kasen25'].Put0('U-Sazanami', 1, 25 );															#	架線を設置します.
	 4490 + $SZ01 ;																													#	 8515;	に相当
						Structure['Pole_PBA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.
						Structure['kasen40'].Put0('D-Sazanami', 1, 40 );															#	架線を設置します.
						Structure['kasen40'].Put0('U-Sazanami', 1, 40 );															#	架線を設置します.
	 4530 + $SZ01 ;																													#	 8555;	に相当
						Structure['Pole_PBA_2'].Put0('D-Sazanami', 0,  0 );															#	架線柱を設置します.
						Structure['kasen50'].Put0('D-Sazanami', 1, 50 );															#	架線を設置します.
						Structure['kasen50'].Put0('U-Sazanami', 1, 50 );															#	架線を設置します.
///////////////			///////////////			///////////////			///////////////			///////////////						#	###		↑	線路周りの設定	###







