您可以使用公式中的條件陳述式來定義基於其他參數狀態之族群中的動作。
使用條件陳述式,本軟體會基於是否滿足指定的條件來輸入參數的值。條件陳述式在某些情況下很有用;然而,這些條件陳述式會使族群變得更為複雜,因此應僅在必要時使用。
對於大多數類型參數而言,條件陳述式不是必要的,因為類型參數本身便類似於條件陳述式:如果是某一類型,則將此參數設定為指定的值。例證參數使用條件陳述式會更具生產力,尤其是當例證參數用於設定不連續變化的參數時更是如此。
條件陳述式使用以下結構:IF (<condition>, <result-if-true>, <result-if-false>)
這表示為參數輸入的值基於是否滿足條件 (true 或 false)。如果條件為真 (true),本軟體就會迴轉 true 值。如果條件為假 (false),本軟體就會迴轉 false 值。
條件陳述式可以包含數值、數字參數名稱和「是/否」參數。您可以在條件中使用下列比較:<、>、=。也可以將布林運算子用於條件陳述式: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' ) ) )
具有「是/否」條件的 IF:=Length > 40 (請注意,會暗示條件和結果。)
公式中條件陳述式的一般用法包括計算陣列值和以參數值為基礎之控制元素的可見性。例如,您可以將條件陳述式用於
在 Revit 中,陣列僅可以具有大於等於 2 的整數。在某些情況下,建立保持陣列參數為 2 的條件公式可能會很有幫助,即使計算的值為 1 或 0。使用這樣的公式,在計算的陣列值為大於等於 2 時,該公式會保留該值。然而,如果計算的值為 1 或 0,則該公式會將值變更為 2。
公式:Array number = IF (Arrayparam < 2, 2, Arrayparam)
例如,如果您具有要用於控制框條幾何圖形可見性的「燈光」參數,您便可以建立「是/否」參數 (如 MuntinVis),並將其指定給框條幾何圖形之性質選項板上的「可見」參數。因為 MuntinVis 參數是「是/否」(或布林) 操作,所以會暗示條件 (IF) 和結果。在此範例中,當滿足條件 (true) 時,會選取 MuntinVis 參數值,框條幾何圖形為可見。相反,如果不滿足條件 (false),則會清除 MuntinVis 參數,框條幾何圖形為不可見。
公式:MuntinVis = Lights > 1