UL_PAD

Datenelemente

angle Reell (0.0...359.9)
diameter[layer] int
Bohrung int
drillsymbol int
elongation int
Flags Ganzzahl (PAD_FLAG_...)
Benennen Zeichenfolge (PAD_NAME_LENGTH)
shape[layer] Ganzzahl (PAD_SHAPE_...)
Signal Zeichenfolge
x, y Ganzzahl (Mittelpunkt, siehe Anmerkung)

Siehe auch UL_FOOTPRINT, UL_CONTACT, UL_SMD.

Konstanten

PAD_FLAG_STOP Lötstoppmaske generieren
PAD_FLAG_THERMALS Thermals generieren
PAD_FLAG_FIRST Spezielle "erste Pad"-Form verwenden
PAD_SHAPE_SQUARE Quadrat
PAD_SHAPE_ROUND rund
PAD_SHAPE_OCTAGON Achteck
PAD_SHAPE_LONG Längengrad
PAD_SHAPE_OFFSET Versatz
PAD_NAME_LENGTH Max. empfohlene Länge eines Pad-Namens (entspricht CONTACT_NAME_LENGTH)

Anmerkung

Die Parameter des Pads hängen vom Kontext ab, in dem darauf zugegriffen wird:

Die diameter*- und *shape-Elemente des Pads hängen von dem Layer ab, für den sie abgerufen werden sollen, da sie je nach Design-Regeln in jedem Layer unterschiedlich sein können. Wenn einer der Layer LAYER_TOP...LAYER_BOTTOM, LAYER_TSTOP oder LAYER_BSTOP als Index für das diameter- oder shape-Datenelement angegeben ist, wird der resultierende Wert entsprechend den Design-Regeln berechnet. Wenn LAYER_PADS angegeben wird, wird der in der Bibliothek definierte Rohwert zurückgegeben.

drillsymbol gibt die Nummer des Bohrsymbols zurück, das diesem Bohrdurchmesser zugewiesen wurde (eine Liste der definierten Bohrsymbole finden Sie im Handbuch). Der Wert 0 bedeutet, dass diesem Bohrdurchmesser kein Symbol zugewiesen wurde.

angle definiert, um wie viel Grad das Pad gegen den Uhrzeigersinn um seinen Mittelpunkt gedreht wird.

elongation ist nur für die Formen PAD_SHAPE_LONG und PAD_SHAPE_OFFSET gültig und definiert, um wie viel Prozent die lange Seite des Pads länger ist als die kurze Seite. Dieses Element gibt für alle anderen Pad-Formen 0 zurück.

Der von flags zurückgegebene Wert muss mit den Konstanten für PAD_FLAG_... maskiert werden, um die einzelnen Flag-Einstellungen zu bestimmen. Beispiel:

if (pad.flags & PAD_FLAG_STOP) {
   ...
   }

Beachten Sie, dass Sie diese Flags nicht explizit aktivieren müssen, wenn Sie in Ihrem ULP lediglich die Objekte zeichnen möchten. Die diameter[]*- und *shape[]-Elemente geben die korrekten Daten zurück. Wenn PAD_FLAG_STOP eingestellt ist, gibt diameter[LAYER_TSTOP] beispielsweise 0 zurück, was dazu führen sollte, dass auf diesem Layer nichts gezeichnet wird. Das flags-Element ist hauptsächlich für ULPs vorgesehen, in denen Skriptdateien zum Generieren von Bibliotheksobjekten erstellt werden sollen.

Beispiel

library(L) {
  L.footprints(FPT) {
    FPT.contacts(C) {
      if (C.pad)
         printf("Pad: '%s', (%f %f), d=%f\n",
                 C.name, u2mm(C.pad.x), u2mm(C.pad.y), u2mm(C.pad.diameter[LAYER_BOTTOM]));
      }
    }
  }