UL_SMD

Datenelemente

angle Reell (0.0...359.9)
dx[layer], dy[layer] Ganzzahl (Größe)
Flags Ganzzahl (SMD_FLAG_...)
Layer Ganzzahl (siehe Anmerkung)
Benennen Zeichenfolge (SMD_NAME_LENGTH)
roundness Ganzzahl (siehe Anmerkung)
Signal Zeichenfolge
x, y Ganzzahl (Mittelpunkt, siehe Anmerkung)

Siehe auch UL_FOOTPRINT, UL_CONTACT, UL_PAD.

Konstanten

SMD_FLAG_STOP Lötstoppmaske generieren
SMD_FLAG_THERMALS Thermals generieren
SMD_FLAG_CREAM Lötpastenmaske generieren
SMD_NAME_LENGTH MAx. empfohlene Länge eines SMD-Namens (entspricht CONTACT_NAME_LENGTH)

Anmerkung

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

Wenn die dx- und dy-Datenelemente mit einem optionalen Layerindex aufgerufen werden, werden die Daten für diesen Layer gemäß den Design-Regeln zurückgegeben. Gültige Layer sind LAYER_TOP, LAYER_TSTOP und LAYER_TCREAM für ein SMD auf dem Layer Oben und LAYER_BOTTOM, LAYER_BSTOP und LAYER_BCREAM für ein SMD auf dem Layer Unten.

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

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

if (smd.flags & SMD_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 dx[]- und dy[]-Elemente geben die korrekten Daten zurück. Wenn SMD_FLAG_STOP eingestellt ist, gibt dx[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.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));
      }
    }
  }