Pythonスクリプト
先月の定例会で話が持ち上がった「編成の前方で回転動作をするカメラ」のスクリプトです。foxさんのような動画を作るにはあった方が良いだろうということでAKAGIさんの撮る夫くんに実装出来ないかな?という話をしていたのですが、こちらは単独動作…
久しぶりにスクリプトを書いてみました(^^)/ 単行車は2両編成以上にした時に反転させることも考えて、先頭車と最後尾車はヘッドライトとテールライトを両方オンにしておく訳ですが、こうすると何故か全部点灯してしまって上手くいかない状況でした。 本当は…
昨日の続きです。 di = obj.GetDict() if ev == 'init': obj.SetInputMode(1) obj.SetEventKeyDown('A') obj.SetEventKeyDown('Z') di['notch'] = 0(中略) elif ev == 'keydown': if param['keycode'] == 'A': di['notch'] = di['notch'] - 1 if di['notch…
ビューワーでの手動操作として通常の電圧制御コントローラーではなく鉄道車両らしくノッチで運転する方法を調べていたのですが・・・なんとこのノッチ動作は鉄道車両のものではなく、トランジスタ制御コントローラーのものだということが分かりました(^_^;)…
何故かアマゾンではプレミア価格(中古で3,660円~)になってしまっていますが、工学社で「「鉄道模型シミュレーターNX」で学ぶPythonプログラミング」がセール中です。 定価2,860円(税込)のところ15%オフの2,431円(税込)です。送料が350円かかるのでト…
ななついろチャンネルさん向けPythonスクリプト >-----------------------------時間式信号機遷移中突入対応版>-----------------------------#OBJID=38import vrmapidef vrmevent_38(obj,ev,par…
前回ご覧いただいたような連続する追跡地上カメラを置いた場合、カメラに何も仕込んでおかないとずっと追跡カメラに切り替わっていってしまい作業とか出来なくなるので、切り替えを一斉にオン・オフするためのPythonスクリプトを作りました。 #追跡切替カメ…
漆黒さんの「Python踏切覚え書き」という記事を調べていたのですが、やはり警報機の指定番号が逆になっていますね。 正解はこちらの図です。 ということで、文章だけだと分かりづらいみたいなので、私の記事に方にもこの画像を貼っておきます(^^)/
ななついろさん向け共通ステータス確認用Pythonスクリプトです #LAYOUTimport vrmapidef vrmevent(obj,ev,param): if ev == 'init': obj.SetEventKeyDown('Z',101) elif ev == 'broadcast': dummy = 1 elif ev == 'timer': dummy = 1 elif ev == 'time': dum…
Ver6.1.0.500アップデートでモーションパスに追加されたPause()とResume()をテストしてみました。 まずは以前からあったwait()の場合 新設されたPause()の場合 これで一時停止もちゃんといけますね(^^)/
caldiaさん作「ついてくん」を使い、踏切と交差点の同時制御をしてみました(^^)/道路側の線路を非表示にしたのですが何か見えているような・・・(^_^;) 鉄道模型シミュレーターNX 踏切と交差点制御 これで一応完成です。
caldiaさん作「ついてくん」を使い、今度は交差点を制御してみました(^^)/VRMNXの自動車用交通信号機は可変ではないので分かりにくいですが、20秒毎に切り替えています。 鉄道模型シミュレーターNX ついてくんを使った交差点制御 次世代道路システムを開…
自動追従スクリプト「ついてくん」を使い、より実践的な踏切停車テストをしてみました(^^)/十数回調整してようやく上手くいったものを動画にしました。鉄道模型シミュレーターNX ついてくんを使った踏切停車テスト どうやら交差点など他の車両と干渉し速度…
caldiaさんが作った自動追従スクリプト「ついてくん」で踏切の停車テストをやってみました。動画はこちら(^^)/鉄道模型シミュレーターNX 「ついてくん」踏切停車テスト 停車はするけど列車が通過するとそれに追従しようと踏切を通過してしまいました。で、…
あまりにも複雑でスクリプトも長いので、スクリプトの掲載は致しません(^_^;) レイアウトデータは公開しておりますのでそちらをご覧ください。追越駅を含めて8閉塞区間で構築されています。駅前用、停車追越駅、通過追越駅、駅後用の4つを追加しました。 …
設定は赤文字の所を変更してください。また踏切を追加する場合にはオレンジ色のグローバル変数の名前を変更する必要があります。この部分が以前より楽になっています。#OBJID=53#手前進入センサー(設定用)import vrmapi#踏切名(共通ステータス名)#手前側…
設定は赤文字の所を変更してください。また踏切を追加する場合にはオレンジ色のグローバル変数の名前を変更する必要があります。この部分が以前より楽になっています。#OBJID=53#手前進入センサー(設定用)import vrmapi#踏切名(共通ステータス名)#手前側…
指定のキーを押すことでアクティブになる地上カメラのスクリプトです。1度そのキーを押すとそのカメラに切り替わり、もう一度押すとシステムカメラに戻ります。このスクリプトを使った地上カメラを複数使うことも出来ます。#OBJID=8import vrmapidef vrmeve…
センサー1個でホームドアを開閉するスクリプトを作りました。それぞれで設定する項目は赤文字のところです。ホームドアにはグループ名を付けておいてください。#OBJID=74import vrmapidef vrmevent_74(obj,ev,param): di = obj.GetDict() if ev == 'init': …
1本道の単純な閉塞を1閉塞あたり1個のセンサーで再現しました。それぞれで設定する項目は赤文字のところです。#----------------#複線閉塞センサー#----------------#OBJID=62import vrmapidef vrmevent_62(obj,ev,param): di = obj.GetDict() if ev == '…
こちらは片側遮断機用です。使い方は「センサー4個で両側遮断機踏切スクリプト」と同様です。#OBJID=53#手前進入センサー(設定用)import vrmapi#踏切名(共通ステータス名)#手前側警報機ID:47#奥側警報機ID:48#遮断機1ID:49#遮断機2ID:51#降下待ち時間…
以前「Python版踏切スクリプト改の改」にて書いたスクリプトでは使い回しする上では厳しいだろうということで、設定方法を変えた改良版を考えました。動作自体は以前と同じです。#OBJID=53#手前進入センサー(設定用)import vrmapi#踏切名(共通ステータス…
以下のテスト用レイアウトを公開します。再現にはトミックスセット1が必要です。 ・センサー1個で距離式信号機・センサー1個で簡単機回しスクリプト・センサー1個で簡単機回しスクリプト(重連対応版) SLや重連に対応しました・センサー1個で転車台簡…
「センサー1個で」シリーズ第五弾です(^^)/ 正直なところセンサー1個では無理かと思っていましたが何とか形になりました。「センサー1個で簡単機回しスクリプト(重連対応版)」と組み合わせて使っています。 #OBJID=92import vrmapidef vrmevent_92(obj,ev…
「センサー2個で交換駅」は汎用性を向上させ、1つのスクリプトに統合できました。#----------------#交換駅用76#----------------#OBJID=76import vrmapidef vrmevent_76(obj,ev,param): di = obj.GetDict() if ev == 'init': di['train'] = 0 di['evid'] …
あれからまた考えました。その結果、SetEventTimerの秒数間隔が当てにならないのであれば前後で正確な時間を取得してその差を用いれば良いのではないか?と。で計測するとやはり結構な誤差が出ました(^_^;) でもこれを利用して係数をかければ正確な数値に近…
「センサー1個で」シリーズ第四弾として、速度変化にも対応した編成長測定スクリプトを作ろうとしたのですが、これに悪戦苦闘しました(>_<)センサー1個で編成長を測定する方法はセンサーに編成の前方台車と最後方台車を感知させ、通過時間と速度でもって計…
「センサー2個で」になりました(^^)/ 今回は交換駅を再現してみました。#----------------#交換駅L→Rホーム用#----------------#OBJID=77import vrmapiarea_LR = 0 #交換駅L→Rホーム有無def vrmevent_77(obj,ev,param): global area_LR global area_RL …
「センサー1個で」シリーズ第三弾です(^^)/ 今回は追い越し運転を再現してみました。#----------------#優先列車停車駅用#----------------#OBJID=38import vrmapidef vrmevent_38(obj,ev,param): di = obj.GetDict() if ev == 'init': di['train'] = 0 di[…
自動センサーの機能を使って機回しをしようとすると幾つものセンサーを連動させる必要があり何かと面倒です。そこでPythonを使い、分割と連結の重要機能を1つのセンサーだけでやってしまうスクリプトを考えました。#OBJID=38import vrmapidef vrmevent_38(o…