Quando si utilizza la funzione IF
e si assegna un valore alla Variabile globale
o al valore da confrontare, si potrebbe ottenere un risultato imprevisto a causa della matematica a virgola mobile eseguita dalle equazioni.
SOLIDWORKS utilizza la matematica a virgola mobile per confrontare i valori. Ad esempio, se si specifica una Variabile globale
di 2.2, SOLIDWORKS potrebbe valutarla come 2,2000001 o 2,1999998. In tali casi, il confronto restituisce 0 (False) invece di 1 (True).
Per evitare questo problema, utilizzare un valore di tolleranza nell'equazione di confronto. In questo esempio, si crea una tolleranza di 0,0000001.

In Valore/equazioni, creare l'istruzione IF nel modo seguente:
= iif ( abs ("GV" - 2.2) <= "tolerance", 1,
0)
Nella funzione di confronto IF,
Test with
tolerance, il valore assoluto positivo della
Variabile globale
GV meno lo stesso valore è uguale o inferiore alla
tolerance, quindi l'equazione viene
Valutata su 1, il risultato previsto.
Si noti che Test without
tolerance restituisce inaspettatamente Valuta a 0.
Si utilizza la funzione abs()
(assoluta) per ottenere il valore positivo dell'operazione di sottrazione da confrontare con la tolleranza. Se uno o entrambi i comparatori dell'equazione hanno un valore negativo, utilizzare la funzione abs()
per ottenere la logica desiderata.