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 DEVICESET DEVICE GATE PACKAGE PAD SMD CIRCLE HOLE RECTANGLE TEXT WIRE POLYGON WIRE SYMBOL PIN CIRCLE RECTANGLE TEXT WIRE POLYGON WIREObjekt-Hierarchie eines Schaltplans (Schematic):
SCHEMATIC GRID LAYER LIBRARY SHEET CIRCLE RECTANGLE TEXT WIRE POLYGON WIRE PART INSTANCE BUS SEGMENT TEXT WIRE NET SEGMENT JUNCTION PINREF TEXT WIREObjekt-Hierarchie einer Platine (Board):
BOARD GRID LAYER LIBRARY CIRCLE HOLE RECTANGLE TEXT WIRE POLYGON WIRE ELEMENT SIGNAL CONTACTREF POLYGON WIRE VIA WIRE
Index | Copyright © 2005 CadSoft Computer GmbH |