library(L) { ... } schematic(S) { ... } board(B) { ... }Diese Zugriffs-Statements schaffen einen Kontext, innerhalb dessen Sie auf alle Objekte in Bibliotheken, Schaltplänen oder Platinen zugreifen können.
Auf die "Properties" dieser Objekte kann mit Hilfe von Members zugegriffen werden.
Es gibt zwei Arten von Members:
board(B) { printf("%s\n", B.name); }liefert Data member name des Board-Objekts B den Board-Namen.
board(B) { printf("%f\n", B.grid.size); }wo Data member grid des Boards ein Grid-Objekt zurückliefert, dessen Data member size dann Grid-Size (Rastergröße) zurückgibt.
Loop members werden verwendet, um auf Mehrfach-Objekte
derselben Art zuzugreifen, die in einem Objekt einer höheren Hierarchiestufe
enthalten sind:
board(B) {
B.elements(E) {
printf("%-8s %-8s\n", E.name, E.value);
}
}
Dieses Beispiel verwendet Loop member elements() des Boards,
um eine Schleife durch alle Board-Elemente zu realisieren. Der Block nach
dem B.elements(E)-Statement wird der Reihe nach für jedes Element
ausgeführt, und das gegenwärtige Element kann innerhalb des Blocks unter
dem Namen E angesprochen werden.
Loop members behandeln Objekte in alpha-numerisch sortierter Reihenfolge, falls die Objekte einen Namen haben.
Eine Loop-member-Funktion erzeugt eine Variable vom erforderlichen Typ,
um die Objekte zu speichern. Sie dürfen jeden gültigen Namen für eine
derartige Variable verwenden, so daß das obige Beispiel auch so lauten könnte:
board(MyBoard) {
B.elements(TheCurrentElement) {
printf("%-8s %-8s\n", TheCurrentElement.name, TheCurrentElement.value);
}
}
Das Ergebnis wäre identisch mit dem vorhergehenden Beispiel. Der Gültigkeitsbereich
einer Variablen, die von einer Loop-member-Funktion angelegt wird, ist
auf das Statement oder den Block unmittelbar nach dem Loop-Funktionsaufruf
beschränkt.
Objekt-Hierarchie einer (Bibliothek) Library:
LIBRARY
GRID
LAYER
DEVICE
GATE
PACKAGE
PAD
SMD
ARC
CIRCLE
HOLE
RECTANGLE
TEXT
WIRE
POLYGON
WIRE
SYMBOL
PIN
ARC
CIRCLE
RECTANGLE
TEXT
WIRE
POLYGON
WIRE
Objekt-Hierarchie eines Schaltplans (Schematic):
SCHEMATIC
GRID
LAYER
LIBRARY
SHEET
ARC
CIRCLE
RECTANGLE
TEXT
WIRE
POLYGON
WIRE
PART
INSTANCE
BUS
SEGMENT
TEXT
WIRE
NET
SEGMENT
JUNCTION
PINREF
TEXT
WIRE
Objekt-Hierarchie einer Platine (Board):
BOARD
GRID
LAYER
LIBRARY
ARC
CIRCLE
HOLE
RECTANGLE
TEXT
WIRE
POLYGON
WIRE
ELEMENT
SIGNAL
CONTACTREF
POLYGON
WIRE
VIA
WIRE
Index | Copyright © 1999 CadSoft Computer GmbH |