Autodesk.Revit.DB.FilterInverseRule是Revit API中的一个过滤规则类,它表示对给定过滤规则集合的补集的筛选规则。
Autodesk.Revit.DB.FilterInverseRule类有两个构造函数:
FilterInverseRule([FilterRule] filterRule)
使用给定的过滤规则来实例化FilterInverseRule类。
FilterInverseRule([IList[FilterRule]] filterRules)
使用给定的过滤规则列表来实例化FilterInverseRule类。
Autodesk.Revit.DB.FilterInverseRule类有两个重要的方法:
GetClassName()
获取当前对象的类名。
GetHashCode()
获取当前对象的哈希码。
以下示例演示了如何使用Autodesk.Revit.DB.FilterInverseRule类过滤不是墙类型的所有元素:
# 定义墙类型
wall_type = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Walls).FirstElement().GetTypeId()
# 定义墙的过滤规则
wall_filter = ElementIdFilter(wall_type)
# 定义除墙以外的元素过滤规则
not_wall_filter = Autodesk.Revit.DB.FilterInverseRule(wall_filter)
# 应用筛选器并获取过滤结果
elements = FilteredElementCollector(doc).WherePasses(not_wall_filter).ToElements()
https://www.revitapidocs.com/2015/a740d44e-095c-d32b-2d9a-5f3b373aa115.htm