Symboltabelle

Top  Previous  Next

Die Symboltabellen werden von Moskito so interpretiert, daß eine formatfreie Eingabe möglich ist. Zeilenumbrüche, Leerzeichen, ... haben kein Bedeutung. Kommentare beginnen mit einem Rufzeichen '!' und enden mit dem Zeilenende. Alle Schlüsselworte müssen in Großbuchstaben geschrieben sein. Symboltabellen werden im Verzeichnis SYMBOLS\*.sym abgelegt.

 

Schlüsselworte:

 

FIG FIE SYD REF DKY DKA TXM TXN TXI TEX LIN PLG CIT CSP IPO SYM KEY ICO

 

Syntax:

 

symbolTabelle::=                "FIG" integer ggf_key ggf_syd ggf_ref statements "FIE"

ggf_key::=                        "KEY" integer |

ggf_syd::=                        "SYD" integer |

ggf_ref::=                        "REF" integer |

statemants::=                statement statements |

statement::=                "DKY" integer |

                         "DKA" integer |

                         "TXM" integer |

                         "TXI" integer |

                         "TEX" koordinate integer string |

                         "TEX" koordinate integer string integer |

                         "TEX" koordinate integer integer string |

                         "TEX" koordinate integer integer string integer |

                         "LIN" vektor vektoren |

                               "PLG" vektor vektoren |

                         "CIT" koordinate integer |

                         "CSP" koordinate koordinate integer index |

                         "IPO" vektor vektoren |

                         "QTX" string string |

                         "ICO" integer koordinate |

                         "ICO" integer integer koordinate |

                         "SYM" integer koordinate integer

 

integer::=                        <ganze Zahl, ggf mit Vorzeichen>

koordinte::=                integer integer

vektoren::=                        vektor vektoren

vektor::=                        koordinate

 

Semantik

 

Eine Symboldatei besteht aus einer Folge von Symbolbeschreibungen. Jede Beschreibung ist in sich geschlossen und hat keinen Einfluß auf die anderen Symbolbeschreibungen. Wenn für eine Symbolnummer mehrere Beschreibungen existieren, wird dies nicht als Fehler gewertet, es wird in diesem Fall die erste Beschreibung verwendet. Eine Symbolbeschreibung wird zwischen

FIG

und

FIE

eingeschlossen. Auf FIG folgt sofort die Symbolnummer, die eine Zahl im Bereich 1 bis 65535 sein darf. Optional folgt ein Key-Satz, dann ggf. ein SYD-Satz, dann ggf. ein REF-Satz. Danach ist eine beliebige Folge der restlichen Statements zulässig. Alle Koordinaten in der Datei dürfen den Bereich einer 4 Byte langen, vorzeichenbehafteten Zahl ausnutzen, wobei die Einheit 1/100 mm beträgt.

 

KEY-Satz KEY <Objektschlüssel>

 

Da Symbole intern als Objekte gespeichert werden, können sie auch wie Objekte einen Objektschlüssel erhalten und so ihr Aussehen modifizieren. Hinter dem Schlüsselwort KEY muß die Nummer des Objektschlüssels folgen, also

 

KEY 4711

 

SYD-Satz SYD <Radius>

 

Symbole können an die Eckpunkte von Linienzügen geknüpft werden. Wenn dann ein solcher Linienzug gezeichnet wird, verläuft die Linie bis zum Eckpunkt, dann wird an diesem Eckpunkt das Symbol gezeichnet und überlagert somit die Linie. Um dies zu verhindern, kann ein Aussparungshinweis SYD <n> angeben. daß das Zeichnen der Linie schon n/100tel Millimeter vor dem Eckpunkt beendet wird und die nächste Linie genauso weit später beginnt. Wenn das Loch einen Radius von 0.27 mm haben soll, dann lautet die Angabe im Symbol

 

SYD 27

 

REF-Satz REF <Breite> <Höhe>

 

