Prática recomendada para funções IF em Equações

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 globalGV 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.