FilterNumericGreater
是Revit API中的一种过滤器类型,用于过滤数值型参数。
以下是FilterNumericGreater
过滤器的用法示例:
// 创建一个大于200的过滤器
ParameterValueProvider provider = new ParameterValueProvider(new ElementId(BuiltInParameter.WALL_HEIGHT_PARAM));
FilterNumericGreater filter = new FilterNumericGreater(provider, 200);
// 使用该过滤器获取数据
FilteredElementCollector collector = new FilteredElementCollector(document);
collector.WherePasses(filter);
List<Element> elements = collector.ToElements().ToList();
FilterNumericGreater
有两个构造函数可用。
FilterNumericGreater(ParameterValueProvider, double)
使用指定的参数值提供程序和数值创建一个大于指定数值的FilterNumericGreater
过滤器。
FilterNumericGreater(ParameterValueProvider, double, double)
使用指定的参数值提供程序、数值和容差范围创建一个大于指定数值且误差在容差范围内的FilterNumericGreater
过滤器。
FilterNumericGreater
的构造函数需要以下参数:
provider
ParameterValueProvider
类型,提供要过滤的参数的值。
value
double
类型,要比较的数值。
tolerance
double
类型,误差值,默认为0,表示不允许有误差。
以下示例演示如何使用FilterNumericGreater
过滤器,查找高度大于200的墙体元素:
ParameterProvider provider = new ParameterValueProvider(new ElementId(BuiltInParameter.WALL_HEIGHT_PARAM));
FilterNumericGreater filter = new FilterNumericGreater(provider, 200);
FilteredElementCollector collector = new FilteredElementCollector(doc);
ICollection<Element> collection = collector.WherePasses(filter).ToElements();
FilterNumericGreater
过滤器时,应该明确过滤的是哪种类型的参数。 如果使用错误的参数类型,可能会导致应用程序不稳定。