可以在公式中使用条件语句,来定义族中取决于其他参数的状态的操作。
使用条件语句,软件会根据是否满足指定条件来输入参数值。 在某些情况下,条件语句是很有用的;但是,它们会使族变得更复杂,应仅在必要时使用。
对于大多数类型参数,条件语句是不必要的, 因为类型参数本身就像一个条件语句:如果这是类型,则将该参数设置为指定值。实例参数更适合用于条件语句,尤其是用于设置不连续变化的参数。
条件语句使用以下结构: IF (<条件>, <条件为真时的结果>, <条件为假时的结果>)
这表示输入的参数值取决于是满足条件(真)还是不满足条件(假)。如果条件为真,则软件会返回条件为真时的值。如果条件为假,则软件会返回条件为假时的值。
条件语句可以包含数值、数字参数名和 Yes/No 参数。在条件中可使用下列比较符号:<、>、=。还可以在条件语句中使用布尔运算符:AND、OR、NOT。当前不支持 <= 和 >=。要表达这种比较符号,可以使用逻辑值 NOT。例如,a<=b 可输入为 NOT(a>b)。
下面是使用条件语句的公式示例。
简单的 IF 语句: =IF (Length < 3000mm, 200mm, 300mm)
带有文字参数的 IF 语句:=IF (Length > 35', “String1”, “String2”)
带有逻辑 AND 的 IF 语句:=IF ( AND (x = 1 , y = 2), 8 , 3 )
带有逻辑 OR 的 IF 语句: =IF ( OR ( A = 1 , B = 3 ) , 8 , 3 )
嵌套的 IF 语句:=IF ( Length < 35' , 2' 6" , IF ( Length < 45' , 3' , IF ( Length < 55' , 5' , 8' ) ) )
带有 Yes/No 条件的 IF 语句:=Length > 40(请注意,条件和结果都是隐含的。)
公式中条件语句的典型使用包括计算阵列值以及根据参数值控制图元的可见性。例如,可以将条件语句用于下列情况:
在 Revit 中,阵列的值必须是大于或等于 2 的整数。在一些情况下,这对于创建保持阵列参数为 2(即使计算值为 1 或 0) 的条件公式是很有用的。使用这样的公式,如果计算的阵列值等于或大于 2,则公式将保留该值。但是,如果计算值为 1 或 0,则公式将把该值修改为 2。
公式: Array number = IF (Arrayparam < 2, 2, Arrayparam)
例如,如果有一个要用于控制窗格条几何图形的可见性的 Lights 参数,则可以创建类似于 MuntinVis 的 Yes/No 参数,并将其指定到窗格条几何图形的“图元属性”对话框中的“可见”参数。因为 MuntinVis 参数是 Yes/No(或布尔)运算,条件 (IF) 和结果都是隐含的。在该实例中,当满足条件时(真),将选中 MuntinVis 参数值,且窗格条几何图形是可见的。反之,当不满足条件时(假),将清除 MuntinVis 参数,且窗格条几何图形是不可见的。
公式: MuntinVis = Lights > 1