Pour accéder aux fonctions Parameter, développez le noeud Paramètres sous l'onglet Système dans la zone Extraits de code.
Paramètre ("parameterName")
Cette fonction modifie directement les valeurs du paramètre.
Dans un ensemble, vous pouvez accéder aux paramètres des composants masqués. Cependant, si un composant est masqué, vous ne pouvez pas accéder à son paramètre directement avec une instruction d'affectation telle que :
PartA.ipt.d12 = 6.3
Au lieu de cela, vous pouvez utiliser :
Parameter("PartA:1", "d12") = 6.3
Notez qu'un nom du composant est spécifié au lieu d'un nom de fichier. Bien que vous donniez à la fonction un numéro de composant spécifique, la modification du paramètre affecte toutes les occurrences du composant. Le nom du composant est simplement un moyen pour la fonction d'identifier le fichier.
Renommer le composant manuellement afin de conserver son nom si le composant est remplacé.
Vous pouvez également utiliser la fonction MakePath correspondant au nom du composant :
Parameter(MakePath("SubAssem1:1", "Part1:1"), "d12") = 6.3
Vous pouvez lire la valeur actuelle d'un paramètre à l'aide de la syntaxe de l'une des instructions suivantes :
param_val = Parameter("d0")
param_val = Parameter("PartA:1", "d0")
Comme illustré dans les exemples suivants, le paramètre peut être dans le document actif. Vous pouvez utiliser le nom des paramètres accessibles à partir de la règle.
Dans un composant qui n'est pas masqué, vous pouvez spécifier le nom de fichier à la place du nom de composant : vous pouvez utiliser cette méthode pour modifier un paramètre d'une pièce de base qui n'apparaît pas en tant que composant dans un ensemble :
Parameter("PartA.ipt", "d12") = 6.3
Si un paramètre est introuvable, la fonction Parameter génère un message d'erreur. Vous pouvez supprimer le message d'erreur de l'une des manières suivantes :
Parameter.Quiet = True
Utilisez cette technique si vous savez que le paramètre est manquant et que vous êtes préparé pour cette condition.
Vous pouvez accéder aux paramètres dans une pièce de base à partir d'une pièce ou d'un ensemble dérivé. Vous pouvez également y accéder à partir d'un ensemble qui contient une pièce dérivée de la pièce de base.
Il est parfois utile de transférer les paramètres de la pièce de base à partir de règles dans l'ensemble. Cette technique est appelée modélisation verticale. Lorsque vous modifiez un paramètre de base, les paramètres liés de toutes les pièces dérivées sont également modifiés.
La pièce et ses paramètres ne sont pas toujours visibles dans l'arborescence du modèle de la boîte de dialogue Modifier la règle. Vous pouvez y accéder à l'aide de la fonction Paramètre. Par exemple, pour modifier un paramètre d'une pièce de base, utilisez :
Parameter("BaseShaft.ipt”, ”Diameter") = 0.125 in
En général, vous n'avez pas à lire de valeurs de paramètres à partir de la pièce de base. Les paramètres sont déjà liés dans la pièce ou l'ensemble dans lesquels vous travaillez.
Utilisez la fonction Parameter.Param pour obtenir l'accès direct à un paramètre Inventor. L'objet renvoyé est le paramètre de type de l'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
Vous pouvez également utiliser une seule ligne :
Parameter.Param("foo").Comment = "Commentaire défini par une règle"
Vous pouvez accéder à d'autres propriétés d'un paramètre Autodesk Inventor de l'une des manières suivantes :
param = Parameter.Param("parameterName") param = Parameter.Param("componentName", "parameterName")
Ces fonctions produisent un objet de la classe Inventor.Parameter. Voir l'aide à la programmation d'Inventor pour plus d'informations sur cette classe.
Utilisez des fonctions MultiValue pour accéder à la liste de valeurs stockées avec un paramètre multivaleur et modifier ces valeurs. Voici quelques exemples de leur utilisation :
MultiValue.SetList(“d0”, 0.5, 0.75, 1.0, 1.25)
Définit la liste des valeurs disponibles pour le paramètre d0.
MultiValue.SetList(“d0”, “3/8”, “d1 * 2”, “d1 * 3”)
Définit des équations au lieu de valeurs. Vous pouvez combiner des équations et des valeurs dans la liste.
MultiValue.SetList(“filename.ipt.str0”, “Value1”, “Value2”)
Définit une liste de valeurs pour un paramètre de texte dans une pièce.
MultiValue.SetList(“Part1:1”, “d0”, 0.5, 0.75, 1.0, 1.25)
Définit la liste de valeurs d'un paramètre dans un composant.
values = MultiValue.List(“d0”)
Extrait la liste de valeurs active, où la variable values est un objet de type VB.NET ArrayList.
MultiValue.SetValueOptions(True, DefaultIndex := 0, NumericCompare := “=”)
Force le paramètre à une valeur figurant dans sa liste multivaleur. Si vous modifiez la liste multivaleur par la suite, cette fonction définit également la valeur actuelle du paramètre sur l'une des valeurs de la liste. Cette fonction ne modifie pas la valeur si celle-ci est introuvable dans la nouvelle liste.
Si la valeur actuelle du paramètre n'est pas dans la liste, le paramètre est défini sur la première valeur (index 0) dans la liste.
Effectue une vérification d'égalité. Vous pouvez également utiliser "<=" ou ">=".
MultiValue.SetValueOptions(False)
Lorsque vous modifiez la liste multivaleur du paramètre, la valeur réelle du paramètre ne change pas. Ce comportement est le comportement par défaut de MultiValue.
MultiValue.List(“MyStringParam”) = iProperties.Materials
Définit un paramètre de texte sur une liste de valeurs équivalente à la liste de matières disponible dans la norme active.
MultiValue.List(“d0”) = New Double() {0.5, 0.75, 1.0, 1.25}
Utilise une autre méthode de définition de la liste de valeurs.
Des exemples qui utilisent des valeurs de Microsoft® Excel, reportez-vous à la section décrivant l'instruction GoExcel.CellValues.
MultiValue.UpdateAfterChange = True
Comme lorsque vous définissez le paramètre Parameter.UpdateAfterChange sur Vrai, cette instruction fait que le modèle Inventor est mis à jour après la modification de la valeur d'un paramètre par la fonction MultiValue.List ou MultiValue.SetList.
Le réglage Vrai met à jour le modèle (document) une fois que le paramètre est modifié. Cette fonction ne prend effet lorsque vous définissez des paramètres à l'aide de la fonction Paramètre :
Parameter.UpdateAfterChange = Vrai
Le réglage Vrai met à jour le modèle (document) une fois que le paramètre est modifié par la fonction du paramètre. Cette fonction ne prend effet lorsque vous définissez des paramètres à l'aide de la fonction Paramètre. Par exemple :
Cela met à jour le modèle.
Si vous n'avez pas besoin de mise à jour du modèle au milieu de la règle, vous pouvez dire au système d'effectuer la mise à jour lorsqu'il a terminé d'exécuter la règle. Utilisez cette instruction : iLogicVb.UpdateWhenDone = Vrai.
MultiValue.Quiet = True
Masque le message d'erreur qui s'affiche lorsqu'un paramètre est introuvable. Utilisez cette fonction si vous savez que le paramètre est manquant et que vous êtes préparé pour cette condition. Par exemple, il est possible que le paramètre n'existe pas dans chaque pièce à laquelle s'applique la règle.
foundVal = MultiValue.FindValue(aList, "<=", 4.0)
Recherche la valeur dans une liste qui se rapproche le plus de la condition. aList peut être un ArrayList ou Array. L'argument pour la comparaison peut être "<=", "=" ou ">=".
L'exemple suivant recherche la valeur inférieure ou égale à 4.0. Si plusieurs valeurs existent, la valeur la plus proche de 4.0 est renvoyée. S'il n'existe pas de valeur correspondante, cet exemple renvoie la constante VB "Nothing".
foundVal = MultiValue.FindValue(MultiValue.List("d0"), "<=", 4.0)
Vous pouvez tester pour cette condition.