當您使用 IF
函數並將值指定給 Global Variable
或要比較的值時,由於以數學關係式完成的浮點數學,您可能會得到意外的結果。
SOLIDWORKS 使用浮點數學來比較值。例如,如果您指定 2.2 的 Global 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 Variable
GV的正絕對值減去自身會小於或等於
tolerance,因此數學關係式
評估為 1,即預期的結果。
請注意,Test without
tolerance 非預期地評估為 0。
您可以使用 abs()
(絕對值) 函數取得減法操作的正數值,以便與公差進行比較。如果數學關係式中的一或兩個比較子有負值,請使用 abs()
函數取得所需的邏輯。