Skip to content

CaldiaNX/vrmnxfls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VRMNXファイル連携システム

概要

「VRMNXファイル連携システム」(VRMNX File linkege System:VRMNX FLS)は「鉄道模型シミュレーターNX」(VRMNX)のビュワーオブジェクトを外部から制御するためのシステムです。

タイマーイベント(既定は0.1秒毎)でレイアウトファイルと同階層にある「readフォルダ」の「オブジェクト命令ファイル」を読み込み、テキストで記述されている命令をVRMNXで実行します。
オプション機能で命令実行後に「sendフォルダ」へ「レイアウト情報ファイル」を出力することもできます。

vrmfls

ダウンロード

利用方法

レイアウトファイルと同じフォルダ階層に「vrmnxfls.py」ファイルと「read」「read_end」フォルダを配置します。

フォルダ構成例:

C:\VRMNX
├ \read
├ \read_end
├ \send  (任意:レイアウト情報ファイル出力用)
├ vrmnxfls.py
└ VRMNXレイアウトファイル.vrmnx

対象レイアウトのレイアウトスクリプトに以下の★内容を追記します。

#LAYOUT
import vrmapi
import vrmnxfls # ★インポート

def vrmevent(obj,ev,param):
    vrmnxfls.vrmevent(obj,ev,param) # ★メイン処理
    if ev == 'init':
        dummy = 1
    elif ev == 'broadcast':
        dummy = 1
    elif ev == 'timer':
        dummy = 1
    elif ev == 'time':
        dummy = 1
    elif ev == 'after':
        dummy = 1
    elif ev == 'frame':
        dummy = 1
    elif ev == 'keydown':
        dummy = 1

ファイル読み込みに成功すると、ビューワー起動時のスクリプトログに

load VRMNXファイル連携システム Ver.x.x

が表示されます。

使い方

「readフォルダ」内のテキストファイルを検知すると「readFile関数」がファイルを読み込み、命令を実行します。
テキストフォーマットはダブルクオーテーション無し、改行無し、タブ区切りの1行Shift-JISです。
標準ファイル命名規則は年月日時分秒「yyyymmddhhmmssfff.txt」ですが、遵守しなくても読み込みます。
(命名規則はFIFO(先入れ先出し)を遵守させるための仕様です)
読み込み対象フォルダにある「*.txt」を0.1秒ごとのポーリングで検出します。
読み込んだファイルは「read_end」フォルダへ移動します。
読み込んだテキストは「readFile関数」で各関数に振り分けられます。

対応命令や詳細仕様は下記のリファレンスを参照ください。

関連資料

本システムを使って実現したいこと

  • VRMNX以外の外部プログラムや市販コントローラを使った運転や、独自システムとの連携
  • ネットワークを介した疑似オンライン運転会

今後の実装予定

  • 対象オブジェクト・命令セットの拡充
  • イベントドリブン(SetEvent~)の追加

About

鉄道模型シミュレーターNX ファイル連携システム

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages