Autodesk.Revit.DB.FilterIntegerRule是Revit API中的一种规则,用于过滤整数类型的属性值。这个规则可以用来筛选Revit模型中的元素。
Autodesk.Revit.DB.FilterIntegerRule有两种构造函数,分别称为:
FilterIntegerRule(ParameterId parameterId, BuiltInParameterOperator builtInParameterOperator, int value)
FilterIntegerRule(ElementId elementId, ParameterId parameterId, BuiltInParameterOperator builtInParameterOperator, int value)
这些构造函数允许用户指定元素的属性类型、运算符以及所需属性值,在创建或更改Autodesk.Revit.DB.Filter中的规则时起到重要作用。
Autodesk.Revit.DB.FilterIntegerRule具有以下属性:
ParameterId
: 其表示元素属性的唯一标识符。BuiltInParameterOperator
: 它指定了用于计算布尔结果的运算符,如等于、大于、小于等。Value
: 它是与操作符一起用于计算布尔结果的值。以下是一个使用Autodesk.Revit.DB.FilterIntegerRule的简单示例:
//Filter a list of elements to only include those with an integer parameter value greater than 5
BuiltInParameter parameterName = BuiltInParameter.AREA_SCHEME_PROPERTY_TYPE;
ParameterId parameterId = new ParameterId(parameterName);
ElementId elementId = new ElementId(123); //find elements within a specific group
BuiltInParameterOperator operatorType = BuiltInParameterOperator.GREATER_THAN;
int value = 5;
FilterIntegerRule rule = new FilterIntegerRule(elementId, parameterId, operatorType, value);
FilteredElementCollector collector = new FilteredElementCollector(doc);
List<Element> elements = collector.WherePasses(rule).ToList();
在这个例子中,我们创建了一个Autodesk.Revit.DB.Filter类型的规则,该规则将筛选符合条件的元素。我们指定了要筛选的元素属性(面积计划属性类型)以及要筛选元素的最小整数值(5)。我们还举了一个例子,通过在构造函数中传入一个实际元素id来规定快速过滤特定元素。最后我们将这个规则应用于FilteredElementCollector,用于搜索Revit的元素并返回符合特定条件的元素列表。