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