ウォークスルー: フィルタした要素を取得する

ウォークスルー: フィルタした要素を取得する

フィルタを使用して、特定の条件を満たしている要素のみを選択できます。要素フィルタの作成と使用の詳細については、「要素のコレクションを反復する」を参照してください。

この例では、ドキュメントのすべてのドアを取得して、その ID を一覧表示するダイアログが表示されます。

コード領域 2-8: フィルタした要素を取得

// Create a Filter to get all the doors in the document
ElementClassFilter familyInstanceFilter = new ElementClassFilter(typeof(FamilyInstance));
ElementCategoryFilter doorsCategoryfilter = 
        new ElementCategoryFilter(BuiltInCategory.OST_Doors);
LogicalAndFilter doorInstancesFilter = 
        new LogicalAndFilter(familyInstanceFilter, doorsCategoryfilter);
FilteredElementCollector collector = new FilteredElementCollector(document);
ICollection<ElementId> doors = collector.WherePasses(doorInstancesFilter).ToElementIds();

String prompt = "The ids of the doors in the current document are:";
foreach(ElementId id in doors)
{
        prompt += "\n\t" + id.IntegerValue;
}

// Give the user some information
TaskDialog.Show("Revit",prompt);