EAGLE Help

Objekt-Typen


Die EAGLE-Datenstruktur ist in drei Binärdatei-Typen gespeichert: Diese Dateien enthalten Objekte, die hierarchisch gegliedert sind. In einem User-Language-Programm kann man auf die Hierarchiestufen mit Hilfe der entsprechenden Builtin-Zugriffs-Statements zugreifen:
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:

Data members liefern die Objektdaten unmittelbar. Zum Beispiel in
board(B) {
  printf("%s\n", B.name);
  }
liefert Data member name des Board-Objekts B den Board-Namen.
Data members können auch andere Objekte zurückgeben, wie in
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
      WIRE
Objekt-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
        WIRE
Objekt-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