UL_INSTANCE

Membres de données

angle réel (0, 90, 180 et 270)
colonne chaîne (voir remarque)
gate UL_GATE
symétrie int (entier)
Nom chaîne (INSTANCE_NAME_LENGTH)
pièce UL_PART
ligne chaîne (voir remarque)
feuille entier (0=inutilisé, >0=numéro de feuille)
smashed entier (voir remarque)
valeur chaîne (PART_VALUE_LENGTH)
x, y entier (point d’origine)

Membres de boucle

attributes() UL_ATTRIBUTE (voir remarque)
texts() UL_TEXT (voir remarque)
xrefs() UL_GATE (voir remarque)

Voir aussi UL_PINREF

Constantes

INSTANCE_NAME_LENGTH longueur maximale recommandée d’un nom d’instance (utilisée dans la sortie formatée uniquement)
PART_VALUE_LENGTH longueur maximale recommandée d’une valeur de pièce (les instances ne possèdent pas de valeur propre)

Remarque

Le membre de boucle attributes() parcourt uniquement les attributs qui ont été explicitement affectés à cette instance (y compris les attributs écrasés).

Le membre de boucle texts() parcourt uniquement les textes de l’instance qui ont été détachés à l’aide de la commande REPOSITION, ainsi que les textes visibles des attributs affectés à cette instance. Pour traiter tous les textes d’une instance, vous devez parcourir le membre de boucle texts() de l’instance, ainsi que le membre de boucle texts() du symbole de la porte de l’instance. Si des attributs ont été affectés à une instance, le membre de boucle texts() transmet leurs textes au format dans lequel ils sont actuellement visibles.

Les membres de données column et row renvoient les numéros de colonne et de ligne correspondant à l’emplacement de l’instance dans le cadre, sur la feuille où l’instance est appelée. Si la feuille ne contient pas de cadre ou si l’instance est placée à l’extérieur du cadre, un point d’interrogation (caractère « ? ») est renvoyé. Ces membres ne peuvent être utilisés que dans un contexte de feuille.

Le membre de données smashed indique si l’instance est écrasée. Par ailleurs, pour déterminer s’il existe un paramètre de texte détaché, utilisez cette fonction en spécifiant le nom du paramètre entre crochets, par exemple smashed["VALUE"]. Cette fonction s’avère utile lorsque vous voulez sélectionner un tel texte à l’aide de la commande de déplacement, en exécutant MOVE R5>VALUE. Les noms de paramètres valides sont NAME, VALUE, PART et GATE, ainsi que les noms des attributs définis par l’utilisateur. Ils ne sont pas sensibles à la casse et peuvent être précédés du caractère « > ».

Le membre de boucle xrefs() parcourt les portes de référence croisée de contact de cette instance. Ces portes n’ont d’importance que si l’ULP crée un dessin d’un certain type (un fichier DXF, par exemple).

Exemple

schematic(S) {
  S.parts(P) {
    printf("Part: %s\n", P.name);
    P.instances(I) {
      if (I.sheet != 0)
         printf("\t%s used on sheet %d\n", I.name, I.sheet);
      }
    }
  }