EAGLE Help

UL_WIRE


Data members

arc UL_ARC
cap int (CAP_...)
curve real
layer int
style int (WIRE_STYLE_...)
width int
x1, y1 int (Anfangspunkt)
x2, y2 int (Endpunkt)

Loop members

pieces() UL_WIRE (siehe Anmerkung)

Konstanten

CAP_FLAT flache Arc-Enden
CAP_ROUND runde Arc-Enden
WIRE_STYLE_CONTINUOUS durchgezogen
WIRE_STYLE_LONGDASH lang gestrichelt
WIRE_STYLE_SHORTDASH kurz gestrichelt
WIRE_STYLE_DASHDOT Strich-Punkt-Linie

Siehe auch UL_BOARD, UL_PACKAGE, UL_SEGMENT, UL_SHEET, UL_SIGNAL, UL_SYMBOL, UL_ARC

Wire Style

Bei einem UL_WIRE mit anderem style als WIRE_STYLE_CONTINUOUS, kann über das Loop-Member pieces() auf die individuellen Teile, die z. B. eine gestrichelte Linie darstellen, zugegriffen werden. Wenn pieces() für UL_WIRE mit WIRE_STYLE_CONTINUOUS aufgerufen wird, erhält man ein Segment, das genau dem original UL_WIRE entspricht. Das Loop-Member pieces() kann nicht von UL_WIRE aus aufgerufen werden, wenn dieser selbst schon über pieces() aufgerufen wurde (das würde eine unendliche Schleife verursachen).

Arcs auf Wire-Ebene

Arcs sind zunächst einfach nur Wires, mit einigen zusätzlichen Eigenschaften. In erster Näherung werden Arcs genauso behandelt wie Wires, das heißt sie haben einen Anfangs- und Endpunkt, eine Breite und einen Linientyp. Hinzu kommen auf Wire-Ebene die Parameter cap und curve. cap gibt an ob die Arc-Enden rund oder flach sind, und curve bestimmt die "Krümmung" des Arcs. Der gültige Bereich für curve ist -360..+360, wobei der Wert angibt aus welchem Anteil eines Vollkreises der Arc besteht. Ein Wert von 90 beispielsweise steht für einen Viertelkreis, während 180 einen Halbkreis ergibt. Der maximale Wert von 360 kann nur theoretisch erreicht werden, da dies bedeuten würde, daß der Arc aus einem vollen Kreis besteht, der, weil Anfangs- und Endpunkt auf dem Kreis liegen müssen, einen unendlich großen Durchmesser haben müsste. Positive Werte für curve bedeuten, daß der Arc im mathematisch positiven Sinne (also gegen den Uhrzeigersinn) gezeichnet wird. Falls curve gleich 0 ist, handelt es sich um eine gerade Linie ("keine Krümmung"), was letztlich einem Wire entspricht.

Der cap Parameter ist nur für echte Arcs von Bedeutung und liefert für gerade Wires immer CAP_ROUND.

Ob ein UL_WIRE ein Arc ist oder nicht kann durch Abfragen des booleschen Rückgabewertes des arc Data-Members herausgefunden werden. Falls dieses 0 liefert, liegt ein gerader Wire vor, ansonsten ein Arc. Liefert arc nicht 0 so darf es weiter dereferenziert werden um die für einen UL_ARC spezifischen Parameter Start- und Endwinkel, Radius und Mittelpunkt zu erfragen. Diese zusätzlichen Parameter sind normalerweise nur von Bedeutung wenn der Arc gezeichnet oder anderweitig verarbeitet werden soll, und dabei die tatsächliche Form eine Rolle spielt.

Beispiel

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

Index Copyright © 2005 CadSoft Computer GmbH