この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:1
ページ更新者:T
更新日時:2025-02-03 13:09:46

タイトル: 「グループ」について
SEOタイトル: Revit APIの「グループ」について

Revitのグループは、複数の要素を一つにまとめて管理できる機能です。グループ化することで、同じセットの要素を繰り返し配置したり、一括で編集したりすることが可能になります。

たとえば、ホテルやオフィスのレイアウトを設計するとき、各部屋やワークスペースをグループ化すれば、後から簡単に変更できます。変更が必要になった際に、すべてのインスタンスが自動的に更新されるため、作業の効率が大幅に向上します。

グループの種類

Revitでは、主に2種類のグループを使用できます。

1. モデルグループ(Model Group)

建築要素(壁、ドア、家具など)をグループ化するための機能です。たとえば、アパートの一室をグループとして作成し、複数のフロアに同じレイアウトを適用できます。

2. 詳細グループ(Detail Group)

寸法記入や注釈、詳細線などの情報をグループ化するための機能です。たとえば、特定の詳細図で使用する注釈をグループ化し、異なるシートでも統一したデザインを適用できます。

グループの操作

グループの作成

Revitでグループを作成する方法は、以下の手順で行います。

1. グループ化したい要素を選択する。

2. 「修正」タブの「グループを作成」をクリックする。

3. グループの名前を設定する。

Revit APIを使う場合、以下のコードでグループを作成できます。


using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using System.Collections.Generic;

public void CreateGroup(Document doc, List elementIds)
{
    using (Transaction trans = new Transaction(doc, "Create Group"))
    {
        trans.Start();
        Group newGroup = doc.Create.NewGroup(elementIds);
        trans.Commit();
    }
}

グループの編集

作成したグループの要素を追加・削除したり変更したい場合は、「グループを編集」コマンドを使用します。

ただし、グループ内の個別の要素を直接編集すると、すべてのインスタンスに影響が及ぶ点に注意してください。

グループの解除

グループを解除すると、含まれていた要素は元の個別の状態に戻ります。

手動で解除するには、グループを選択し、「グループを解除」をクリックします。

Revit APIを使用する場合、以下のコードでグループを解除できます。


using Autodesk.Revit.DB;
using Autodesk.Revit.UI;

public void UngroupGroup(Document doc, Group group)
{
    using (Transaction trans = new Transaction(doc, "Ungroup Elements"))
    {
        trans.Start();
        group.UngroupMembers();
        trans.Commit();
    }
}

グループの削除

グループを削除すると、グループ内のすべての要素も削除されるため注意が必要です。

手動で削除するには、グループを選択して「Delete」キーを押します。

APIで削除する場合、以下のコードを使用します。


using Autodesk.Revit.DB;
using Autodesk.Revit.UI;

public void DeleteGroup(Document doc, Group group)
{
    using (Transaction trans = new Transaction(doc, "Delete Group"))
    {
        trans.Start();
        doc.Delete(group.Id);
        trans.Commit();
    }
}

すべてのグループを取得

Revitのモデル内にあるすべてのグループを取得するには、FilteredElementCollectorを使用します。


using Autodesk.Revit.DB;
using System.Collections.Generic;
using System.Linq;

public List GetAllGroups(Document doc)
{
    return new FilteredElementCollector(doc)
        .OfClass(typeof(Group))
        .Cast()
        .ToList();
}

グループとRevit APIの関係

以下の表は、Revit APIでのグループ関連の操作と対応するメソッドをまとめたものです。

操作API メソッド備考
グループ作成doc.Create.NewGroup(elementIds)要素IDのリストを渡す
グループ解除group.UngroupMembers()グループが削除される
グループ削除doc.Delete(group.Id)要素も削除される
グループ要素取得group.GetMemberIds()ElementId のリストを取得
すべてのグループ取得FilteredElementCollector.OfClass(typeof(Group))List に変換

まとめ

Revitのグループ機能を活用すれば、設計の効率を大幅に向上させることができます。特に、繰り返し使用するレイアウトを管理する場合に便利です。

Revit APIを利用すれば、グループの作成、編集、削除を自動化し、より効率的な作業が可能になります。適切なAPIメソッドを活用して、作業の生産性を向上させましょう。