iLogic proporciona un conjunto de funciones matemáticas que se pueden añadir a las reglas.
En el cuadro de diálogo Editar regla de iLogic, utilice uno de los siguientes métodos para acceder a las funciones matemáticas:
La biblioteca matemática normalizada de VB.NET proporciona la mayoría de las funciones matemáticas utilizadas en iLogic:
IsNumeric | PI |
MinOfMany | Sqrt |
MaxOfMany | Abs |
Redonda | Signo |
Redondear con precisión decimal | Int |
Redondear más cercano al incremento | Fijar |
Redondear por exceso a incremento | Log10 |
Redondear por defecto a incremento | Lín. |
Ceil | Pow |
Floor | Mín. |
Sin | Máx. |
Cos | CDbl |
Tan | EqualWithinTolerance |
iLogic proporciona algunas funciones matemáticas. Las siguientes funciones emulan las disponibles en las ecuaciones de los parámetros normalizados de Inventor:
Ceil (same as Math.Ceiling) Sign0(a) = 1 if a > 0.0, = 0 otherwise Ln (same as Math.Log)
Algunas de las funciones de Inventor, puesto que difieren de las funciones matemáticas normalizadas de VB.NET homónimas, se convierten cuando son capturadas para su uso en una regla de 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() y Tan() son funciones trigonométricas normalizadas con argumentos expresados en radianes (no en grados):
Si utiliza la opción Capturar estado actual en una fórmula trigonométrica en el cuadro de diálogo Editar regla, esta fórmula no se convierte a código VB.NET sino que permanece como una fórmula de Inventor. Se puede editar la fórmula manualmente para cambiarla a una de VB.NET (con ángulos en radianes).
Para convertir de grados a radianes, utilice la siguiente fórmula:
radianes = grados *(PI/180)
Función | Objetivo | Ejemplos |
---|---|---|
Abs() | Devolver el valor absoluto del argumento. |
Abs(10) = 10 Abs(-9.87) = 9,87 |
Sqrt() | Devolver la raíz cuadrada del argumento. |
Sqrt(25) = 5 Sqrt(100) = 10 Sqrt(3) = 1,732051 |
Sign() | Devolver un número que indique el signo del argumento. |
Si el valor es positivo, Sign(valor) = 1 Si el valor es negativo, Sign(valor) = -1 Si el valor es cero, Sign(valor) = 0 |
Round() | Redondear el argumento a un número entero, o a un número de posiciones decimales especificado. |
Sintaxis: Round(argumento, # opcional de posiciones decimales deseado) Round(2,55689) = 3 Round(2,55689, 1) = 2,6 Round(2,55689, 3) = 2,557 Round(PI, 4) = 3,1416 |
Ceil() | Redondear el argumento al siguiente número entero superior. |
Ceil(2,56) = 3 Ceil(Sqrt(3))= 2 |
Floor() | Redondear el argumento al siguiente número entero inferior. |
Floor(1,789) = 1 Floor(PI) = 3 |
Log10() | Devolver el logaritmo de base 10 del argumento. |
Log10(10) = 1 Log10(100) = 2 Log10(15) = 1,176091 |
Ln() | Devolver el logaritmo natural del argumento. (logaritmo en base e). |
Ln(5) = 1,609438 Ln(37) = 3,610918 |
Pow (argumento 1, argumento 2) | Devolver el resultado de elevar el argumento 1 al exponente del argumento 2. |
Pow(2, 2) = 2 2 = 4 Pow(2, 3) = 2 3 = 8 Pow(3, 2) = 3 2 = 9 |
Función | Objetivo | Ejemplos |
---|---|---|
Min(argumento 1, argumento 2) | Devolver el menor de los dos argumentos. |
Min(2, 4) = 2 Min(9, 4) = 4 Min(Sqrt(2), Sqrt(3)) = 1,4142..... |
Max(argumento 1,argumento 2) | Devolver el mayor de los dos argumentos. |
Max(2, 4) = 4 Max(9, 4) = 9 Sqrt(3)) = 1,73205..... |
MinOfMany( ,,, ) | Devolver el menor de múltiples 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( ,,, ) | Devolver el mayor de múltiples argumentos. |
MaxOfMany(2,4,3,6,7,8) = 8 MaxOfMany(9,4,5,67,3,5) = 67 MaxOfMany(Sqrt(2), Sqrt(3), Sin(PI/ignored>/2)) = 1,73205..... |
EqualWithinTolerance(a, b, 0,001) | Compara los valores de dos parámetros (representados por a y b) y compara la diferencia con el valor de tolerancia (especificado aquí como 0,001). Si la diferencia es menor que la tolerancia, la función devuelve el valor booleano Verdadero. Si la diferencia es mayor que la tolerancia, la función devuelve el valor booleano Falso. |
Si a = 10,00 y b=10,01 EqualWithinTolerance (a, b, 0,015) = True [Abs (a-b) es menor que el valor de tolerancia de 0,015 in ] EqualWithinTolerance (a, b, 0,001) = False [Abs (a-b) es mayor que el valor de tolerancia de 0,001 ] |
EqualWithinTolerance(a,b) | Utilice un valor de Tolerancia por defecto de 0,0000001 |