| angle | réel (0...359,9) |
| diameter[layer] | entier |
| perçage | int (entier) |
| drillsymbol | int (entier) |
| elongation | int (entier) |
| indicateurs | entier (PAD_FLAG_...) |
| Nom | chaîne (PAD_NAME_LENGTH) |
| shape[layer] | entier (PAD_SHAPE_...) |
| signal | chaîne |
| x, y | entier (point central, voir remarque) |
Voir aussi UL_FOOTPRINT, UL_CONTACT, UL_SMD
| PAD_FLAG_STOP | générer un masque d’arrêt |
| PAD_FLAG_THERMALS | générer les symboles thermiques |
| PAD_FLAG_FIRST | utiliser la forme spéciale de « première pastille » |
| PAD_SHAPE_SQUARE | carré |
| PAD_SHAPE_ROUND | round |
| PAD_SHAPE_OCTAGON | octogone |
| PAD_SHAPE_LONG | long |
| PAD_SHAPE_OFFSET | décalage |
| PAD_NAME_LENGTH | longueur maximale recommandée d’un nom de pastille (identique à CONTACT_NAME_LENGTH) |
Les paramètres de la pastille dépendent du contexte dans lequel vous y accédez :
Le diamètre et la forme de la pastille (membres de données diameter[] et shape[], respectivement) dépendent de la couche pour laquelle ils doivent être extraits, car ils peuvent être différents dans chaque couche, selon les règles de conception. Si l’une des couches LAYER_TOP...LAYER_BOTTOM, LAYER_TSTOP ou LAYER_BSTOP est spécifiée en index du membre de données diameter ou shape, la valeur obtenue est calculée conformément aux règles de conception. Si la couche LAYER_PADS est spécifiée, la valeur renvoyée est la valeur brute telle que définie dans la bibliothèque.
Le membre de données drillsymbol renvoie le numéro du symbole de perçage qui a été affecté au diamètre de perçage (voir le manuel pour obtenir la liste des symboles de perçage définis). La valeur 0 indique qu’aucun symbole n’a été affecté au diamètre de perçage.
Le membre de données angle définit le degré de rotation de la pastille dans le sens trigonométrique autour de son centre.
Le membre de données elongation définit le rapport en pourcentage entre le côté long de la pastille et son côté court. Il est valable uniquement pour les formes PAD_SHAPE_LONG et PAD_SHAPE_OFFSET, et renvoie 0 pour toute autre forme de pastille.
La valeur renvoyée par le membre de données flags doit être masquée avec les constantes PAD_FLAG_... pour déterminer les paramètres de chaque indicateur, comme dans l’exemple suivant :
if (pad.flags & PAD_FLAG_STOP) {
...
}Notez que si l’ULP doit seulement dessiner les objets, il n’est pas nécessaire de vérifier explicitement ces indicateurs. Les membres de données diameter[] et shape[] renverront les données correctes. Par exemple, si la constante PAD_FLAG_STOP est définie, le membre de données diameter[LAYER_TSTOP] renvoie 0. Normalement, rien n’est donc dessiné dans cette couche. Le membre de données flags est principalement destiné aux ULP conçus pour générer des fichiers script qui créent des objets de bibliothèque.
library(L) {
L.footprints(FPT) {
FPT.contacts(C) {
if (C.pad)
printf("Pad: '%s', (%f %f), d=%f\n",
C.name, u2mm(C.pad.x), u2mm(C.pad.y), u2mm(C.pad.diameter[LAYER_BOTTOM]));
}
}
}