Ao usar a função IF
e atribuir um valor à variável global
ou ao valor com o qual comparar, você pode obter um resultado inesperado devido à matemática de ponto flutuante feita por equações.
O SOLIDWORKS usa a matemática de ponto flutuante para comparar valores. Por exemplo, se você especificar uma variável global
de 2.2, o SOLIDWORKS poderá avaliá-la como 2,2000001 ou 2,1999998. Nesses casos, a comparação retorna 0 (Falso) em vez de 1 (Verdadeiro).
Para evitar esse problema, use um valor de tolerância na equação de comparação. Neste exemplo, você cria uma tolerância de 0,0000001.

Em Valor/Equações, crie a instrução IF da seguinte forma:
= iif ( abs ("GV" - 2.2) <= "tolerance", 1,
0)
Na função IF de comparação,
Test with
tolerance, o valor absoluto positivo da
variável global
GV menos em si é menor ou igual a
tolerance, então a equação
avalia como 1, o resultado esperado.
Observe que o Test without
tolerance inesperadamente avalia como 0.
Use a função abs()
(absoluta) para obter o valor positivo da operação de subtração para comparar com a tolerância. Se um ou ambos os comparadores na equação tiverem um valor negativo, use a função abs()
para obter a lógica desejada.