EAGLE Help

UL_SMD


Data members

angle real (0.0...359.9)
dx[layer], dy[layer] int (size)
flags int (SMD_FLAG_...)
layer int (siehe Anmerkung)
name string (SMD_NAME_LENGTH)
roundness int (siehe Anmerkung)
signal string
x, y int (Mittelpunkt, siehe Anmerkung)

Konstanten

SMD_FLAG_STOP Lötstopmaske generieren
SMD_FLAG_THERMALS Thermals generieren
SMD_FLAG_CREAM Lotpastenmaske generieren

SMD_NAME_LENGTH max. empfohlenen Länge eines Smd-Namens (identisch mit CONTACT_NAME_LENGTH)

Siehe auch UL_PACKAGE, UL_CONTACT, UL_PAD

Anmerkung

Die Parameter des SMDs hängen vom Kontext ab in dem es angesprochen wird:

Ruft man die Data-Member dx und dy mit einem optionalen Layer-Index auf, werden die Werte für den zugehörigen Layer, entsprechend den Design Rules ausgegeben. Gültige Layer sind LAYER_TOP, LAYER_TSTOP und LAYER_TCREAM für ein Smd im Top-Layer, und LAYER_BOTTOM, LAYER_BSTOP und LAYER_BCREAM für ein Smd im Bottom-Layer.

angle gibt an um wieviel Grad das Smd gegen den Uhrzeigersinn um seinen Mittelpunkt gedreht ist.

Der Wert, den flags liefert, muß mit den SMD_FLAG_... Konstanten maskiert werden um die einzelnen Flag-Einstellungen zu ermitteln, wie zum Beispiel in

if (smd.flags & PAD_FLAG_STOP) {
   ...
   }
Falls Ihr ULP lediglich die Objekte darstellen soll, brauchen Sie sich nicht explizit um diese Flags zu kümmern. Die dx[] und dy[] Members liefern die richtigen Daten; ist zum Beispiel SMD_FLAG_STOP gesetzt, so liefert dx[LAYER_TSTOP] den Wert 0, was zur Folge haben sollte, daß in diesem Layer nichts gezeichnet wird. Das flags Member ist hauptsächlich für ULPs gedacht, die Script-Dateien erzeugen mit denen Bibliotheksobjekte kreiert werden.

Beispiel

library(L) {
  L.packages(PAC) {
    PAC.contacts(C) {
      if (C.smd)
         printf("Smd: '%s', (%d %d), dx=%d, dy=%d\n",
                 C.name, C.smd.x, C.smd.y, C.smd.dx, C.smd.dy);
      }
    }
  }

Index Copyright © 2005 CadSoft Computer GmbH