1
1

Revit api FilteredElementCollector CheetSheet

Posted at

#目次
1.はじめに
2.内容い
3.エリア境界線 AreaSchemeLines
4.内容は
5.おわりに

1.はじめに

FilteredElementCollector関数とは

FilteredElementCollector は、Revit API で要素(エレメント)を収集するために使用される強力なクラスです。このクラスは、Revitドキュメント内の様々なエレメントをフィルタリングし、特定の条件に合致するエレメントのリストを取得するために使われます。
RevitApiにおけるElementとは”全ての要素(物理オブジェクトや注釈オブジェクト、システムファミリなど)”を表す基本的なクラスです。そのため、なにかを取得したい時は、ほぼ必ずFilteredElementCollectorを使用することで解決します。

FilteredElementColectorの基本構造

1. コレクターのインスタンス化
ドキュメントを引数にして FilteredElementCollector のインスタンスを作成します。

qiita.cs
FilteredElementCollector collector = new FilteredElementCollector(doc);

2. フィルタリングの追加
OfCategory や OfClass メソッドを使用して、収集するエレメントの種類を絞り込みます。

qiita.cs
collector.OfCategory(BuiltInCategory.OST_Walls);  // 壁カテゴリをフィルタリング

3. 結果の取得
ToElements メソッドや ToList メソッドを使って、フィルタリングされた結果を取得します。

qiita.cs
IList<Element> elements = collector.ToElements();

2.壁 walls

qiita.cs
FilteredElementCollector areaBoundaryCollector = new FilteredElementCollector(doc, activeView.Id)
    .OfCategory(BuiltInCategory.OST_Walls) 
    .WhereElementIsNotElementType();

3. エリア境界線 AreaSchemeLines

qiita.cs
FilteredElementCollector areaBoundaryCollector = new FilteredElementCollector(doc, activeView.Id)
    .OfCategory(BuiltInCategory.OST_AreaSchemeLines) 
    .WhereElementIsNotElementType();

4. 一般注釈 GenericAnnotation

qiita.cs
FilteredElementCollector collector = new FilteredElementCollector(doc)
    .OfCategory(BuiltInCategory.OST_GenericAnnotation)
    .OfClass(typeof(Family));

5. 今後自身のチートシート用として、追加していく予定です。

参考文献

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1