| constante | entier (0=variable, c’est-à-dire remplacement autorisé, 1=constante - voir note) |
| defaultvalue | chaîne (voir remarque) |
| affichage | entier (ATTRIBUTE_DISPLAY_FLAG_...) |
| Nom | chaîne |
| texte | UL_TEXT (voir remarque) |
| valeur | chaîne |
Voir aussi UL_DEVICE, UL_PART, UL_INSTANCE, UL_ELEMENT.
| ATTRIBUTE_DISPLAY_FLAG_OFF | rien n’est affiché |
| ATTRIBUTE_DISPLAY_FLAG_VALUE | affichage de la valeur |
| ATTRIBUTE_DISPLAY_FLAG_NAME | affichage du nom |
Vous pouvez utiliser un objet UL_ATTRIBUTE pour accéder aux attributs qui ont été définis dans la bibliothèque pour un composant ou affectés à une pièce dans le schéma ou le circuit imprimé.
Le membre de données display contient le résultat d’un OU binaire composé de ATTRIBUTE_DISPLAY_FLAG_... et définit les parties de l’attribut qui sont dessinées. Cette valeur n’est valable que si display est utilisé dans un contexte UL_INSTANCE ou UL_ELEMENT. Dans un contexte UL_ELEMENT, le membre de données constant ne renvoie une valeur que si l’annotation f/b est active ; sinon il renvoie 0.
Le membre de données defaultvalue renvoie la valeur définie dans la bibliothèque (si elle diffère de la valeur réelle, sinon il renvoie la valeur que le membre de données value). Dans un contexte UL_ELEMENT, le membre de données defaultvalue ne renvoie une valeur que si l’annotation f/b est active; sinon il renvoie une chaîne.
Le membre de données text n’est disponible que dans un contexte UL_INSTANCE ou UL_ELEMENT et il renvoie un objet UL_TEXT contenant tous les paramètres textuels. La valeur de cet objet texte est la chaîne telle qu’elle sera affichée, selon le paramètre display de UL_ATTRIBUTE. S’il est appelé depuis un autre contexte, les données de l’objet UL_TEXT renvoyé ne sont pas définies.
Dans le cas des attributs globaux, seuls les membres de données name et value sont définis.
schematic(SCH) {
SCH.parts(P) {
P.attributes(A) {
printf("%s = %s\n", A.name, A.value);
}
}
}
schematic(SCH) {
SCH.attributes(A) { // global attributes
printf("%s = %s\n", A.name, A.value);
}
}