Referencia de funciones de componente (iLogic)

iLogic ofrece funciones de regla para definir o leer los estados de desactivación y colores de un componente, así como una función para reemplazar un componente por otro.

Estas funciones son útiles para controlar diferentes configuraciones de piezas o ensamblajes.

Puede crear un modelo (pieza o ensamblaje) que incluya los componentes necesarios para representar todas las configuraciones válidas posibles de un producto. Este método se conoce como "supermodelado". Cuando las piezas o los componentes de ensamblaje sean demasiado complejos o numerosos y el supermodelado resulte poco práctico, utilice la función Component.Replace.

Para acceder a las funciones de componente, expanda el nodo Componentes en la ficha Sistema del área Fragmentos del cuadro de diálogo Editar regla de iLogic.

Nombre del componente

Personalice todos los nombres de componente antes de hacer referencia a ellos en una regla. Al cambiar el nombre de componente asignado por defecto por Autodesk Inventor, se asegura de que el nombre no cambie cuando el archivo .ipt o .iam de referencia cambie.

Puede volver a cambiar el nombre del componente a su nombre original y conservar su estabilidad. Para cambiar el componente, realice un pequeño cambio en el nombre y, a continuación, cámbielo de nuevo al original.

Para un componente del Centro de contenido, el cambio de nombre es necesario para la función Component.IsActive, así como para la función Component.Replace.

Component.IsActive

Establece o lee el estado de desactivación y la estructura de la lista de materiales de un componente de ensamblaje. Utilice esta función para incluir o excluir un componente de una configuración de ensamblaje.

La función funciona en un único componente o en patrones de componente. En el caso de los patrones, utilice el nombre de patrón. El patrón debe encontrarse en el mismo nivel de ensamblaje que la regla y no en un subensamblaje.

No desactive subcomponentes. Una alternativa mejor es llevar a cabo la desactivación desde una regla que esté dentro del componente.

Por ejemplo, un ensamblaje denominado Ensamblajesuperior contiene el Subensamblaje: 1, y el subensamblaje contiene la Piezaejemplo: 1.

Utilice una regla que esté dentro de Subensamblaje para desactivar Piezaejemplo: 1. Esta regla puede disponer de un parámetro que dirija el estado de desactivación, y se puede controlar el parámetro con una regla de Ensamblajesuperior.

Cuando utiliza iLogic para desactivar un componente, la estructura de la lista de materiales del componente se establece como referencia. Esta acción impide que aparezca en la lista de materiales. Aparece en la vista Datos del modelo, pero no en la vista estructurada ni en la de solo piezas. Si el componente está activado, iLogic cambia el componente al estado en que se encontraba antes de la desactivación (normal, inseparable, comercial o fantasma).

Antes de utilizar una regla de iLogic para cambiar el estado de desactivación de un componente de ensamblaje, cree y active un nuevo nivel de detalle personalizado.

Sintaxis

Component.IsActive("ComponentName")

Ejemplos

Puede utilizar 1 en lugar de true y 0 en lugar de false.

Para definir el estado de desactivación y la estructura de la lista de materiales:

Component.IsActive("PartA:1") = false
Component.IsActive("PartB:1") = 0
Component.IsActive("PartC:1") = false
Component.IsActive("PartD:1") = 0

Para leer el estado de desactivación y la estructura de la lista de materiales:

