Referencia de las funciones de parámetros (iLogic)

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

Parameter

Parameter("parameterName")

Esta función cambia los valores de parámetro de forma directa.

En los ensamblajes, se puede acceder a los parámetros de los componentes desactivados. Sin embargo, si un componente está desactivado, no se puede tener acceso a su parámetro directamente con una instrucción de asignación como la siguiente:

PartA.ipt.d12 = 6.3

En su lugar, puede utilizar:

Parameter("PartA:1", "d12") = 6.3

Observe que se especifica un nombre de componente en lugar de un nombre de archivo. Aunque se le dé un número de componente determinado a la función, el cambio del parámetro afecta a todos los ejemplares del componente. El nombre del componente es simplemente un método para que la función identifique el archivo.

Cambie el nombre del componente manualmente para que conserve el nombre en caso de ser reemplazado.

También puede utilizar la función MakePath para el nombre de componente:

Parameter(MakePath("SubAssem1:1", "Part1:1"), "d12") = 6.3

Puede leer el valor actual de un parámetro utilizando la sintaxis de una de las siguientes instrucciones:

param_val = Parameter("d0")

param_val = Parameter("PartA:1", "d0")

Como se muestra en estos ejemplos, el parámetro puede estar en el documento actual. Puede utilizar el nombre de cualquier parámetro al que se pueda acceder desde la regla.

En un componente que no está desactivado, se puede especificar el nombre de archivo en lugar del nombre de componente. Puede utilizar este método para cambiar un parámetro en una pieza básica que no aparezca como componente de un ensamblaje:

Parameter("PartA.ipt", "d12") = 6.3

Si no se encuentra un parámetro, la función Parámetro genera un mensaje de error. Puede desactivar el mensaje de error con lo siguiente:

Parameter.Quiet = True

Utilice este procedimiento si sabe que falta el parámetro y está preparado para esa condición.

Acceso a parámetros de piezas base

Se puede acceder a los parámetros de una pieza base desde un ensamblaje o una pieza derivados. También se puede acceder a éstos desde un ensamblaje que contenga una pieza derivada de la pieza base.

En ocasiones, es útil controlar los parámetros de la pieza base desde las reglas del ensamblaje. Esta técnica se denomina modelado descendente. Al cambiar un parámetro base, los parámetros enlazados de todas las piezas derivadas también cambian.

La pieza y sus parámetros no siempre están visibles en el árbol del modelo, dentro del cuadro de diálogo Editar regla. Puede acceder a ellos mediante la función Parameter. Por ejemplo, para cambiar un parámetro de una pieza base, utilice:

Parameter("BaseShaft.ipt”, ”Diameter") = 0.125 in

Normalmente no es necesario leer los valores de los parámetros desde la pieza base. Los parámetros están vinculados de antemano a la pieza o ensamblaje en el que se está trabajando.

Funciones avanzadas de parámetro

Utilice la función Parameter.Param para obtener acceso directo a un parámetro de Inventor. El objeto devuelto es del tipo Parámetro de la API Autodesk Inventor:

param = Parameter.Param("parameterName")
If (param IsNot Nothing) Then
param.Expression = "5.0 in"
param.Tolerance.SetToDeviation(0.002 * 2.54, -0.004 * 2.54)
param.Comment = "Equation and Tolerance set by a rule"
End If

Si lo prefiere, puede utilizar una línea única:

Parameter.Param("foo").Comment = "Comment set by a rule"

Puede acceder a más propiedades de un parámetro de Autodesk Inventor utilizando lo siguiente:

param = Parameter.Param("parameterName")
param = Parameter.Param("componentName", "parameterName")

Estas funciones proporcionan un objeto de la clase Inventor.Parameter. Consulte la Ayuda de programación de Inventor para obtener más información acerca de esta clase.

Funciones de varios valores

Utilice las funciones de varios valores para acceder a la lista de valores almacenados con un parámetro de valores múltiples y modificarla. Los ejemplos siguientes ilustran su uso:

MultiValue.SetList(“d0”, 0.5, 0.75, 1.0, 1.25)

Establece la lista de valores disponibles para el parámetro d0.

MultiValue.SetList(“d0”, “3/8”, “d1 * 2”, “d1 * 3”)

Establece ecuaciones en lugar de valores. Es posible combinar ecuaciones y valores en la lista.

MultiValue.SetList(“nombrearchivo.ipt.str0”, “Valor1”, “Valor2”)

Establece una lista de valores para un parámetro de texto de una pieza.

MultiValue.SetList(“Pieza1:1”, “d0”, 0.5, 0.75, 1.0, 1.25)

Establece la lista de valores de un parámetro de un componente.

valores = MultiValue.List(“d0”)

Obtiene la lista actual de valores, donde la variable values es un objeto del tipo ArrayList de VB.NET.

MultiValue.SetValueOptions(True, DefaultIndex := 0, NumericCompare := “=”)

Fuerza al parámetro a poseer un valor que esté en su lista de valores múltiples. Si cambia la lista de valores múltiples, también se establece como valor actual del parámetro uno de los valores de la lista. Esta función no cambia el valor si éste se encuentra en la nueva lista.

MultiValue.SetValueOptions(False)

Al cambiar la lista de valores múltiples del parámetro, el valor real del parámetro no cambia. Este es el comportamiento por defecto de MultiValue.

MultiValue.List(“MyStringParam”) = iProperties.Materials

Establece un parámetro de texto en una lista de valores equivalente a la lista de materiales disponible en la norma activa actual.

MultiValue.List(“d0”) = New Double() {0.5, 0.75, 1.0, 1.25}

Utiliza un método alternativo para establecer la lista de valores.

Puede encontrar ejemplos en los que se utilizan valores de Microsoft® Excel en la sección que describe GoExcel.CellValues.

MultiValue.UpdateAfterChange = True

Al igual que cuando se configura Parameter.UpdateAfterChange como True, esta instrucción hace que el modelo de Inventor se actualice cuando se realiza un cambio en el valor de un parámetro mediante la función MultiValue.List o MultiValue.SetList.

True hará que el modelo (documento) se actualice después de cambiar el parámetro. Esto solo tiene efecto al cambiar los parámetros mediante la función Parameter:

Para actualizar el modelo en el centro de la regla (después de cambiar algunos parámetros) utilice estas dos instrucciones conjuntamente:
  • RuleParametersOutput()
    Nota: - Esto asignará al modelo los valores actuales de las variables locales del parámetro.
  • InventorVb.DocumentUpdate()
  • Si no necesita actualizar el modelo en el centro de la regla, puede indicar al sistema que se actualice cuando finalice la ejecución de la regla. Utilice esta instrucción: iLogicVb.UpdateWhenDone = True.

MultiValue.Quiet = True

Desactiva el mensaje de error que aparece cuando no se encuentra un parámetro. Utilice esta función si sabe que falta el parámetro y está preparado para esa condición. Por ejemplo, es posible que el parámetro no exista en todas las piezas a las que afecta la regla.

foundVal = MultiValue.FindValue(aList, "<=", 4.0)

Busca el valor en la lista que mejor se corresponda con una condición. aList puede ser una lista de matrices o una matriz. El argumento de comparación puede ser "<=", "=", o ">=".

El siguiente ejemplo busca un valor menor o igual a 4.0. Si existe más de un valor, devuelve el más cercano a 4.0. Si no existe ningún valor coincidente, este ejemplo devuelve la constante de VB "Nothing".

foundVal = MultiValue.FindValue(MultiValue.List("d0"), "<=", 4.0)

Puede probar esta condición.