Utilisez les fonctions iFeature pour choisir une ligne dans une iFonction liée à une table. Chaque ligne possède un jeu de valeurs de paramètre pour contrôler l'iFonction.
Les fonctions iFeature agissent au sein d'une pièce dans laquelle l'iFonction est placée (instanciée). Leur syntaxe est identique à celle utilisée pour les fonctions GoExcel et iPart.
Pour accéder aux fonctions iFeature, développez le noeud iFonctions sous l'onglet Système de la zone Extraits de code.
Modifie la ligne active d'une iFonction liée à une table.
Syntaxe
iFeature.ChangeRow("iFeatureName", "rowName")
"iFeatureName”
Nom de l'iFonction tel qu'il est affiché dans l'arborescence du modèle.
"rowName"
Valeur souhaitée du paramètre clé dans la table d'iFonction.
Si l'iFonction contient plus d'un paramètre clé, définissez tous ces paramètres dans une chaîne de texte sous la forme [Clé1=Valeur1][Clé2=Valeur2]. Par exemple :
[Size=A0][CutLength=0.4375000 in]
Cet exemple représente la propriété iFeatureTableRow.MemberName, comme décrit dans la documentation sur l'API Inventor. Une autre façon de définir plusieurs valeurs de paramètre consiste à utiliser iFeature.FindRow.
Vous pouvez également utiliser un nombre entier correspondant au numéro de ligne :
iFeature.ChangeRow("iFeatureName", rowNumber)
Exemple
Dans cet exemple, la configuration actuelle de l'iFonction est modifiée en fonction d'une instruction conditionnelle qui évalue la taille, un paramètre de texte. iFeature.ChangeRow requiert uniquement le nom du composant d'iFonction RectangularPocket1 et le nom de la colonne d'identifiantsla de la table d'iFonction "Pocket-01" pour contrôler la configuration de l'iFonction active :
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
Permet de rechercher une ligne en fonction d'un ou plusieurs critères de valeur de la colonne. S'il détecte une ligne, la ligne active de l'iFonction est remplacée par cette ligne.
Syntaxe
i = iFeature.FindRow("iFeatureName", "columnName", "<=", 0.2, "columnName", "<=", 4.1)
"iFeatureName"
Nom de l'iFonction liée à une table.
"columnName"
Titre de la colonne pour la recherche.
Opérateurs
Cette valeur peut être une valeur numérique ou une chaîne de texte. Elle peut être spécifiée à l'aide d'une valeur explicite, d'un paramètre ou d'une variable locale.
Retours
iFeature.CurrentRowValue(“columnName”)
Lit une valeur à partir de la ligne trouvée à l'aide de la fonction iFeature.FindRow, où "columnName" est le nom du titre de la colonne. Il renvoie la valeur de la cellule tirée de la valeur de la ligne actuelle renvoyée par la fonction iFeature.FindRow. Par exemple :
i = iFeature.FindRow("RectangularPocket1", "pocketdepth", "=", 0.250) pocketlength = iFeature.CurrentRowValue("pocketlength") pocketwidth = iFeature.CurrentRowValue("pocketwidth")
Si la colonne n'existe pas dans l'iFonction, la règle affiche un message d'erreur.
iFeature.CurrentRowStringValue("columnName")
Utilisez cette fonction lorsque l'entrée recherchée dans la table d'iFonction est une chaîne de texte. Par exemple :
Part_number = iFeature.CurrentRowStringValue("Part Number")
Utilisée avec la fonction iFeature.FindRow, cette fonction vous permet de rechercher une valeur comprise dans une plage plutôt qu'une valeur exacte. Il existe toujours une tolérance pour cette recherche. La tolérance par défaut est 0.0000001 et ne dépend pas des unités du document.
Syntaxe
iFeature.Tolerance = <valeur>
Permet de définir une tolérance plus élevée pour augmenter la plage de valeurs autorisées.
Exemple
iFeature.Tolerance = 0.001 i = iFeature.FindRow("insertpocket", "pocketlength", "=", 2.0)
Cet exemple correspond à une ligne avec une valeur pocketlength égale à 2.0004.