3Dオブジェクトグループを作成する
3Dオブジェクトグループの概要
[グループ]ツールを使用すれば、共通のロジック関数を備えた3Dオブジェクトを整理して別々のグループに分類することができます。たとえば、プロセッサのタイプ別にグループを作成することができます。溶接ステーションを表すプロセッサのセットと塗装ステーションを表すプロセッサのセットがあるとします。このようにタイプが異なるステーションごとにオブジェクトグループを作成することができます。
オブジェクトグループを作成したら、そのグループを処理フロー内のリソース共有アセットにリンクすることができます(リソース共有アセットの詳細については、「共有アセットについての主要な概念」を参照してください)。これによって、リソースは、シミュレーションの実行中に、オブジェクトグループ内の現在空いているメンバーを選択することができます。たとえば、処理フローで、グループからオペレーターを選出して、特定のタスクを処理する作業に割り当てたり、グループからプロセッサを選出して、フローアイテムの宛先にするプロセッサを選択したりできます。
次の例は、WeldingStationsグループとPaintingStationsグループという2つのプロセッサグループを示しています。各グループは、モデルのロジックを制御する処理フロー内のリソース共有アセットにリンクされています。これらのプロセッサが空いている場合は、フローアイテムによって取得できます。特定のグループ内のどのプロセッサも空いていない場合は、フローアイテムがキューで待機します。
グループについての主要な概念
ここからは、3Dオブジェクトグループに関して留意すべき主要な概念について説明します。
3Dオブジェクトグループはモデルのスケールを容易にする
グループツールを使用すれば、複雑になるほど、モデルのロジックをより簡単にスケールすることができます。3Dオブジェクトをモデルに追加またはモデルから削除する場合は、処理フローでセットアップしたロジックを更新することなくその3Dオブジェクトを追加または削除できます。
たとえば、新しい溶接ステーションを追加するか、塗装ステーションを削除する場合は、プロセッサをそれぞれのグループに追加するか、それぞれのグループから削除するだけで済みます。処理フロー内のこれらのグループにリンクしているリソース共有アセットは、これらの変更の影響を受けません。3Dオブジェクトを追加または削除するたびにモデルのロジックを更新する必要がないため、モデルの構築時間を節約できます。
グループは実験ツールとうまく連動する
実験ツールを使用して実験を行う場合もグループは重要です。実験ツールには、特定のグループ内のオブジェクトの数に基づいてさまざまな統計結果をテストするためのオプションが用意されています。たとえば、特定のスループットを維持したり、遅延を削減したりするために必要な理想的な数のスタッフまたはマシンを割り出すための実験を行うことができます。
オブジェクトは複数のグループに属することができる
必要に応じて、1つの3Dオブジェクトを複数のグループに配置できることを覚えておいてください。たとえば、溶接機の操作の訓練を受けたオペレーターのグループと塗装機の操作の訓練を受けたオペレーターのグループを作成するとします。オペレーターのタイプ別にグループを作成できます。ただし、両方の分野の訓練を受けたオペレーターがいる場合は、そのオペレーターを両方のグループのメンバーにすることができます。
グループは親グループに属することができる
親グループとは、1つ以上のサブグループを持つグループのことです。このトピックの「概要」セクションで使用した例に戻って、WeldingStationsグループとPaintingStationsグループの両方を子グループとして持つAllMachinesという名前の別のオブジェクトグループを作成できます。
シミュレーションモデルのロジックにとって重要で、何らかの方法で関連するグループの階層を作成したい場合に、親グループを使用できます。たとえば、終業時間がきたらすべてのマシンをシャットダウンするためにAllMachinesグループを使用できます。
人オブジェクトはデフォルトで親グループを作成します。これらの3Dオブジェクトのいずれかをシミュレーションモデルに追加すると、そのオブジェクトがそのタイプ(場所、スタッフ、輸送など)に基づいて自動的に一般グループに追加されます。後でこれらのオブジェクトのタイプのいずれかのさらに細かいグループを作成すると、その一般グループがさらに細かいグループの親グループになります。
たとえば、診察台をシミュレーションモデルに追加すると、このオブジェクトは自動的に一般場所グループに属することになります。その後で、ExamTablesという名前の新しいグループを作成して、すべての診察台をそのグループに配置すると、ExamTablesグループがデフォルトでLocationsグループの子になります。
3Dオブジェクトグループのタイプ
[グループ]ツールを使用すれば、さまざまなタイプの3Dオブジェクトグループを作成することができます。一般3Dオブジェクトグループを除いて、これらのグループタイプのほとんどが人オブジェクトによって使用されます。人オブジェクトは、3Dオブジェクトライブラリ内の特定のオブジェクトのカテゴリです。
ここからは、さまざまなタイプのグループについて詳しく説明します。
一般グループ
一般3Dオブジェクトグループは、人オブジェクトではない3Dオブジェクトのグループです。非人オブジェクトをグループに追加すると、通常は、それが一般3Dオブジェクトグループに追加されます。
[ツールボックス]では、これらのグループが[グループ]フォルダに表示されます。
一般グループはデフォルトで親グループを持ちませんが、モデルを整理するのに役立つ場合やモデルのロジック関数に不可欠な場合は、親グループを作成することができます。詳細については、「一般3Dオブジェクトグループの親グループを作成する」を参照してください。
場所グループ
場所グループは、場所オブジェクトである人オブジェクトのグループです。場所オブジェクトは、3Dオブジェクトライブラリの人カテゴリで見つかる特定のオブジェクトのサブカテゴリです。
場所オブジェクトを3Dモデルに追加すると、それが自動的に[ツールボックス]の[場所]グループに追加されます。場所グループは、[ツールボックス]の[人]フォルダのサブフォルダ内の[グループ]フォルダの下で見つかります。場所オブジェクトをカスタムグループに追加すると、そのカスタムグループも[ツールボックス]のそのサブフォルダの下に表示されます。
デフォルトで、作成したすべてのカスタム場所グループに親グループとして[場所]グループが割り当てられます。
スタッフグループ
場所グループと同様に、スタッフグループは、スタッフオブジェクトである人オブジェクトのグループです。スタッフオブジェクトは、3Dオブジェクトライブラリの人カテゴリで見つかる特定のオブジェクトのサブカテゴリです。
スタッフオブジェクトを3Dモデルに追加すると、それが自動的に[ツールボックス]の[スタッフ]グループに追加されます。[スタッフ]グループは、[ツールボックス]の[人]フォルダのサブフォルダ内の[グループ]フォルダの下で見つかります。スタッフ3Dオブジェクトをカスタムグループに追加すると、そのカスタムグループも[ツールボックス]のそのサブフォルダの下に表示されます。
デフォルトで、作成したすべてのカスタムスタッフグループに親グループとして[スタッフ]グループが割り当てられます。
輸送グループ
場所グループやスタッフグループと同様に、輸送グループは、輸送オブジェクトである人オブジェクトのグループです。輸送オブジェクトは、3Dオブジェクトライブラリの人カテゴリで見つかる特定のオブジェクトのサブカテゴリです。
輸送オブジェクトを3Dモデルに追加すると、それが自動的に[ツールボックス]の[輸送]グループに追加されます。[輸送]グループは、[ツールボックス]の[人]フォルダのサブフォルダ内の[グループ]フォルダの下で見つかります。輸送3Dオブジェクトをカスタムグループに追加すると、そのカスタムグループも[ツールボックス]のそのサブフォルダの下に表示されます。
デフォルトで、作成したすべてのカスタム輸送グループに親グループとして[輸送]グループが割り当てられます。
機器グループ
場所グループやスタッフグループと同様に、機器グループは、機器オブジェクトである人オブジェクトのグループです。機器オブジェクトは、3Dオブジェクトライブラリの人カテゴリで見つかる特定のオブジェクトのサブカテゴリです。
機器オブジェクトを3Dモデルに追加すると、それが自動的に[ツールボックス]の[機器]グループに追加されます。[機器]グループは、[ツールボックス]の[人]フォルダのサブフォルダ内の[グループ]フォルダの下で見つかります。機器3Dオブジェクトをカスタムグループに追加すると、そのカスタムグループも[ツールボックス]のそのサブフォルダの下に表示されます。
デフォルトで、作成したすべてのカスタム機器グループに親グループとして[機器]グループが割り当てられます。
一般3Dオブジェクトグループを作成する
一般3Dオブジェクトグループを作成するには:
- 3Dオブジェクトグループのメンバーにするオブジェクトをシミュレーションモデルに追加します。
- オブジェクトのいずれかを右クリックしてメニューを開きます。[オブジェクトグループ]をポイントしてから、[新しいグループに追加]を選択します。
- これで、新しいグループのプロパティウィンドウが開きます。プロパティウィンドウで、グループの名前をより分かりやすい名前に変更します。
- 選択した3Dオブジェクトがそのグループのメンバーとして表示されていることを確認します。完了したら、グループプロパティウィンドウを閉じます
または、通常のツールコンポーネントを追加するのと同じ方法で[ツールボックス]内で新しいグループを作成することもできます。詳細については、「ツールボックスを使用する - 新しいツールコンポーネントを追加する」を参照してください。
人オブジェクトグループを作成する
新しい人ベースの3Dオブジェクトグループを作成する方法は、一般グループを作成するプロセスに似ていますが、メニューオプションが若干異なります。人ベースのオブジェクトのいずれかの3Dオブジェクトグループを作成するには:
- 3Dオブジェクトグループのメンバーにするオブジェクトをシミュレーションモデルに追加します。
- オブジェクトのいずれかを右クリックしてメニューを開きます。右クリックした人オブジェクトのサブカテゴリによってメニューオプションが少しずつ異なります。たとえば、場所オブジェクトを右クリックした場合は、必要なメニューオプションに[新しい場所グループを追加]が表示されます。スタッフオブジェクトの場合は、メニューに[新しいスタッフグループを追加]と表示されます。以下同様です。グループを作成するオブジェクトのタイプに基づいて正しいメニューオプションを選択してください。
- これで、新しいグループのプロパティウィンドウが開きます。プロパティウィンドウで、グループの名前をより分かりやすい名前に変更します。
- 選択した3Dオブジェクトがそのグループのメンバーとして表示されていることを確認します。完了したら、グループプロパティウィンドウを閉じます
グループメンバーを追加する
新しいグループメンバーは、右クリックメニューを使用するか、グループプロパティウィンドウからグループメンバーをサンプリングすることによって追加することができます。どちらの方法も一般的な3Dオブジェクトに対して有効ですが、人オブジェクトを操作する場合は、前者の方法をお勧めします。
右クリックメニューを使用してグループメンバーを追加する
一般的な3Dオブジェクトと人オブジェクトを追加するためのメニューオプションは若干異なることに注意してください。右クリック方法を使用して、新しいメンバーを一般または人3Dオブジェクトグループに追加するには:
- 3Dモデル内のオブジェクトを右クリックして、メニューを開きます。
- オブジェクトが一般3Dオブジェクトの場合は、[オブジェクトグループ]をポイントしてから、そのオブジェクトを追加するグループの名前を選択します。
- オブジェクトが人オブジェクトの場合は、メニューオプションが右クリックした人オブジェクトのサブカテゴリによって異なります。たとえば、場所オブジェクトを右クリックした場合は、ポイントするメニューオプションは[場所グループ]であり、そのオブジェクトを追加する場所グループの名前を選択することになります。それがスタッフオブジェクトの場合は、メニューオプション[スタッフグループ]をポイントする必要があり、そのオブジェクトを追加するスタッフグループの名前を選択することになります。以下同様です。
- これで、オブジェクトが選択したグループに追加されます。必要に応じて、もう一度オプションを右クリックして正しいオブジェクトグループに移動することによって、そのオブジェクトが正しいグループに追加されたことを確認できます。オブジェクトがそのグループのメンバーの場合は、その名前の横にチェックボックスが表示されます。
- 必要に応じて、この手順を繰り返して、新しいオブジェクトをグループに追加します。
グループプロパティからグループメンバーを追加する
グループプロパティウィンドウで新しいメンバーをグループに追加するには:
- [ツールボックス]で、オブジェクトを追加するグループを探します。グループ名をダブルクリックして、そのプロパティウィンドウを開きます。
- グループプロパティウィンドウで、[サンプラー]ボタン をクリックしてサンプリングモードに入ります。
- 3Dモデルで、グループに追加する3Dオブジェクトをクリックしてそれをサンプリングします。そのオブジェクトがメンバーとしてグループリストに表示されます。
- 必要に応じて、この手順を繰り返して、新しいオブジェクトをグループに追加します。完了したら、グループプロパティウィンドウを閉じます
- 人オブジェクトグループを操作していた場合は、一般親グループ([場所]グループ、スタッフグループなど)を開いて、そこからそのオブジェクトを削除する必要があります。詳細については、次のセクションの「グループメンバーを削除する」を参照してください。
グループメンバーを削除する
グループメンバーは、右クリックメニューを使用するか、グループプロパティウィンドウからグループメンバーを削除することによって削除することができます。どちらの方法も一般3Dオブジェクトと人オブジェクトの両方に対して同じように正しく機能します。
右クリックメニューを使用してグループメンバーを削除する
一般3Dオブジェクトと人オブジェクトを削除するためのメニューオプションは若干異なることに注意してください。右クリック方法を使用して一般または人3Dオブジェクトグループからメンバーを削除するには:
- 3Dモデル内のオブジェクトを右クリックして、メニューを開きます。
- オブジェクトが一般3Dオブジェクトの場合は、[オブジェクトグループ]をポイントしてから、そのオブジェクトを削除するグループの名前を選択します。
- オブジェクトが人オブジェクトの場合は、メニューオプションが右クリックした人オブジェクトのサブカテゴリによって異なります。たとえば、場所オブジェクトを右クリックした場合は、ポイントするメニューオプションは[場所グループ]であり、そのオブジェクトを削除する場所グループの名前を選択することになります。それがスタッフオブジェクトの場合は、メニューオプション[スタッフグループ]をポイントする必要があり、そのオブジェクトを削除するスタッフグループの名前を選択することになります。以下同様です。
- これで、オブジェクトが選択したグループから削除されます。必要に応じて、この手順を繰り返して、新しいオブジェクトをグループから削除します。
グループプロパティからグループメンバーを削除する
グループプロパティウィンドウを使用してグループからメンバーを削除するには:
- [ツールボックス]で、オブジェクトを削除するグループを探します。グループ名をダブルクリックして、そのプロパティウィンドウを開きます。
- グループプロパティウィンドウで、メンバーリストから削除するオブジェクトの名前をクリックしてそれを選択します。
- [削除]ボタン をクリックして、リストからオブジェクトを削除します。
- 必要に応じて、この手順を繰り返して、新しいオブジェクトをグループから削除します。完了したら、グループプロパティウィンドウを閉じます
一般3Dオブジェクトグループの親グループを作成する
必要に応じて、3Dオブジェクトグループの親グループを作成できます(親グループの説明については、このトピックの冒頭にある「グループについての主要な概念」を参照してください)。
3Dオブジェクトグループの親グループを作成するには:
- 最初に、親グループを作成します。このグループを作成する場合は、通常のツールコンポーネントを追加するときと同様の方法で[ツールボックス]からグループを追加することになります。これは、メンバーが存在しない空のグループが作成されるためです。詳細については、「ツールボックスを使用する - 新しいツールコンポーネントを追加する」を参照してください。
- グループプロパティウィンドウで、親グループの名前をより分かりやすい名前に変更します。
- [サンプラー]ボタン をクリックして、サンプリングモードに入ります。
- [ツールボックス]で、使用可能なグループのリストを探します。子グループとして追加するグループをクリックしてそれをサンプリングします。
- これで、そのグループが、Group:というテキストで始まる名前でグループメンバーのリストに表示されます。この名前は、それがグループであって、3Dオブジェクトではないことを意味します。
- 必要に応じて、このプロセスを繰り返して、新しい子グループを追加します。グループプロパティウィンドウを閉じます。
3Dオブジェクトグループを処理フローにリンクする
オブジェクトグループの操作の最終ステップは、グループを処理フロー内のリソース共有アセットにリンクすることです。これを行う方法は、一般オブジェクトグループを操作しているのか、人オブジェクトグループを操作しているのかによって異なります。ただし、この2つのオブジェクトグループのプロセスはよく似ています。
一般3Dオブジェクトグループを処理フローにリンクする
一般3Dオブジェクトグループを処理フローにリンクするには:
- 処理フローを開いてアクティブにした状態で、[リソース]([共有アセット]の下)を処理フローに追加します。
- [リソース]が選択されていることを確認します。[クイックプロパティ]で[参照]ボックスの横にある矢印をクリックして、メニューを開きます。[グループ]をポイントしてから、この共有アセットにリンクするグループの名前を選択します。
- [カウント]ボックスが自動的に更新され、
Number of Group Members
が表示されることに注意してください。
別の方法として、[サンプラー]ボタン を使用して、リソースにリンクするグループのメンバーである3Dモデル内の3Dオブジェクトのいずれかをサンプリングすることもできます。開いているメニューに、そのオブジェクトが属しているすべてのグループが表示されます。
場所グループを処理フローにリンクする
人場所グループを処理フローにリンクするには:
- 処理フローを開いてアクティブにした状態で、[場所リソース]共有アセットを処理フローに追加します。
- [場所リソース]が選択されていることを確認します。[場所]ボックスの横にある[クイックプロパティ]で[サンプラー]ボタン をクリックして、サンプリングモードに入ります。
- 3Dモデルで、リソースにリンクする場所グループのメンバーのいずれかをクリックしてメニューを開きます。リンクするグループの名前を選択してそれをサンプリングします。場所グループの名前の前に場所アイコン が表示されます。
別の方法として、[クイックプロパティ]の[場所]ボックスの横にある矢印をクリックして、メニュー経由でリンクするグループに移動することもできます。
スタッフグループを処理フローにリンクする
人スタッフグループを処理フローにリンクするには:
- 処理フローを開いてアクティブにした状態で、[スタッフリソース]共有アセットを処理フローに追加します。
- [スタッフリソース]が選択されていることを確認します。[スタッフ]ボックスの横にある[クイックプロパティ]で[サンプラー]ボタン をクリックして、サンプリングモードに入ります。
- 3Dモデルで、リソースにリンクするスタッフグループのメンバーのいずれかをクリックしてメニューを開きます。リンクするグループの名前を選択してそれをサンプリングします。スタッフグループの名前の前にスタッフアイコン が表示されます。
別の方法として、[クイックプロパティ]の[スタッフ]ボックスの横にある矢印をクリックして、メニュー経由でリンクするグループに移動することもできます。
輸送グループを処理フローにリンクする
人輸送グループを処理フローにリンクするには:
- 処理フローを開いてアクティブにした状態で、[輸送リソース]共有アセットを処理フローに追加します。
- [輸送リソース]が選択されていることを確認します。[輸送]ボックスの横にある[クイックプロパティ]で[サンプラー]ボタン をクリックして、サンプリングモードに入ります。
- 3Dモデルで、リソースにリンクする輸送グループのメンバーのいずれかをクリックしてメニューを開きます。リンクするグループの名前を選択してそれをサンプリングします。輸送グループの名前の前に輸送アイコン が表示されます。
別の方法として、[クイックプロパティ]の[輸送]ボックスの横にある矢印をクリックして、メニュー経由でリンクするグループに移動することもできます。
機器グループを処理フローにリンクする
人機器グループを処理フローにリンクするには:
- 処理フローを開いてアクティブにした状態で、[機器リソース]共有アセットを処理フローに追加します。
- [機器リソース]が選択されていることを確認します。[機器]ボックスの横にある[クイックプロパティ]で[サンプラー]ボタン をクリックして、サンプリングモードに入ります。
- 3Dモデルで、リソースにリンクする機器グループのメンバーのいずれかをクリックしてメニューを開きます。リンクするグループの名前を選択してそれをサンプリングします。機器グループの名前の前に機器アイコン が表示されます。
別の方法として、[クイックプロパティ]の[機器]ボックスの横にある矢印をクリックして、メニュー経由でリンクするグループに移動することもできます。