Pokud použijete funkci IF
a přiřadíte hodnotu Globální proměnné
nebo hodnotě, se kterou chcete porovnávat, můžete získat neočekávaný výsledek z důvodu výpočtu s plovoucí čárkou provedenou rovnicemi.
SOLIDWORKS používá k porovnání hodnot výpočty s plovoucí čárkou. Pokud například zadáte Globální proměnnou
o hodnotě 2.2, může ji SOLIDWORKS vyhodnotit jako 2,2000001 nebo 2,1999998. V takových případech porovnání vrátí hodnotu 0 (nepravda) namísto 1 (pravda).
Chcete-li se tomuto problému vyhnout, použijte v rovnici pro porovnání hodnotu tolerance. V tomto příkladu vytvoříte toleranci 0,0000001.

Pod položkou Hodnota/rovnice vytvořte příkaz IF následujícím způsobem:
= iif ( abs ("GV" - 2.2) <= "tolerance", 1,
0)
V porovnání funkce IF,
Test with
tolerance, kladná absolutní hodnota
Globální proměnné
GV minus daná hodnota je menší nebo rovna hodnotě
tolerance, takže rovnice má
Výsledek 1, tedy očekávaný výsledek.
Všimněte si, že Test without
tolerance má neočekávaný Výsledek 0.
Pomocí funkce abs()
(absolutní) získáte kladnou hodnotu operace odečítání pro porovnání s tolerancí. Pokud má jeden nebo oba komparátory v rovnici zápornou hodnotu, použijte funkci abs()
k získání požadované logiky.