環境

説明

目的

環境でモジュールを使用すると、FlexSimのインターフェイスを完全に変更できます。各モジュールには環境のセットがあり、それぞれの環境は追加と置き換えのセットですが、FlexSimが開くとき他のモジュールには適用されません。その代わりに、これらの変更はいつでも環境に切り替えたときに適用できます。環境を終了すると、FlexSimはデフォルト環境に戻ります。

環境にはinstalldataのセットがあり、標準のモジュールと同様に、ツリー内でノードの追加と置き換えを行います。また、環境の開始または終了時に起動するイベントやコードも定義できます。オプションのセットを定義すると、[実行]およびFlexSimツールバーの削除や、メインパネルのYの場所の設定を行えます。また、ワークスペース、つまり環境が開くウィンドウのセットも定義できます。

タイプ

環境は3つの場所で定義できます。

  • デフォルト環境 - MAIN:/project/exec/globals/environmentsにあります。これらの環境はデフォルトでFlexSimにより定義されます。デフォルト環境は、環境を終了して標準のFlexSimに戻るときに使用されます。最小環境では[実行]およびFlexSimツールバーが削除され、メインメニューは[ファイル]および[実行]メニューと、限られたオプションのみになります。例として、モデルを管理ユーザーや、FlexSimを使用していないユーザーに配布する場合、この環境は非常に便利です。
  • モジュール環境 - モジュールを使用して、好きなだけの数の環境を定義できます。モジュール内にデフォルト環境を定義でき、この場合はFlexSimが開始するとき、自動的にその環境が開きます。
  • モデル環境 - 個別のモデル内にも環境を定義できます。これにより、特定のモデルが開くとき、指定の環境に切り替える、またはデフォルトで環境を開くことができます。たとえば、モジュールを使用してモデルに環境をインストールすると、そのモデルが開くたびに、その環境がデフォルトで開きます。モデルを同僚に配布すると、元のモジュールを配布しなくても、相手は関連付けられた環境を使用できます。

環境の作成

環境の作成

モジュールに環境を追加するのはごく簡単です。モジュールノード(MAIN:/modules/SomeModule)で、environmentsという名前のノードを追加します。このノードはモジュールのinstalldataノードの兄弟です。このノード内に、環境の名前を持つノードを作成します。この環境ノードには、モジュールと同様にinstalldataノードが含まれている必要があります。このノードは、環境の追加と置き換えを格納するために使用されます。最終的な構造は次のようになります。

ExpressIt3Dモジュールには、同じ名前の単一の環境があります。オプションのeventsノードも表示されています。環境イベントについては以下で説明します。

モデルの環境を定義する場合も、modulesノードと同じ構造に従う必要があります。これは、将来の開発において、モデルがモジュールと同様に独自の変更をFlexSimに適用する可能性があるため、それに対応するためのものです。

この操作が完了したら、次の関数を呼び出して環境を更新します。

applicationcommand("refreshenvironments");

モデルの環境は、モデルの保存時に同時に保存されます。モジュールの環境は、次の関数を呼び出してモジュールを保存するとき、同時に保存されます。

applicationcommand("savedefaultviewproject");

モデルの環境の注意事項

モデルの環境が存在する場合、その環境には通常と同様にノードの追加と削除を行えます。ただし、環境のワークスペースは保存できません。これは、モデルが現在のワークスペースを保存するためです。このため、縮小版のインターフェイス、たとえば単純なメニューとツールバーだけのものを作成するには、次の操作を行います。まず、モジュールの環境の場合と同様に、ノードを追加および削除し、環境オプションを設定します。次に、OnModelOpenにユーザーイベントを追加し、モデルが開いたときその環境に切り替わるようにします。最後にUIを、必要なウィンドウのみが開いており、正しい位置に置かれた状態にセットアップします。その後で、モデルを保存します。モデルを開くと環境が適用され、ワークスペースが復元されます。

環境への切り替え

モデルやモジュールに環境が追加され、環境が更新されると、ユーザーツールバーの右側にボタンが表示されます。 このボタンは、切り替え可能なすべての環境のリストを表示します。

また、次のコマンドも使用できます。

applicationcommand("switchtoenvironment", "Environment Name");

イベントの順序

