PPT_LOGO_4b
Revit Programming Introduction <#>
Copyright © 2009 Autodesk Inc.
要素のフィルターリングの比較(C#)
•フィルターリング無し
•public static ElementSet GetAllWalls_noFilter( Application app )
•{
•  ElementSet elems = app.Create.NewElementSet();
•  ElementIterator iter = app.ActiveDocument.Elements;
•  while( iter.MoveNext() )
•  {
•    Element elem = iter.Current as Element;
•    if( elem is Wall )
•    {
•      elems.Insert( elem );
•    }
•  }
•  return elems;
•}
•フィルターリング有り
•public static List<Element> GetAllWalls( Application app )
•{
•  List<Element> elements = new List<Element>();
•  Filter filterType = app.Create.Filter.NewTypeFilter( typeof( Wall ) );
•  app.ActiveDocument.get_Elements( filterType, elements );
•  return elements;
•}
要素コレクション
此処ではC#によるWallクラスの要素の取得をフィルタリングの有無で行っています。
取得される結果は同じですが、コードの簡素さとパフォーマンスからフィルタリング機能を御利用頂く事を強くお勧めしております。