Fonctions Component dans iLogic

iLogic fournit des fonctions de règles pour la définition ou la lecture des couleurs et des états de masquage de composant ainsi qu'une fonction pour remplacer un composant par un autre. Ces fonctions sont utiles pour contrôler les différentes configurations des pièces ou des ensembles.

Vous pouvez créer un modèle (pièce ou ensemble) qui inclut les composants nécessaires pour représenter toutes les configurations correctes et possibles d'un produit. Cette méthode est appelée "super modélisation". Lorsque les composants d'un ensemble ou d'une pièce sont trop complexes ou nombreux et que la super modélisation devient impossible, utilisez la fonction Component.Replace.

Pour accéder aux fonctions Component, développez le noeud Composants sous l'onglet Système de la zone Extraits de code.

Attribution d'un nom de composant

Personnalisez tous les noms de composants avant de référencer les noms dans une règle. Lorsque vous modifiez le nom du composant affecté par défaut par Autodesk Inventor, vous vous assurez qu'il ne change pas lorsque le fichier .ipt ou .iam référencé est modifié.

Vous pouvez renommer le composant avec son nom d'origine et conserver sa stabilité. Pour modifier le composant, apportez une modification mineure au nom, puis rétablissez l'original.

Pour un composant du Centre de contenu, un changement de nom est requis pour la fonction Component.IsActive ainsi que pour la fonction Component.Replace.

Component.IsActive

Définit ou lit l'état de masquage et la structure de nomenclature d'un composant d'ensemble. Utilisez cette fonction pour inclure ou exclure un composant dans une configuration d'ensemble.

La fonction s'applique à un seul composant ou à des réseaux de composants. Pour les réseaux, utilisez le nom du réseau. Le réseau doit être au même niveau d'ensemble que la règle, et non dans un sous-ensemble.

Ne masquez pas les sous-composants. Il est donc préférable d'effectuer le masquage à partir d'une règle située au sein du composant.

Par exemple, un ensemble nommé TopAssembly contient un sous-ensemble SubAssembly:1 qui, lui-même, contient une pièce SamplePart:1.

Utilisez une règle de SubAssembly pour masquer SamplePart:1. Cette règle peut disposer d'un paramètre qui contrôle l'état de masquage, et vous pouvez manipuler le paramètre par une règle dans TopAssembly.

Lorsque vous utilisez iLogic pour masquer un composant, la structure de nomenclature du composant est définie sur Référence. Cette action évite que ce composant s'affiche dans la nomenclature. Il apparaît dans la vue des données de modèle, mais pas dans la vue Structuré ou Pièces uniquement. Si le composant est visible, iLogic renvoie le composant à son état avant le masquage (de type Normal, Indivisible et Acheté ou Fantôme).

Avant d'utiliser une règle iLogic pour modifier l'état de masquage d'un composant d'ensemble, créez et activez un niveau de détail personnalisé.

Syntaxe

Component.IsActive("ComponentName")

Exemples

Vous pouvez utiliser la valeur 1 au lieu de true et 0au lieu de false.

Pour définir l'état de masquage et la structure de la nomenclature :

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

Pour lire l'état de masquage et la structure de la nomenclature :

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

Component.iComponentIsActive

Variation de Component.IsActive, cette fonction définit ou lit l'état de masquage d'un composant d'iPièce ou d'iEnsemble. Si vous n'avez pas modifié manuellement le nom du composant, les iPièces et les iEnsembles requièrent l'utilisation de cette syntaxe dédiée.

Il est conseillé de modifier le nom du composant. Si vous le souhaitez, vous pouvez ensuite utiliser Component.IsActive au lieu de cette fonction.

Syntaxe

Component.iComponentIsActive(“iPartParentName:1”)

iPartParentName

Le nom de pièce de famille sans l'extension de nom de fichier .ipt.

Component.Color

Définit ou lit la couleur d'un composant.

Syntaxe

Component.Color(“iPartA:1”)

Exemples

Pour définir la couleur :

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

Pour lire la couleur :

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

