UL_SMD

Miembros de datos

á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

Constantes

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)

Nota

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.

Ejemplo

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));
      }
    }
  }