Es ist möglich, Symbole nicht nur als Verweis in die Symboltabelle zu speichern, sondern auch als Linienzüge in die Datenbank zu übernehmen. Dann lassen sich solche Symbole auch in der Größe verändern. Um in diesem Fall eine Referenzgröße zu besitzen müssen solche Symbole mit REF <x> <y> eine Ausdehnung zugewiesen bekommen. Wenn angegeben werden soll, daß das Symbol 4 mm breit und 2,6 mm hoch ist, lautet die Angabe

 

REF 400 260

 

DKY-Satz DKY <Zeichenschlüssel>

 

Mit Dieser Angabe wird der Zeichenschlüssel für alle nachfolgenden Linien, Kreise,... in diesem Symbol festgelegt. Damit wird das Aussehen des Symbols beschrieben. Wenn mehrere Linientypen verwendet werden sollen, so muß vor jeder Änderung des Linientyps ein DKY-Satz stehen. Das Aussehen wird dann vom Zeichenschlüssel in Verbindung mit dem Objektschlüssel bestimmt, wie dies auch für alle anderen Objekte in der Signaturtabelle beschrieben wird. Soll die Zeichenschlüssel aller folgenden Linien 9 sein, so muß die Angabe

 

DKY 9

 

untergebracht werden.

 

DKA-Satz DKA <Flächenschlüssel>

 

So wie die Linientypen mit dem Zeichenschlüssel DKY festgelegt werden, werden die Flächendarstellungen mit dem Flächenschlüssel DKA angegeben. Wenn dieser 0 ist, handelt es sich um eine Linien ohne Füllangeben, sobald die Flächenschlüssel von 0 verschieden ist, wird der entsprechende Teil des Symbols gefüllt, wie dies in der Signaturtabelle beschrieben ist. Der Satz kann z.B. folgendermaßen lauten:

 

DKA 21

 

TXM-Satz TXM <Textart>

 

In Moskito sind mehrere standardmäßige Textarten, etwa Fettschrift und Kursivschrift, definiert. Mit

 

TXM 3

 

wird die Textart 3 gewählt. Was als Textart erscheint, wird in der extartentabelle beschrieben. Die Textart 0 ist die Normalschrift.

 

TXN-Satz TXN <Referenzpunkt>

 

Die Nummer für den Referenzpunkt des Textes

 

TXN 1

 

TXI-Satz TXI <Hoehe>

 

Neben dem Aussehen des Textes muß auch seine Größe festgelegt werden. Diese Größe wird in 1/100 mm-Schritten angegeben. Die Angabe gilt für alle folgenden Texte dieses Symbols, bzw. bis zum nächsten TXI-Satz. Um die Textgröße von 22,4 mm einzustellen ist die folgende Zeile notwendig:

 

TXI 2240

 

TEX-Satz TEX <x> <y> <Winkel> <string>

 

Mit diesem Satz wird dann nach den vielen Einstellungen der Text im Symbol eingesetzt. Wenn der Text Symbol 11 mm rechts des Nullpunktes senkrecht eingesetzt werden soll, muß also

 

TEX 1100 0 90 "Symbol"

 

in die Symboldefinition eingetragen werden. Optional kann der Text linienbegleitend gesetzt werden, wenn das Symbol in einer Liniensignatur verwendet wird. Dazu muß auf den Text der konstante Wert 2 folgen:

 

TEX-Satz TEX <x> <y> <Winkel> <string> 2

 

Das Beispiel

 

TEX 0 0 0 "Hauptstraße" 2

 

setzt den Text Hauptstraße linienbegleitend.

 

LIN-Satz LIN <x1> <y1> <x2> <y2> ... <xn> <yn>

 

Mit einem LIN-Satz lassen sich beliebige, zusammenhängende Polygonzuge darstellen. Es werden jeweils 2 Zahlen als Koordinate aufgefaßt und mit dem Vorgänger verbunden. Als Einheit gilt wieder der 1/100 mm. Um ein geschlossenes Rechteck mit 1 mm Kantenlänge um den Referenzpunkt zu erzeugen ist also die folgende Zeile notwendig:

 