MyBooleanParam = Component.IsActive("ComponentName:1)
If Component.IsActive("PartE") Then
' do something
End If

Component.iComponentIsActive

Una variación de Component.Isactive. Esta función establece o lee el estado de desactivación de un componente de iPart o iAssembly. Si no cambia manualmente el nombre de componente, las iParts y iAssemblies requerirán el uso de esta sintaxis especial.

Se recomienda cambiar el nombre del componente. Si lo hace, puede utilizar Component.IsActive en lugar de esta función.

Sintaxis

Component.iComponentIsActive(“iPartParentName:1”)

iPartParentName

El nombre de la pieza de la familia sin la extensión .ipt del nombre de archivo.

Component.Color

Establece o lee el color de un componente.

Sintaxis

Component.Color(“iPartA:1”)

Ejemplos

Definir el color:

Component.Color("iPartA:1") = "Green"
Component.Color("iPartA:2") = "Aluminum (Cast)"
Component.Color("iPartA:3") = "As Material"

Leer el color:

MyStringParameter = Component.Color("iPartA:1")

Component.Visible

Establece o lee la visibilidad de un componente. Esta función no cambia la estructura de la lista de materiales del componente.

Sintaxis

Component.Visible("componentName")

Ejemplos

Definir visibilidad:

Component.Visible("Plate") = true
Component.Visible("Bearing") = false

Leer visibilidad:

parameter = Component.Visible("Plate")
parameter = Component.Visible("Bearing")
If Component.Visible("PartE") Then
do something
End If

Component.SkipDocumentSave

Especifica si un documento de componentes se guarda cuando cambia y se desactiva después por medio de una regla.

Sintaxis

Component.SkipDocumentSave = True

Cuando se establece en True, el documento de componentes no se guarda.

El valor por defecto es False ( Component.SkipDocumentSave = False ); el documento de componentes se guarda.

Component.Replace

Reemplaza una pieza o un subensamblaje por otro. Esta función puede utilizarse también para reemplazar los patrones de componentes.

Utilice iMates en los componentes que se intercambien para conservar las restricciones de ensamblaje intactas. Puede cambiar una pieza por otra pieza, una pieza por un ensamblaje o un ensamblaje por una pieza.

La función busca el archivo que se va a usar como reemplazo en varias carpetas:

El nombre de archivo puede ser una ruta relativa (relativa a cualquiera de estas ubicaciones de búsqueda).

Nota: Antes de utilizar esta función, "estabilice" el nombre del componente para evitar que cambie al producirse el intercambio. Para estabilizar el nombre del componente, cámbielo. Puede estabilizar el nombre incluso cambiándolo una vez y volviendo a cambiarlo después al nombre original. Si hay un error al estabilizar el nombre, la operación de reemplazo cambia el componente para que coincida con el otro nombre. Así, la regla no podrá encontrar el componente cuando se vuelva a ejecutar.

Sintaxis

Component.Replace(“ComponentToReplaceName”, “OtherPartfilename.ipt”, <replaceAll>)

ComponentToReplaceName

El nombre de la pieza o el subensamblaje que se reemplaza.

OtherPartfilename

La pieza o el ensamblaje que se va a utilizar como reemplazo.

<replaceAll>

Establezca este valor booleano en True para reemplazar todos los ejemplares de este componente. Establezca el valor en False para reemplazar solo el ejemplar especificado.

Ejemplo

If PartType = "Type A" Then
Component.Replace("Widget","PartA.ipt", True)
ElseIf PartType = "Type B" Then
Component.Replace("Widget","PartB.ipt", True)
End If

Component.Replace (con nivel de detalle especificado)

Esta variación de la función Component.Replace reemplaza un componente de un ensamblaje por otro componente con un nivel de detalle específico.

Sintaxis

Component.Replace("SubAssem:1", "OtherAssemFilename.iam<Level of Detail>", <replaceAll>)

En esta función, el argumento <replaceAll> es el mismo que el descrito para la función más genérica Component.Replace.

También puede reemplazar un subensamblaje por el mismo subensamblaje con un nivel de detalle diferente.

Component.ReplaceiPart

Esta función es necesaria en el caso de iParts con parámetros personalizados y también se recomienda para las iParts normalizadas. Utilícela en lugar de Component.Replace cuando el componente sea una iPart. Puede utilizar iPart.ChangeRow o iPart.FindRow tras el reemplazo para cambiar la configuración específica de la iPart.

Para obtener una iPart con parámetros personalizados, introduzca los valores de estos parámetros tras el número de fila. Los valores deben aparecer en el orden en el que se encuentran en la tabla.

Sintaxis

Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber)

Utilice rowNumber para reemplazar el componente y seleccionar una fila iPart al mismo tiempo.

Ejemplos

Para establecer los parámetros personalizados, repita los valores personalizados en Component.ReplaceiPart y, más adelante en la regla, también en iPart.ChangeRow o iPart.FindRow.

Para ChangeRow:

Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2)
iPart.ChangeRow("iPart1:1", rowNumber, customParam1, customParam2)

Para FindRow:

Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2)
i = iPart.FindRow("iPart1:1", "Dia", ">=", 3.0, "r;|", customParam1, customParam2)

MakePath

Define la ruta al nombre de un componente de un subensamblaje. Para especificar la ruta, introduzca todos los niveles del subensamblaje en el orden en que aparecen en el árbol. Esta función es necesaria si desea especificar un nombre de componente que también existe en otra parte del ensamblaje.

Sintaxis

MakePath(“SubassemblyComponentName”,“PartComponentName”)

Ejemplos

Component.Color(MakePath("SubAssem1:1", "Part2:1")) = “Green”
Component.IsActive(MakePath("SubAssem1:1", "SubSubAssem2:1", "Part2:1")) = “Yellow”