当您使用 IF
函数并为全局变量
或要与之比较的值分配值时,可能会因为方程式完成的浮点数学运算而获得意外结果。
SOLIDWORKS 使用浮点数学运算来比较值。例如,如果您指定全局变量
2.2,SOLIDWORKS 可能会将其计算为 2.2000001 或 2.1999998。在这种情况下,比较返回 0 (False),而不是 1 (True)。
为避免出现此问题,请在比较方程式中使用公差值。在此示例中,您创建的公差为 0.0000001。

在数值/方程式下,按如下方式创建 IF 语句:
= iif ( abs ("GV" - 2.2) <= "tolerance", 1,
0)
在比较 IF 函数
Test with
tolerance 中,
全局变量
GV 减去自身的正绝对值小于或等于
tolerance,因此方程式
计算为 1,即预期结果。
请注意,Test without
tolerance 意外计算为 0。
您可以使用 abs()
(绝对)函数来获取减运算的正值,以便与公差进行比较。如果方程式中的一个或两个比较器都有负值,请使用 abs()
函数来获取所需的逻辑。