數學關係式中 IF 函數的最佳實務

當您使用 IF 函數並將值指定給 Global Variable 或要比較的值時,由於以數學關係式完成的浮點數學,您可能會得到意外的結果。

SOLIDWORKS 使用浮點數學來比較值。例如,如果您指定 2.2Global Variable,SOLIDWORKS 會將其評估為 2.2000001 或 2.1999998。在這種情況下,比較結果會傳回 0 (False) 而非 1 (True)。

若要避免此問題,請在比較數學關係式中使用公差值。在此範例中,您建立的公差為 0.0000001。

值/數學關係式之下,建立 IF 陳述式如下:

= iif ( abs ("GV" - 2.2) <= "tolerance", 1, 0)

在比較中,IF 函數 (Test with tolerance) Global VariableGV的正絕對值減去自身會小於或等於 tolerance,因此數學關係式評估為 1,即預期的結果。
請注意,Test without tolerance 非預期地評估為 0

您可以使用 abs() (絕對值) 函數取得減法操作的正數值,以便與公差進行比較。如果數學關係式中的一或兩個比較子有負值,請使用 abs() 函數取得所需的邏輯。