Funções matemáticas no iLogic

O iLogic fornece um conjunto de funções matemáticas que podem ser adicionadas as regras. Na caixa de diálogo Editar regra, utilize um dos métodos seguintes para acessar as funções matemáticas:

Funções matemáticas padrão

A biblioteca de matemática VB.NET padrão fornece a maioria das funções matemáticas utilizadas em iLogic:

IsNumeric PI
MinOfMany Sqrt
MaxOfMany Abs
Round Sign
Arredondar com precisão decimal Int
Arredondar mais próximo ao incremento Fixo
Arredondar para cima do incremento Log10
Arredondar para baixo do incremento Ln
Ceil Pow
Floor Mín
Sin Máx
Cos CDbl
Tan EqualWithinTolerance

Funções matemáticas do iLogic

O iLogic fornece algumas funções matemáticas. As funções seguintes emulam as funções disponíveis nas equações de parâmetro do Inventor padrão:

Ceil (same as Math.Ceiling)
Sign0(a) = 1 if a > 0.0, = 0 otherwise
Ln (same as Math.Log)

Como certas funções do Autodesk Inventor diferem das funções matemáticas padrão do VB.NET de mesmo nome, elas são convertidas quando capturadas para uso em uma regra iLogic:

Funções trigonométricas

Sin(0) = 0 Cos(PI) = -1
Sin(PI) = 0 Tan(0) = 0
Sin(PI/2) = 1 Tan(PI/4) = 1
Cos(0) = 1 PI = 3,1415926......
Cos(PI/2) = 0  

Sin(), Cos(), e Tan() são funções trigonométricas padrão com argumentos expressos em radianos (não em graus):

Se utilizar a opção Capturar estado atual em uma fórmula trigonométrica na caixa de diálogo Editar regra, não é para ser convertido em código VB.NET. Ao invés, a fórmula é deixada como uma fórmula do Inventor. É possível editar a fórmula manualmente para alterá-la em uma fórmula VB.NET (com ângulos em unidades radianas).

Para converter de graus para radianos, utilize a seguinte fórmula:

radianos=graus *(PI/180)

Outras funções matemáticas

Função Objetivo Exemplos:
Abs() Retornar o valor absoluto do argumento.

Abs(10) = 10

Abs(-9.87) = 9.87

Sqrt() Retornar a raiz quadrada do argumento.

Sqrt(25) = 5

Sqrt(100) = 10

Sqrt(3)) = 1.732051

Sinal() Retornar um número indicando o sinal do argumento.

Se o valor é positivo, Sinal(valor)=1

Se o valor é negativo, Sinal(valor)=-1

Se o valor é zero, Sinal(valor)= 0

Arredondado() Arredondar o argumento para um número inteiro (inteiro), ou para um número especificado de casas decimais.

Sintaxe: Arredondar(argumento, opcional diferente de casas decimais desejadas)

arredondado (2.55689) = 3

arredondado (2.55689, 1) = 2.6

arredondado (2.55689, 3) = 2.557

arredondado (PI, 4) = 3.1416

Teto() Arredondar o argumento para o próximo inteiro superior.

Ceil(2.56) = 3

Ceil(Sqrt(3))= 2

Chão() Arredondar o argumento para o próximo inteiro inferior.

Floor(1.789) = 1

Floor(PI) = 3

Log10() Retorne o logaritmo 10 de base para o argumento.

Log10(10) = 1

Log10(100) = 2

Log10(15) = 1.176091

Ln() Retorne o logaritmo natural do argumento. (base e logaritmo)

Ln(5) = 1.609438

Ln(37) = 3.610918

Pow(argumento1, argumento2) Retornar o resultado da elevação do argumento1 ao exponente de argumento2.

Pow(2,2) =2 2 = 4

Pow(2,3) = 2 3 = 8

Pow(3,2) = 3 2 = 9

Funções de comparação

Função Objetivo Exemplos:
Mín(argumento1, argumento2) Retornar o menor dos dois argumentos.

Min(2, 4) = 2

Min(9, 4) = 4

Mín(Sqrt(2), Sqrt(3)) = 1.4142.....

Máx(argumento1, argumento2) Retornar o maior dos dois argumentos.

Máx (2, 4) = 4

Máx(9, 4) = 9

Sqrt(3)) = 1.73205.....

MinOfMany(,,,) Retornar o menor de muitos argumentos.

MinOfMany(2,4,3,6,7,8) = 2

MinOfMany(9,4,5,67,3,5) = 3

MinOfMany(Sqrt(2), Sqrt(3), Sin(PI/2)) = 1

MaxOfMany( ,,, ) Retornar o maior de muitos argumentos.

MaxOfMany(2,4,3,6,7,8) = 8

MaxOfMany(9,4,5,67,3,5) = 67

MaxOfMany(Sqrt(2), Sqrt(3), Sin(PI/ignorado>/2)) = 1.73205.....

IgualDentrodaTolerância(a, b, 0,001) Compara o valor de dois parâmetros (representados por a e b) e compara a diferença para o valor de tolerância (especificado aqui como 0,001). Se a diferença for menor que a tolerância, a função retorna o valor booleano verdadeiro. Se a diferença for maior que a tolerância, a função retorna o valor booleano falso.

Se a = 10,00 e b = 10.01

EqualWithinTolerance(a, b, 0.015) = True [Abs(a-b) é menor do que o valor de tolerância de 0.015 pol]

EqualWithinTolerance(a, b, 0.001) = False [Abs(a-b) é maior do que o valor de tolerância de 0.001]

IgualDentrodaTolerância(a, b) Utilize uma tolerância padrão de 0,0000001