Empfohlene Praktiken für IF-Funktionen in Gleichungen

Wenn Sie die IF-Funktion verwenden und der globalen Variable oder dem zu vergleichenden Wert einen Wert zuweisen, kann es aufgrund der Gleitkommaberechnung durch Gleichungen zu einem unerwarteten Ergebnis kommen.

SOLIDWORKS verwendet Gleitkommaberechnung, um Werte zu vergleichen. Wenn Sie beispielsweise eine globale Variable von 2.2 angeben, kann SOLIDWORKS sie als 2,2000001 oder 2,1999998 bewerten. In diesen Fällen liefert der Vergleich 0 (False) statt 1 (True).

Um dieses Problem zu vermeiden, verwenden Sie einen Toleranzwert in Ihrer Vergleichsgleichung. In diesem Beispiel erzeugen Sie eine Toleranz von 0,0000001.

Erstellen Sie unter Wert/Gleichungen die IF-Anweisung wie folgt:

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

In der IF-Vergleichsfunktion Test with tolerance ist der positive Wert der globalen VariableGV minus der Variable selbst weniger oder gleich der tolerance. Die Gleichung entspricht also 1, dem erwarteten Ergebnis.
Beachten Sie, dass Test without tolerance unerwartet 0 entspricht.

Sie verwenden die abs() (Absolut)-Funktion, um den positiven Wert der Subtraktionsoperation zum Vergleich mit der Toleranz zu erhalten. Wenn einer oder beide Komparatoren in der Gleichung einen negativen Wert haben, verwenden Sie die abs()-Funktion, um die gewünschte Logik zu erhalten.