| ángulo | real (0,0...359,9) |
| dx[capa], dy[capa] | int (tamaño) |
| indicadores | int (SMD_FLAG_...) |
| capa | int (consulte la nota) |
| nombre | cadena (SMD_NAME_LENGTH) |
| redondez | int (consulte la nota) |
| señal | cadena |
| x, y | int (punto central, véase nota) |
Consulte también UL_FOOTPRINT, UL_CONTACT, UL_PAD
| SMD_FLAG_STOP | generar máscara de parada |
| SMD_FLAG_THERMALS | generar térmicos |
| SMD_FLAG_CREAM | generar máscara |
| SMD_NAME_LENGTH | longitud máxima recomendada para el nombre de una smd (igual que CONTACT_NAME_LENGTH) |
Los parámetros de la smd dependen del contexto en el que se acceda a ella:
Si se inician los miembros de datos dx y dy con un índice opcional para la capa, los datos de esa capa se devuelven de acuerdo con las reglas de diseño. Las capas válidas son LAYER_TOP, LAYER_TSTOP y LAYER_TCREAM para una SMD en la capa superior y LAYER_BOTTOM, LAYER_BSTOP y LAYER_BCREAM para una SMD en la capa inferior, respectivamente.
El ángulo define cuántos grados va a girar la smd en sentido antihorario alrededor del centro.
El valor que devuelven los indicadores debe enmascararse con las constantes SMD_FLAG_... para determinar los parámetros de cada indicador, como en
if (smd.flags & SMD_FLAG_STOP) {
...
}Tenga en cuenta que si el ULP solo desea dibujar los objetos, no es necesario comprobar estos indicadores de forma explícita. Los miembros dx[] y dy[] devolverán los datos correctos; por ejemplo, si se establece SMD_FLAG_STOP, dx[LAYER_TSTOP] devolverá 0, lo que debería dar como resultado que no se dibuje nada en esa capa. El miembro indicadores es principalmente para ULP destinados a crear archivos de comandos para crear objetos de biblioteca.
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));
}
}
}