Nejlepší postup pro funkce IF v části Rovnice

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.