Autodesk.Revit.DB.ElementMulticlassFilter 是一种 Revit API 中的筛选器类型,用于筛选多种元素类别。
Autodesk.Revit.DB.ElementMulticlassFilterpublic ElementMulticlassFilter(IEnumerable<Type> types)根据元素类别类型列表创建元素多类筛选器。
public IEnumerable<Type> Classes { get; set; }获取或设置元素类别类型列表。
// 创建元素多类筛选器,筛选墙、楼板、梁
ElementMulticlassFilter filter = new ElementMulticlassFilter(new List<Type>()
{
typeof(Wall),
typeof(Floor),
typeof(Beam)
});
// 在文档中查找符合筛选器条件的所有元素
FilteredElementCollector collector = new FilteredElementCollector(document);
List<Element> elements = collector.WherePasses(filter).ToList();
以上示例中创建了一个元素多类筛选器,指定了需要筛选的元素类别:Wall(墙)、Floor(楼板)和 Beam(梁)。
然后,使用 FilteredElementCollector 类查找文档中符合筛选器条件的所有元素,并将结果存储在 List<Element> 类型的变量 elements 中供后续使用。
Classes 属性是可写的,可以动态修改筛选器中的元素类别类型列表。