スクリプトファイルの選択と実行
Vissimでは、外部スクリプトファイルを選択して実行できます。次のスクリプト言語がサポートされています。
- Visual Basic *.vbs
- JavaScript *.js
- Python *.py、*.pys (スクリプト言語としてのPythonの使用)
サポート対象外:
- ラッパーwxPython
- Pythonディストリビューションanaconda
|
ひとこと: また、シミュレーション中の特定の時間に実行したり、ネットワークファイルに対して実行するといった、スクリプトの管理も可能です (イベントベースのスクリプトファイルの使用)。 |
グローバル変数Vissimは、スクリプト内での初期化の必要なしに使用することができ、スクリプトの起動元である実行中のVissimを常に参照します。さらに、変数CurrentScriptを使用して、たとえばそこにあるユーザー定義の属性にアクセスするために、現在のスクリプトへの参照を作成することができます。
Vissimはすでに起動しているため、CreateObjectを使用してVissimオブジェクトを作成する必要はありません。スクリプトでVissimの追加のインスタンスが必要な場合には、CreateObjectを使用できます。
スクリプトは、スクリプト言語のコマンド(ループ、分岐、入力、出力などのコマンド)で構成されます。
スクリプト内で、グローバル宣言を使用することはできません。
スクリプトファイルの実行
1. [Actions]‐[アクション] メニューで、[Run Script File]‐[スクリプトファイルの実行] をクリックします。
ウィンドウが開きます。
2. スクリプトファイルの保存先のディレクトリを選択します。
3. 目的のスクリプトファイルを選択します。
4. [Open]-[開く] ボタンをクリックします。
スクリプトファイルはVissimで実行されます。
スクリプトファイルの例
スクリプトファイルを使用するVissimネットワークは、ディレクトリ..\Examples Training\COM\Drop-off Zoneに置かれています。このサンプルは、Visual Basic Script(VBS)とPythonで使用できます。
次のスクリプトは、各入力の最初の時間間隔の交通量を半分にするために使用されます。
*.vbsスクリプトファイルの例1
For each flow in all_flows
For i = 1 To all_flows.Count
flow.AttValue("Volume(1)") = 0.5 * flow.AttValue("Volume(1)")
Next
*.vbsスクリプトファイルの例2
all_flows = Vissim.Net.VehicleInputs.GetAll
For i = 0 To UBound (all_flows)
all_flows(i).AttValue("Volume(1)") = 0.5 * all_flows(i).AttValue("Volume(1)")
Next
親見出し: