UL_SMD

Membri dati

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

Costanti

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)

Nota

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.

Esempio

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