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:
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 |
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:
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)
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çã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 |