Dans de nombreuses situations, il est nécessaire de modéliser des liens entre différentes entités de classification. Ceci est modélisé de manière tout à fait générale par la classe Inter Part Link. Elle permet tout d'abord d'établir des liens totalement abstraits entre différentes instances de classe et ne se limite pas à une partie. Un exemple serait une armoire électrique avec différentes bornes reliées entre elles par des câbles. Dans cet exemple, les informations de connexion décrivent le câblage physique de manière abstraite en tant que connexion logique.
Représentation schématique d'un câble de capteur (fiche - câble - fiche) - En général, les deux fiches ainsi que le câble seront des projets propres. Le système n'est pas limité à cet égard.
La représentation schématique de l'image ci-dessus n'est pas avantageuse pour nos besoins. C'est pourquoi nous considérons l'exemple dans une représentation logique. (Analogue aux schémas électriques.)
Dans cette représentation logique, les propriétés individuelles des différents projets telles que la longueur, la taille, la largeur et le poids ne sont pas pertinentes. Dans ce contexte, seules les informations de connexion sont décisives, comme le montre l'illustration suivante.
Au niveau d'abstraction le plus élevé, la situation se réduit au tableau suivant.
Pin in Part 1 | Connexion au fil (côté gauche) | Connexion de fils (côté droit) | Pin dans la partie 2 | |
1 | 1 | Câble | 1 | 3 |
2 | 2 | 2 | 2 | |
3 | 3 | 3 | 1 |
C'est à ce niveau que fonctionne la classe CNS CNSELEK|5|7 (Inter Part Links ). Cette classe permet d'établir des connexions entre des instances de classe générales (deux nœuds [vertex]) à un niveau abstrait. Notez que dans l'exemple ci-dessus, les broches individuelles sont des instances de la classe CNS_CP|4|3 (connexion électrique) ; les fils du câble sont des instances de la classe CNSELEK|8|2|2 (fil du câble). C'est pourquoi le tableau ci-dessus contient 6 connexions. C'est-à-dire une connexion des broches de la partie 1 vers le côté gauche des conducteurs ainsi que des connexions du côté droit du conducteur vers les broches de la partie 2.
L'information sur les parties auxquelles appartient une instance de classe est donnée par des "alias" (identificateurs uniques). On peut les voir par exemple dans le PARTdataManager, dans la boîte de dialogue Structure d'assemblage [Assembly structure].
Dans l'exemple, la pièce 1 a l'alias "PLUG1", le câble a l'alias "PART02" et le deuxième connecteur a l'alias "PLUG2". Avec ces "ingrédients", nous pouvons déjà modéliser cette situation.
La classe CNSELEK|5|7 (Inter Part Link ) a les caractéristiques suivantes :
Vertex 1 ASM Member ID : Localise la partie (1) de la connexion sortante via l'alias correspondant.
Vertex 1 Class Instance : Localise l'instance de classe correspondante dans la partie (1)
Vertex 2 ASM Member ID : Localise la partie (2) de la connexion entrante via l'alias correspondant.
Vertex 2 Class Instance : Localise l'instance de classe correspondante dans la partie (2)
Pour les attributs Vertex Class Instance et Vertex Asm Member ID, un concept analogue à XML X-Path est utilisé (ici le symbole Pipe au lieu du "/"). Une fois pour localiser la partie dans l'assemblage et ensuite pour définir dans la partie l'instance de classe correspondante. Le seul point important est que l'objet racine (assembly) est localisé par l'alias implicite "root". Les données du tableau prennent la forme suivante :
Huit lignes décrivent une connexion complète d'une broche du connecteur 1 avec une broche du connecteur 2 via le fil d'un câble.
Le schéma présenté ne se limite pas à des systèmes tels que fiche-câble-connecteur, mais peut décrire n'importe quel lien entre des instances de classe dans différentes parties. The meaning of such constructs depends on the specific case and is not initially determined by the Inter Part Links class.
Remarque : Il est également possible, par exemple, de lier une instance de classe qui "vit" sur l'assembly lui-même à une instance de classe d'une partie ; cela ressemblerait à ceci :
Les sous-circuits suivent directement la procédure générale présentée ci-dessus. Toutefois, pour créer un sous-circuit explicite, il faut encore écrire au niveau de l'assembly la classe CNSELEK|1, avec la caractéristique Override Component Type, avec la valeur "SubCircuit". Cela présuppose une modélisation cohérente des liens Inter Part.