20.

Revit APIの「グループ」について

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

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メソッドを活用して、作業の生産性を向上させましょう。

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
  1. RevitAPI.dll と RevitAPIUI.dll の参照
  2. マニフェストファイルの書き方
  3. アドインの追加/設置方法
  4. アドインの作成サンプル(外部ツール編)
  5. アドインの作成サンプル(外部アプリケーション編)
  6. 要素の取得と情報の表示
  7. 要素のカテゴリとマテリアルの取得と表示
  8. よく使うBuiltInCategoryの一覧
  9. 外部ツールでAutodesk.Revit.Documentを取得する方法
  10. エラーメッセージの設定方法
  11. 「はい」、「いいえ」、「キャンセル」ボタンの設置と処理分岐
  12. 要素(カテゴリ、ファミリ、タイプ)とは
  13. ElementId とUniqueId の違い
  14. 要素フィルターの使い方
  15. 要素のパラメータ一覧の取得
  16. pyRevitの導入と簡単なアプリケーションの作成
  17. Revit SDKのサンプルの場所とビルド方法
  18. FamilySymbol(タイプ)の取得とパラメータの変更
  19. 相対パスでdllにアイコン画像を埋め込む方法
  20. 「グループ」について