要素をグループ化する

要素をグループ化する

Revit プラットフォーム API は Creation.Document.NewGroup()メソッドを使用して、1 つまたは複数の要素やグループを選択して結合します。配置されたグループの各インスタンス間では自動調整が行われます。たとえば、グループの作成をベッド、壁、窓などで行ってから、プロジェクトに該当グループの複数インスタンスを配置します。あるグループについて壁を修正する場合、その変更はグループ内の全インスタンスに対して行われます。これにより、同じグループに属している複数のインスタンスを変更できるため、建築モデルを修正する作業が非常に簡単になります。

コード領域 10-9: グループを作成

Group group = null;
UIDocument uidoc = new UIDocument(document);
ICollection<ElementId> selectedIds = uidoc.Selection.GetElementIds();

if (selectedIds.Count > 0)
{
    // Group all selected elements
    group = document.Create.NewGroup(selectedIds);

}

最初、グループには汎用的な名前(グループ 1 など)が付けられます。次のように、グループのタイプの名前を変更することでグループの名前を修正できます。

コード領域 10-10: グループに名前を付ける

// Change the default group name to a new name "MyGroup"
group.GroupType.Name = "MyGroup";

Revit には、モデル グループ、詳細グループ、アタッチされた詳細グループの 3 つのタイプのグループがあります。すべて NewGroup()メソッドを使用して作成します。作成されるグループのタイプは渡される要素によって異なります。

注: 要素をグループ化すると、プロジェクトから削除できます。

要素をグループ化すると、移動や回転することはできません。グループ化された要素に対してこれらの操作を実行すると、要素には何も起こりませんが、Move()メソッドや Rotate()メソッドが True を返します。

寸法とタグは、その参照先である要素をグループ化しないと、グループ化できません。グループ化すると、API の呼び出しは失敗します。

モデル グループ内のモデル要素を参照する寸法とタグをグループ化することができます。寸法とタグは、アタッチされた詳細グループの中に追加されます。アタッチされた詳細グループは、親グループに対して同じ操作を実行しないと、移動、コピー、回転、配列複写、鏡像化することができません。