Utilice las funciones de iFeature para elegir una fila de una iFeature vinculada a tabla.
Cada fila contiene un conjunto de valores de parámetro para controlar la iFeature.
Las funciones de iFeature operan en las piezas en las que se encuentre la iFeature (convertida en ejemplar). Su sintaxis es como la utilizada para las funciones GoExcel y iPart.
Para acceder a las funciones de iFeature, expanda el nodo iFeatures en la ficha Sistema del área Fragmentos del cuadro de diálogo Editar regla de iLogic.
Cambia la fila activa de una iFeature vinculada a tabla.
Sintaxis
ifeature.ChangeRow( "iFeatureName", "rowName" )
" iFeatureName ”
El nombre de la iFeature tal como aparece en el árbol del modelo.
" rowName "
El valor deseado del parámetro clave en la tabla iFeature.
Si la iFeature tiene más de un parámetro clave, especifíquelos todos en una cadena de texto del tipo [Key1=Value1][Key2=Value2]. Por ejemplo:
[Size=A0][CutLength=0.4375000 in]
Este ejemplo es la propiedad iFeatureTableRow.MemberName, tal y como se describe en la documentación de la API de Inventor. Otra forma de especificar varios valores de parámetro es utilizar iFeature.FindRow.
También se puede utilizar un número de fila entero:
ifeature.changerow( "iFeatureName", rowNumber)
Ejemplo
En este ejemplo, la configuración actual de la iFeature cambia en función de una instrucción condicional que evalúa el tamaño, que es un parámetro de texto. iFeature.ChangeRow requiere únicamente el nombre de componente de la iFeature RectangularPocket1 y la tabla iFeature nombre de columna de clave" Pocket-01" para controlar la configuración activa de iFeature:
If size = "small" Then iFeature.ChangeRow("RectangularPocket1", "Pocket-01") ElseIf size = "medium" Then iFeature.ChangeRow("RectangularPocket1", "Pocket-02") ElseIf size = "large" Then iFeature.ChangeRow("RectangularPocket1", "Pocket-03") ElseIf size = "very large" Then iFeature.ChangeRow("RectangularPocket1", "Pocket-04") End If
Busca una fila basándose en uno o varios criterios de valor de las columnas. Si se encuentra una fila, cambia la fila activa de la iFeature por esa fila.
Sintaxis
i = ifeature.findrow( "iFeatureName", "ColumnName", "< =", 0.2, "ColumnName", "< =", 4.1 )
" iFeatureName "
El nombre de la iFeature vinculada a tabla.
“columnName”
El título de la columna en que se va a realizar la búsqueda.
Operadores
El valor puede ser un valor numérico o una cadena de texto. Se puede especificar mediante un valor explícito, un parámetro o una variable local.
Devuelve
iFeature.CurrentRowValue(“columnName”)
Lee un valor de la fila encontrada usando la función iFeature.FindRow, donde "columnName" es el nombre de título de la columna. Devuelve el valor de celda del valor de la fila actual devuelto por la función iFeature.FindRow. Por ejemplo:
i = iFeature.FindRow("RectangularPocket1", "pocketdepth", "=", 0.250) pocketlength = iFeature.CurrentRowValue("pocketlength") pocketwidth = iFeature.CurrentRowValue("pocketwidth")
Si la columna no existe en la iFeature, la regla muestra un mensaje de error.
iFeature.CurrentRowStringValue("columnName")
Use esta función si la entrada que busca en la tabla iFeature es una cadena de texto. Por ejemplo:
Part_number = iFeature.CurrentRowStringValue("Part Number")
Esta función, utilizada con la función iFeature.FindRow, permite buscar un valor comprendido en un rango en lugar de buscar un valor exacto. Existe siempre una tolerancia para esta búsqueda. La tolerancia por defecto es de 0.0000001 y no depende de las unidades del documento.
Sintaxis
iFeature.Tolerance =<valor >
Establezca una tolerancia mayor para expandir el intervalo de valores válidos.
Ejemplo
iFeature.Tolerance = 0.001 i = iFeature.FindRow("insertpocket", "pocketlength", "=", 2.0)
Este ejemplo coincide con una fila con un valor de la longitud de la cajera de 2.0004.