LIN 50 50 -50 50 -50 -50 50 -50 50 50

 

PLG-Satz PLG <x1> <y1> <x2> <y2> ... <xn> <yn>

 

Dieser Satz funktioniert genau so wie ein LIN-Satz. Der Unterschied besteht darin, daß der letzte Punkt wieder mit dem ersten verbunden wird. Bei LIN müßte diese Koordinate zweifach erscheinen. Ein Rechteck um den Referenzpunkt mit 1 mm Kantenlänge entsteht also durch:

 

PLG 50 50 -50 50 -50 -50 50 -50

 

QTX-Satz QTX <name> <wert>

 

Es wird ein Attribut im Symbol angelegt:

 

QTX "NAM" "Hallo"

 

CIT-Satz CIT <x> <y> <Radius>

 

Mit einem CIT-Satz wird ein Vollkreis in das Symbol eingefügt. Ein Kreis um den Punkt (2mm,3mm) relativ zum Referenzpunkt und mit dem Radius 4mm hat die folgende Definition:

 

CIT 200 300 400

 

CSP-Satz CSP <x1> <y1> <x2> <y2> <Radius> {<Index>}

 

Es lassen sich nicht nur Vollkreise, sondern auch Kreisbögen erzeugen. Mit CSP wird ein Kreis vom Punkt 1 zum Punkt 2 erzeugt. Wenn der Radius positiv ist, wird der Kreisbogen gegen den Uhrzeigersinn ausgeführt, sonst mit dem Uhrzeigersinn. Außerdem kann ein Index angegeben werden. Wenn er vorhanden ist und den Wert 1 hat, wird der Kreisbogen mit mehr als 180 Grad ausgeführt. In allen anderen Fällen wird der Kreisbogen mit 180 Grad oder weniger gezeichnet. Ein Kreis mit 1 cm Höhe zwischen den Punkten (0,0) und (0cm,2cm), wobei ein Zwischenpunkt (1cm,1cm) ist, lautet also:

 

CSP 0 0 0 2000 –1000

 

Ein kleiner Viertelkreis sieht bspw. so aus:

 

CSP 60 0 0 60 60

 

IPO-Satz IPO <x1> <y1> <x2> <y2> ... <xn> <yn>

 

Ein IPO-Satz ist mit einem LIN-Satz identisch. Nur werden zwischen den Punkten keine L-Verbindungen, sondern C-Verbindungen angelegt. Genaueres kann aus der Funktion AddString oder der Beschreibung eines Stringelementes entnommen werden.

 

ICO-Satz ICO <num> <x> <y>

 

ICO-Satz ICO <num> <ref> <x> <y>

 

Setzt ein Icon. Das Icon wird bei (x,y) eingefügt. Wird nur <num> angegeben, so ist dies die Iconnummer ab 10000, 20000 oder 30000. bei 10000 wird die Normalgröße verwendet, bei 20000 die kleine, bei 30000 die mittlere. Der Referentpunkt im Icon ist unten Mitte. Wird der Referenzpunkt angegeben, so gelten die folgenden Werte für die Positionen:

 

0

3

6

1

4

7

2

5

8

 

SYM-Satz SYM <Symbolnummer> <x> <y> <Winkel>

 

In einem Symbol kann wiederum ein Verweis auf ein anderes Symbol auftreten. Dies kann mehrfach geschachtelt sein. Der Anwender sollte darauf achten, daß die Schachtelung endlich ist. Sonst gerät die Zeichenroutine in Probleme. Wenn z.B. 3 mm oberhalb der Mitte und 4,23 mm unterhalb der Mitte eines Symbols das Symbol 4 eingesetzt werden soll, lautet die Angabe

 

SYM 4 0 300 0 SYM 4 0 -423 23

 

Das untere Symbol wird zusätzlich noch um 23 Grad gegen den Uhrzeigersinn gedreht. Der Drehpunkt ist der Punkt (0,0) des Symbols 4.