研究这些示例以了解如何构建基于规则的过滤器并应用到视图。
可以创建多个规则和多个规则集。规则集可以进行嵌套。
您可以定义的规则和规则集没有数量限制。使用 AND 和 OR 条件和嵌套来仔细规划过滤规则,以确保获得所需的结果。
规则集使用 AND 条件时,其所有规则和嵌套规则集必须为 true。
请看下面的样例:
结构用途 = "剪力" AND 防火等级 = "2 小时"
在规则集使用 OR 条件时,其一个或多个规则或者嵌套规则集必须为 true。
如果要为参数选择多个值,请为每个值添加一个规则。使用 OR 条件将这些规则嵌套在规则集下。
请看下面的样例:
类型名称包含 "混凝土"
OR 类型名称包含 "CMU"
OR 结构材质 = "混凝土砌块"
OR 结构材质 = "混凝土,现场浇注灰色"
过滤器规则包含嵌套规则集时,请按正确顺序以及相应的嵌套谨慎使用 AND 和 OR 条件。
对于某些结果,必须使用嵌套 OR 的 AND 条件。对于其他结果,必须使用嵌套 AND 的 OR 条件。结果可能迥然不同,必须非常小心地使用适当过滤器规则才能达成您的目标。
目标:您想要识别该模型中所有拥有 2 小时防火等级并且由混凝土制成的剪力墙。
在您的模型中,墙类型的名称可能包含单词“混凝土”或“CMU”,或使用“结构材质”参数指示其材料。
如果您使用嵌套在 OR 规则集内的 AND 规则集创建以下过滤器,将不会达成目标。
类型名称包含 "混凝土"
OR 类型名称包含 "CMU"
OR 结构材质 = "混凝土砌块"
OR 结构材质 = "混凝土,现场浇注灰色"
OR (结构用途 = "剪力" AND 防火等级 = "2 小时")
在此情况下,要识别该模型中所有拥有 2 小时防火等级并且由混凝土制成的剪力墙,您必须从 AND 规则集开始,并在其中嵌套 OR 规则集,如下所示:
结构用途 = "剪力"
AND 防火等级 = "2 小时"
AND (类型名称包含 "混凝土" OR 类型名称包含 "CMU" OR 结构材料 = "混凝土砌块" OR 结构材质 = "混凝土,现场浇注灰色")
这些示例证明了为什么您必须仔细考虑试图获得的结果,以及为什么设计过滤器并彻底进行测试如此重要。