環境が切り替わるときは、次のイベントがこの順序で発生します。

  1. 現在の環境(デフォルトのFlexSim環境以外)が存在する場合、環境のオプションのOnPreLeaveコマンドが起動します。
  2. installdataノードに定義されている、現在の環境に加えられたすべての変更が取り消されます。
  3. 環境で、オプションのOnPackイベントが発生します。
  4. インターフェイスが、環境を含まないように更新されます。
  5. 環境で、オプションのOnLeaveイベントが発生します。
  6. 切り替え先の環境で、オプションのOnPreEnterイベントが発生します。
  7. 切り替え先の環境で、installdataノードからデータがアンパックされ、定義済みの変更すべてが適用されます。
  8. 切り替え先の環境で、オプションのOnUnpackイベントが発生します。
  9. 切り替え先の環境にデフォルトワークスペースが存在する場合、そのワークスペースが開きます。
  10. 切り替え先の環境で、オプションのOnEnterイベントが発生します。

環境を終了し、FlexSimのデフォルトビューに戻す場合は、次のコマンドを使用します。

applicationcommand("switchtoenvironment", 0);

スクリプトウィンドウや[環境]ボタンを使用できない場合、Ctrl + Alt + Eを押して環境を終了できます。

環境の編集

環境にノードを追加、または置き換えるには、その環境を開いている必要があります。環境が開いている状態で、ツリーのノードを右クリックすると、[現在の環境]メニューオプションが表示されます。現在の環境が存在しない場合、このオプションは無効になっています。

モジュールと同様に、[追加として追加]で環境にノードを追加し、[置き換えとして追加]でノードを置き換え、[削除]で追加または置き換えを削除します。

注:ノードを置き換えるとき、置き換えられたノードを編集する前に、必ず[置き換えとして追加]を選択してください。これにより、ノードの現在の状態のコピーが、環境のinstalldataに置かれます。

アクティブビューを環境のデフォルトとして保存]オプションを使用すると、ワークスペースの現在の状態が、ドッキングやフローティングのすべてのウィンドウも含めて保存され、その環境が最初に開いたとき、同時に開きます。ユーザーが環境を開いて、ウィンドウ構成を変更してから環境を終了すると、最後の構成が保存され、ユーザーが環境を再度開くと、その構成に戻ります。これは、標準FlexSimの機能でもあります。ユーザーが環境を開くと、モデルはFlexSimのワークスペースを別に保存しておき、環境が閉じているときにはこのFlexSimのワークスペースを使用します。これによりユーザーは、複数の環境とFlexSimとの間を、よりシームレスに切り替えできます。

環境イベント

  • OnPreEnter - その環境に最初に切り替えるとき、変更が適用される前に発生します。
  • OnUnpack - 切り替え先の環境で、installdataノードからすべての変更が適用されたとき発生します。
  • OnEnter - 切り替え先の環境で、すべての変更が適用されたときに発生します。
  • OnPreLeave - 現在の環境が閉じるとき、変更が取り消される前に発生します。
  • OnUnpack - 現在の環境からすべての変更が取り消され、installdataノードにパックされた後で発生します。
  • OnLeave - 終了する環境で、すべての変更が取り消されたときに発生します。

環境のオプション

環境のオプションにより、ツリー内では使用できないFlexSimの要素を変更できます。[実行]およびFlexSimツールバーで多少の変更を加えることはできますが、完全に置き換えるのは悪い結果となります。これは、BackPanelについても同じです。環境のワークスペースを変更するには、ワークスペースを希望のレイアウトに設定してから、[アクティブビューを環境のデフォルトとして保存]を選択します。[現在の環境]メニューオプションは、ツリービューを右クリックするか、タブペインの右にある空間を右クリックすると表示されます。

[実行]ツールバーとFlexSimツールバーのアイテムに変更を加えられますが、これらのアイテムを完全に削除する、またはBackPanelのYの場所を変更するには、次のオプションを使用します。

  • backPanelSpatialY - VIEW:/active/MainPanel/BackPanelノードのspatialy値を指定し、環境の設定時に正しい場所に再配置します。
  • toolPanelSpatialY - FlexSimツールバーのspatialy値を指定します。
  • toolPanelSizeY - FlexSimツールバーのspatialsy値を指定します。
  • toolPanelDividerSpatialY - FlexSimツールバーと[実行]ツールバーの間にあるディバイダー線のspatialy値を指定します。
  • runPanelSpatialY - [実行]ツールバーのspatialy値を指定します。
  • runPanelSizeY - [実行]ツールバーのspatialsy値を指定します。
  • runPanelDividerSpatialY - [実行]ツールバーとBackPanelの間にあるディバイダー線のspatialy値を指定します。
  • applicationTitle - メインウィンドウに表示されるアプリケーションタイトルを定義します。
  • enterOnApplicationStart - この値が1なら、FlexSimが起動したとき、またはモデルの環境ではモデルが開くとき、FlexSimはこの環境で開きます。