UL_WIRE

Datenelemente

arc UL_ARC
cap Ganzzahl (CAP_...)
profil Reell
Layer int
Stil Ganzzahl (WIRE_STYLE_...)
Breite int
x1, y1 Ganzzahl (Startpunkt)
x2, y2 Ganzzahl (Endpunkt)

Loop-Members

pieces() UL_WIRE (siehe Anmerkung)

Siehe auch UL_BOARD, UL_FOOTPRINT, UL_SEGMENT, UL_SHEET, UL_SIGNAL, UL_SYMBOL, UL_ARC.

Konstanten

CAP_FLAT Flache Bogenenden
CAP_ROUND Runde Bogenenden
WIRE_STYLE_CONTINUOUS fortlaufend
WIRE_STYLE_LONGDASH Langer Strich
WIRE_STYLE_SHORTDASH Kurzer Strich
WIRE_STYLE_DASHDOT Strichpunkt

Linienstil

Ein UL_WIRE-Objekt mit einem anderen Stil als WIRE_STYLE_CONTINUOUS kann mithilfe des pieces()-Loop-Members auf die einzelnen Segmente zugreifen, die zum Beispiel eine gestrichelte Linie darstellen. Wenn pieces() für ein UL_WIRE-Objekt mit WIRE_STYLE_CONTINUOUS aufgerufen wird, ist ein einzelnes Segment zugänglich, das dem ursprünglichen UL_WIRE-Objekt entspricht. Das pieces()-Loop-Member kann nicht von einem UL_WIRE-Objekt aus aufgerufen werden, das selbst durch einen Aufruf von pieces() zurückgegeben wurde. Dies würde eine unendliche Wiederholung verursachen.

Bogen auf Linienebene

Bogen sind im Grunde Linien mit einigen zusätzlichen Eigenschaften. Auf der ersten Ebene werden Bogen genauso behandelt wie Linien, d. h., sie haben einen Start- und einen Endpunkt, eine Breite, einen Layer und einen Linienstil. Darüber hinaus verfügt ein Bogen auf Linienebene über die Parameter cap und curve. cap definiert, ob die Bogenenden rund oder flach sind, und curve definiert die Krümmung des Bogens.

Der gültige Bereich für curve lautet -360 bis +360. Der Wert gibt an, aus welchem Teil eines vollständigen Kreises der Bogen besteht. Ein Wert von 90 würde beispielsweise einen 90°-Bogen ergeben, während 180 einen Halbkreis ergeben würde. Der maximale Wert von 360 kann nur theoretisch erreicht werden, da dies bedeuten würde, dass der Bogen aus einem vollständigen Kreis besteht, der einen unendlich großen Durchmesser haben müsste, da der Start- und Endpunkt auf dem Kreis liegen müssen. Positive Werte für curve bedeuten, dass der Bogen im mathematisch positiven Sinn gezeichnet wird (d. h. gegen den Uhrzeigersinn). Wenn curve den Wert 0 aufweist, ist der Bogen eine gerade Linie (keine Krümmung).

Der cap-Parameter ist nur für tatsächliche Bogen von Bedeutung und gibt immer CAP_ROUND für eine gerade Linie zurück.

Ob ein UL_WIRE-Objekt ein Bogen ist, kann durch Überprüfen des booleschen Rückgabewerts des arc-Datenelements ermittelt werden. Wenn das Ergebnis 0 lautet, handelt es sich um eine gerade Linie, andernfalls um einen Bogen. Wenn arc einen Wert ungleich null zurückgibt, wird dieser möglicherweise weiter dereferenziert, um auf die UL_ARC-spezifischen Parameter für Start- und Endwinkel, Radius und Mittelpunkt zuzugreifen. Beachten Sie, dass Sie diese zusätzlichen Parameter möglicherweise nur benötigen, wenn Sie den Bogen zeichnen oder auf andere Weise so bearbeiten möchten, dass die tatsächliche Form wichtig ist.

Beispiel

board(B) {
  B.wires(W) {
    printf("Wire: (%f %f) (%f %f)\n",
           u2mm(W.x1), u2mm(W.y1), u2mm(W.x2), u2mm(W.y2));
    }
  }