| angle | real (0.0...359,9) |
| dx[layer], dy[layer] | int (dimensioni) |
| flags | int (SMD_FLAG_...) |
| layer | int (vedere nota) |
| name | string (SMD_NAME_LENGTH) |
| roundness | int (vedere nota) |
| signal | stringa |
| x, y | int (punto centrale, vedere nota) |
Vedere anche UL_FOOTPRINT, UL_CONTACT, UL_PAD
| SMD_FLAG_STOP | Genera una maschera di arresto |
| SMD_FLAG_THERMALS | Genera valori termici |
| SMD_FLAG_CREAM | Genera una maschera di pasta saldatura |
| SMD_NAME_LENGTH | lunghezza max. consigliata di un nome smd (uguale a CONTACT_NAME_LENGTH) |
I parametri di smd dipendono dal contesto di accesso:
Se i membri dati dx e dy vengono chiamati con un indice layer facoltativo, i dati relativi a tale layer vengono restituiti in base alle regole di progettazione. I layer validi sono LAYER_TOP, LAYER_TSTOP e LAYER_TCREAM per un smd nel layer superiore e rispettivamente LAYER_BOTTOM, LAYER_BSTOP e LAYER_BCREAM per un smd nel layer inferiore.
angle definisce di quanti gradi viene ruotato l'smd in senso antiorario attorno al centro.
Il valore restituito dai flag deve essere mascherato con le costanti SMD_FLAG_... per determinare le singole impostazioni dei flag, come in
if (smd.flags & SMD_FLAG_STOP) {
...
}Si noti che se il programma ULP desidera semplicemente disegnare oggetti, non è necessario selezionare questi flag in modo esplicito. I membri dx[] e dy[] restituiranno i dati corretti. Ad esempio, se SMD_FLAG_STOP è impostato su dxLAYER_TSTOP restituirà 0 e di conseguenza non dovrebbe essere generato alcun disegno nel layer. Il membro flags è principalmente utilizzato per i programmi ULP che desiderano creare file di script che creano oggetti libreria.
library(L) {
L.footprints(FPT) {
FPT.contacts(C) {
if (C.smd)
printf("Smd: '%s', (%f %f), dx=%f, dy=%f\n",
C.name, u2mm(C.smd.x), u2mm(C.smd.y), u2mm(C.smd.dx), u2mm(C.smd.dy));
}
}
}