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

タイトル: 「グループ」について
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メソッドを活用して、作業の生産性を向上させましょう。