Autodesk.Revit.DB.FilterNumericEquals
是 Revit API 中的一个过滤器,用于通过数字相等的条件来过滤 Revit 文档中的元素。它可以在视图、元素集合或者文档中使用。
Autodesk.Revit.DB.FilterNumericEquals(parameterId: ElementId, value: float, tolerance: float)
parameterId
:元素的参数 ID。value
:数值。tolerance
:容差值。返回 Autodesk.Revit.DB.ElementFilter
对象。
uidoc = __revit__.ActiveUIDocument
doc = uidoc.Document
# 获取所有构件中,高度参数值等于 3 m 的构件
height_param = BuiltInParameter.HOST_HEIGHT_PARAM
height_id = ElementId(height_param)
numeric_filter = FilterNumericEquals(height_id, 3000, 0.001)
elements = FilteredElementCollector(doc).WherePasses(numeric_filter).ToElements()
在这个例子中,代码使用了 FilterNumericEquals
过滤器来获取所有高度为 3 米的构件。首先,我们获得了高度参数的 ID,接着我们创建了一个 FilterNumericEquals
对象,将 ID、数值和一个容差值传递给它。然后,我们使用过滤器来获取 Revit 文档中所有符合条件的元素。
注意:容差值是可选的,具体取决于需要多精确的匹配。在这个例子中,我们将容差值设置为 0.001 米。