Puede insertar reglas de iLogic en archivos externos en lugar de guardarlos en el modelo de Inventor. Este método de almacenamiento permite utilizar la misma regla en diferentes ubicaciones.
Para almacenar las reglas en un archivo externo, defina en primer lugar la extensión de archivo por defecto para los archivos nuevos. La extensión por defecto que elija dependerá de cómo desee editar el archivo. Por ejemplo, puede definir como extensión por defecto .vb si desea editar los archivos en Visual Studio. La extensión .txt permite editar la regla con un editor de texto como el Bloc de notas de Microsoft. O bien, puede definir como extensión por defecto .iLogicVB si los archivos contienen código de regla de iLogic normalizado que iLogic preprocesará.
Las reglas de iLogic pueden utilizar código de otros ensamblajes.NET. Puede especificar el directorio en el que estos ensamblajes.NET se encuentran. Puede desarrollar un ensamblaje.NET con herramientas de programación como Visual Studio 2008. Véase Programación de reglas avanzada para obtener más información sobre el uso de ensamblajes.NET en reglas.
iLogic proporciona una interfaz de automatización. Puede utilizar esta interfaz desde Inventor VBA, o código VB6 o.NET para acceder a los parámetros y las reglas.
La clase iLogicAutomation activa esta función.
En un proyecto de VB o VBA, se utiliza como enlazada en tiempo de ejecución (declarada como objeto) sin añadir ninguna referencia. Ya que no se trata de un objeto .COM completo, no se podrán examinar sus métodos.
iLogic utiliza un tipo de dato personalizado denominado DoubleForEquals para almacenar valores de parámetro. DoubleForEquals permite la comparación sencilla de números. Este parámetro es como el tipo estándar Double de VB.NET. Salvo que los valores DoubleForEquals se comparan como si fueran valores simples (7 decimales en lugar de 15). Por defecto, los parámetros de las reglas se declaran como DoubleForEquals.
DoubleForEquals facilita la omisión de errores de redondeo en las comparaciones. Por ejemplo, supongamos que una pieza utiliza las pulgadas como unidades de documento y disponemos de un parámetro con un valor de 13/16 pulgadas. La pieza no es exactamente igual a 13/16 en una regla porque el valor del parámetro almacenado en el modelo está en centímetros . El valor se convierte en pulgadas para su uso en la regla. Observe la siguiente comparación:
if d0 = 13/16 then ...
En este ejemplo, el resultado de la comparación da un error si d0 es del tipo Double. Sin embargo, si d0 es del tipo DoubleForEquals, el resultado de la comparación es correcto.
DoubleForEquals almacena el valor como Double y realiza todos los cálculos como valores Double. Sólo la comparación se realiza como simple.
Puede convertir un valor de parámetro en Double utilizando la función CDbl, si es necesario.
DoubleForEquals es una estructura (un tipo de valor) de VB.NET.
DoubleForEquals trata las comparaciones con cero como casos especiales. Cuando uno de los números cuya igualdad se está comprobando es exactamente cero, el resultado de la comparación será positivo cuando el otro número sea menor que 0,0000001 (en valor absoluto).
Con esta comparación es más fácil omitir los errores de redondeo que tienen un valor cercano a cero. Por ejemplo, la siguiente comparación determina que X = 0:
angle = PI/2 x = cos(angle) If (x = 0) Then ... End If
DoubleForEquals es el tipo por defecto de todos los parámetros de Inventor que se utilizan en las reglas. Puede desactivar este parámetro por los motivos siguientes: