EAGLE Help

UL_PAD


Data members

angle real (0.0...359.9)
diameter[layer] int
drill int
drillsymbol int
elongation int
flags int (PAD_FLAG_...)
name string (PAD_NAME_LENGTH)
shape[layer] int (PAD_SHAPE_...)
signal string
x, y int (Mittelpunkt, siehe Anmerkung)

Konstanten

PAD_FLAG_STOP Lötstopmaske generieren
PAD_FLAG_THERMALS Thermals generieren
PAD_FLAG_FIRST spezielle Form für "erstes Pad" verwenden

PAD_SHAPE_SQUARE square
PAD_SHAPE_ROUND round
PAD_SHAPE_OCTAGON octagon
PAD_SHAPE_LONG long
PAD_SHAPE_OFFSET offset
PAD_SHAPE_ANNULUS annulus (nur in Verbindung mit Supply-Layern)
PAD_SHAPE_THERMAL thermal (nur in Verbindung mit Supply-Layern)

PAD_NAME_LENGTH max. empfohlene Länge eines Pad-Namens (identisch mit CONTACT_NAME_LENGTH)

Siehe auch UL_PACKAGE, UL_CONTACT, UL_SMD

Anmerkung

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

Durchmesser und Form des Pads hängen vom Layer ab für den es erzeugt werden soll, da diese Werte, abhängig von den Design Rules, unterschiedlich sein können. Wird als Index für das Data-Member "diameter" oder "shape" einer der Layer LAYER_TOP...LAYER_BOTTOM, LAYER_TSTOP oder LAYER_BSTOP angegeben, berechnet sich der Wert nach den Vorgaben der Design Rules. Gibt man LAYER_PADS an, wird der in der Bibliothek definierte Wert verwendet.

drillsymbol liefert die Nummer des Bohrsymbols, welches diesem Bohrdurchmesser zugeordnet worden ist (siehe die Liste der definierten Bohrsymbole im Handbuch). Ein Wert von 0 bedeutet, daß diesem Bohrdurchmesser kein Bohrsymbol zugeordnet ist.

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

elongation ist nur für die Pad-Formen PAD_SHAPE_LONG und PAD_SHAPE_OFFSET gültig und bestimmt um wieviel Prozent die lange Seite eines solchen Pads länger ist als seine schmale Seite. Für alle anderen Pad-Formen liefert dieses Member den Wert 0.

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

if (pad.flags & PAD_FLAG_STOP) {
   ...
   }
Falls Ihr ULP lediglich die Objekte darstellen soll, brauchen Sie sich nicht explizit um diese Flags zu kümmern. Die diameter[] und shape[] Members liefern die richtigen Daten; ist zum Beispiel PAD_FLAG_STOP gesetzt, so liefert diameter[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.pad)
         printf("Pad: '%s', (%d %d), d=%d\n",
                 C.name, C.pad.x, C.pad.y, C.pad.diameter[LAYER_BOTTOM]);
      }
    }
  }

Index Copyright © 2005 CadSoft Computer GmbH