| 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) |
| attributes() | UL_ATTRIBUTE (voir remarque) |
| texts() | UL_TEXT (voir remarque) |
| xrefs() | UL_GATE (voir remarque) |
Voir aussi UL_PINREF
| 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) |
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).
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);
}
}
}