#目次
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. 今後自身のチートシート用として、追加していく予定です。
参考文献