Component.Visible

Définit ou lit la visibilité d'un composant. Cette fonction ne change pas la structure de nomenclature du composant.

Syntaxe

Component.Visible("componentName")

Exemples

Pour définir la visibilité :

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

Pour lire la visibilité :

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

Component.SkipDocumentSave

Indique si un fichier composant doit être enregistré dès qu'il change et ensuite si le composant doit être masqué par une règle.

Syntaxe

Component.SkipDocumentSave = True

Lorsque cette option est définie sur True, le fichier composant n'est pas enregistré.

La valeur par défaut est False (Component.SkipDocumentSave = False) ; le fichier composant est enregistré.

Component.Replace

Remplace une pièce ou un sous-ensemble par un(e) autre. Cette fonction peut également être utilisée pour remplacer des réseaux de composants.

Utilisez des iContraintes dans des composants en cours de modification pour conserver les contraintes d'ensemble tel quel. Vous pouvez remplacer une pièce par une pièce, une pièce par un ensemble ou un ensemble par une pièce.

La fonction recherche dans plusieurs dossiers le fichier à utiliser en remplacement :

Le nom de fichier peut être un chemin relatif (par rapport à l'un de ces emplacements de recherche).

Remarque : Avant d'utiliser cette fonction, "stabilisez" le nom du composant pour empêcher sa modification de lors du remplacement. Pour stabiliser le nom du composant, modifiez-le. Vous pouvez même stabiliser ce nom en le modifiant une fois, puis en rétablissant le nom d'origine. Si vous ne parvenez pas à stabiliser le nom, l'opération de remplacement modifie le composant pour correspondre à l'autre nom. Dans ce cas, la règle ne peut pas trouver le composant lorsqu'elle s'exécute de nouveau.

Syntaxe

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

ComponentToReplaceName

Nom de la pièce ou du sous-ensemble à remplacer.

OtherPartfilename

Pièce ou ensemble de remplacement.

<replaceAll>

Définissez cette valeur booléenne sur True pour remplacer toutes les occurrences de ce composant. Définissez la valeur sur False pour remplacer uniquement l'occurrence avec ce nom.

Exemple

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 (avec niveau de détail spécifié)

Cette variation de la fonction Component.Replace remplace un composant dans un ensemble par un autre composant de niveau de détail spécifique.

Syntaxe

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

Dans cette fonction, l'argument <replaceAll> est le même que celui indiqué pour la fonction Component.Replace plus générique.

Vous pouvez également remplacer un sous-ensemble par le même sous-ensemble de niveau de détail différent.

Component.ReplaceiPart

Requise pour les iPièces avec des paramètres personnalisés, cette fonction est également recommandée pour les iPièces normalisées. Utilisez-la à la place de Component.Replace lorsque le composant est une iPièce. Vous pouvez utiliser iPart.ChangeRow ou iPart.FindRow après le remplacement pour changer la configuration d'iPièce spécifique.

Pour une iPièce avec des paramètres personnalisés, répertoriez les valeurs des paramètres personnalisés après le numéro de ligne. Ces valeurs doivent s'afficher dans l'ordre dans lequel elles apparaissent dans le tableau.

Syntaxe

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

Utilisez rowNumber pour remplacer le composant et choisissez une ligne d'iPièce en même temps.

Exemples

Pour définir les paramètres personnalisés, répétez les valeurs personnalisées dans Component.ReplaceiPart et à nouveau dans iPart.ChangeRow ou ultérieurement dans iPart.FindRow dans la règle.

Pour ChangeRow :

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

Pour FindRow :

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

MakePath

Définit le chemin d'accès à un nom de composant d'un sous-ensemble. Pour spécifier le chemin d'accès, liste tous les niveaux dans l'ordre dans lequel ils apparaissent dans l'arborescence. Cette fonction est nécessaire si vous voulez spécifier un nom de composant lorsque le même nom existe déjà ailleurs dans l'ensemble.

Syntaxe

MakePath(“SubassemblyComponentName”,“PartComponentName”)

Exemples

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