Autodesk.Revit.DB.FilterStringRuleEvaluator
是一种基于字符串规则的过滤器,可以帮助开发者根据指定的规则快速过滤Revit中的元素。
FilterStringRuleEvaluator evaluator = new FilterStringRuleEvaluator(
ParameterType, // 过滤器所针对的参数类型
RuleString, // 过滤规则字符串
CaseSensitive, // 规则是否区分大小写
SearchMode // 过滤模式,支持通配符和正则表达式
);
参数说明:
ParameterType
:需要指定待过滤的参数类型,可以是以下之一:
BuiltInParameter
Guid
int
string
Parameter
RuleString
:指定过滤规则的字符串,可以是通配符或者正则表达式CaseSensitive
:指定规则是否区分大小写,取值为true
或false
SearchMode
:指定过滤模式,可以是以下之一:
Contains
:包含指定字符串Equals
:等于指定字符串StartsWith
:以指定字符串开头EndsWith
:以指定字符串结尾RegularExpression
:使用正则表达式进行匹配FilterStringRuleEvaluator evaluator = new FilterStringRuleEvaluator(
BuiltInParameter.ELEM_CATEGORY_PARAM, // 过滤器所针对的参数类型
"Electrical*", // 过滤规则字符串,以Electrical开头的元素将被匹配
true, // 规则是否区分大小写
SearchMode.StartsWith // 过滤模式为以指定字符串开头
);
FilteredElementCollector collector = new FilteredElementCollector(doc);
collector.WherePasses(new ElementParameterFilter(evaluator));
List<Element> matchedElements = collector.ToElements().ToList();
Autodesk.Revit.DB.FilterStringRuleEvaluator
是一项十分有用的工具,可用于快速筛选出符合指定规则的Revit元素,提高开发效率。同时,通过所提供的不同语法和过滤模式,无论是初学者还是熟练开发者都可以在各自的项目中进行实际使用。