| activetechnology | chaîne (voir remarque) |
| surface | UL_AREA |
| description | chaîne |
| headline | chaîne |
| bibliothèque | chaîne |
| libraryurn | chaîne (voir remarque) |
| libraryversion | entier (voir remarque) |
| Nom | chaîne (DEVICE_NAME_LENGTH) |
| empreinte | UL_FOOTPRINT (nouveau à partir d’EAGLE 9.1, voir remarque) |
| préfixe | chaîne (DEVICE_PREFIX_LENGTH) |
| technologies | chaîne (voir remarque) |
| valeur | chaîne (« On » ou « Off ») |
| attributes() | UL_ATTRIBUTE (voir remarque) |
| gates() | UL_GATE |
| packages3d() | UL_PACKAGE3D |
Voir aussi UL_DEVICESET, UL_LIBRARY, UL_PART
| DEVICE_NAME_LENGTH | longueur maximale recommandée d’un nom de composant (utilisée dans la sortie formatée uniquement) |
| DEVICE_PREFIX_LENGTH | longueur maximale recommandée d’un préfixe de composant (utilisée dans la sortie formatée uniquement) |
Tous les membres de UL_DEVICE, sauf name et technologies, renvoient les mêmes valeurs que les membres respectifs de UL_DEVICESET où l’objet UL_DEVICE a été défini. Le membre de données name renvoie le nom de la variante de package pour laquelle ce composant a créé à l’aide de la commande PACKAGE. Lorsque vous utilisez le texte de description, n’oubliez pas qu’il peut contenir des caractères de retour à la ligne (\n).
La valeur renvoyée par le membre de données activetechnology dépend du contexte dans lequel il est appelé :
Si le composant provient du jeu de composants en cours de modification dans la fenêtre de l’éditeur de bibliothèque, la technologie active définie par la commande TECHNOLOGY est renvoyée.
Si le composant est dérivé d’un objet UL_PART, la technologie utilisée par la pièce est renvoyée.
Sinon, une chaîne vide est renvoyée.
Le membre de données footprint renvoie l’encombrement affecté au composant via une commande PACKAGE. Elle peut être utilisée comme fonction booléenne pour vérifier si un encombrement a été affecté à un composant (voir l’exemple ci-dessous). (Notez que le membre de données footprint est nouveau dans EAGLE 9.1. Pour assurer la compatibilité avec les versions antérieures d’EAGLE, le membre de données package est également pris en charge.)
La valeur renvoyée par le membre de données technologies dépend du contexte dans lequel il est appelé :
Le membre de boucle attributes() a un paramètre supplémentaire qui spécifie la technologie pour laquelle les attributs doivent être transmis (voir le deuxième exemple ci-dessous).
Les membres de données libraryurn et libraryversion ne s’appliquent que si cet objet UL_DEVICE provient d’une bibliothèque gérée. Si ce n’est pas le cas, libraryurn est une chaîne vide et libraryversion est défini sur -1.
library(L) {
L.devicesets(S) {
S.devices(D) {
if (D.footprint)
printf("Device: %s, Footprint: %s\n", D.name, D.footprint.name);
D.gates(G) {
printf("\t%s\n", G.name);
}
}
}
}
library(L) {
L.devicesets(DS) {
DS.devices(D) {
string t[];
int n = strsplit(t, D.technologies, ' ');
for (int i = 0; i < n; i++) {
D.attributes(A, t[i]) {
printf("%s = %s\n", A.name, A.value);
}
}
}
}
}