Autodesk.Revit.DB.ElementMulticategoryFilter
是Revit API中一个类,用于创建一个过滤器,可以检索属于多个类别的元素。
该类有一个构造函数可以使用。
public ElementMulticategoryFilter(IEnumerable<BuiltInCategory> categories)
IEnumerable<BuiltInCategory>
类型,用于指定多个类别。该类包含以下几个方法:
该方法用于检查元素是否属于构造函数指定的多个类别之一。
public override bool PassesFilter(Element element)
Element
类型,用于检查的元素。true
,否则返回false
。该方法用于获取一个与该过滤器等效的分类过滤器。
public override ElementFilter GetClassFilter()
以下是使用Autodesk.Revit.DB.ElementMulticategoryFilter
的示例。该示例用于获取属于墙和地板类别的所有元素:
var wallCategory = BuiltInCategory.OST_Walls;
var floorCategory = BuiltInCategory.OST_Floors;
var categories = new List<BuiltInCategory>{wallCategory, floorCategory};
var elementMulticategoryFilter = new ElementMulticategoryFilter(categories);
var fec = new FilteredElementCollector(doc);
var elements = fec.WherePasses(elementMulticategoryFilter).ToElements();
Autodesk.Revit.DB.ElementMulticategoryFilter
是一个方便的类,可以帮助您检索属于多个类别的元素。要使用Autodesk.Revit.DB.ElementMulticategoryFilter
,您可以使用构造函数指定多个类别,并使用PassesFilter
和GetClassFilter
方法检查元素。