Symbolic table |
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 und 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
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
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
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.
Die Nummer für den Referenzpunkt des Textes
TXN 1
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
Es wird ein Attribut im Symbol angelegt:
QTX "NAM" "Hallo"
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> <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:
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.
--------------------OLD_TEXT--------------------- The symbolic tables become from Moskito thus interprets that an input free of format is possible. Word wraps, blanks... have no meaning. Comments begin with a call sign'!' and end at the line end. All key words must be written in capital letters. Symbolic tables are filed in the list SYMBOLS\*.sym.
Key words:
FIG FIE SYD REF DKY DKA TXM TXN TXI TEX LIN PLG CIT CSP IPO SYM KEY ICO
Syntax:
symbolTabelle:: = "FIG" uprightly ggf_key ggf_syd ggf_ref statements "FIE" ggf_key:: = "KEY" uprightly | ggf_syd:: = "SYD" uprightly | ggf_ref:: = "REF" uprightly | statemants:: = statement statements | statement:: = "DKY" uprightly | "DKA" uprightly | "TXM" uprightly | "TXI" uprightly | "TEX" koordinate uprightly string | "TEX" koordinate uprightly uprightly string | "LIN" vektor vektoren | "PLG" vektor vektoren | "CIT" koordinate uprightly | "CSP" koordinate koordinate uprightly index | "IPO" vektor vektoren | "QTX" string string | "ICO" uprightly koordinate | "ICO" uprightly uprightly koordinate | "SYM" uprightly koordinate uprightly
uprightly:: = <integer, if necessary with portent> koordinte:: = uprightly uprightly vektoren:: = vektor vektoren vektor:: = koordinate
Semantics
A symbolic file exists of a result of symbolic descriptions. Every description is closed in itself and has no influence on the other symbolic descriptions. If for a symbolic number several descriptions exist, it is not evaluated as a mistake, in this case the first description is used. A symbolic description is enclosed between FIG and FIE. The symbolic number which may be a number in the area from 1 to 65535 follows FIG immediately. Then optionally a Key sentence follows, if necessary a SYD sentence, then if necessary a REF sentence. Then any result of the remaining statements is allowed. All co-ordinates in the file may use the area of a 4-byte-long, portent-afflicted number and the unity amounts to 1/100 mm.
KEY sentence KEY <object key>
Because symbols are stored inside as objects, they can also receive like objects an object key and modify thus her appearance. Behind the key word KEY the number of the object key must follow, so
KEY 4711
SYD sentence SYD <radius>
Symbols can be attached to the corner points of line trains. If then such a line train is drawn, the line runs up to the corner point, then the symbol is drawn in this corner point and overlays therefore the line. To prevent this, a recess tip SYD <n> can brag. the fact that the drawing of the line is already finished n / 100tel. millimetre before the corner point and begins the next line as far late. If the hole should have a radius of 0.27 mm, the information is in the symbol
SYD 27
REF sentence REF <wide> <height>
It is possible to store symbols not only as a reference in the symbolic table, but also to take over as line trains in the data bank. Then such symbols can be also changed in the size. To own in this case an authoritative size such symbols with REF <x> <y> an expansion must get assigned. If it should be given that the symbol is 4 mm wide and 2.6 mm high, the information is
REF 400 260
DKY sentence DKY <sign key>
With This information the sign key is fixed for all following lines, circles... in this symbol. With it the appearance of the symbol is described. If several line types should be used, a DKY sentence must stand before every change of the line type. Then the appearance is determined by the sign key in connection with the object key how this is also described for all the other objects in the signature table. Should be the sign keys of all following lines 9, the information has to go
DKY 9
are accommodated.
DKA sentence DKA <surface key>
As well as the line types with the sign key DKY are fixed, the surface representations with the surface key DKA are given. If this is 0, it concerns lines without Füllangeben, as soon as the surface keys of 0 has passed away, the suitable part of the symbol is filled as this is described in the signature table. The sentence can be, e.g., as follows:
DKA 21
TXM sentence TXM <text kind>
In Moskito if several normal text kinds, possibly boldface font and italic writing, are defined. With
TXM 3
if the text kind 3 is chosen. What appears text kind, is described in extartentabelle. The text kind 0 is the normal writing.
TXN sentence TXN <authoritative point>
The number for the authoritative point of the text
TXN 1
TXI sentence TXI <height>
Beside the appearance of the text his size must be also fixed. This size is given in 1/100-mm steps. The information is valid for all following texts of this symbol, or up to the next TXI sentence. To put the text size of 22.4 mm the following line is necessary:
TXI 2240
TEX sentence TEX <x> <y> <corner> <string>
Then with this sentence the text is used after many settings in the symbol. If the text Symbol 11 mm should be used to the right of the zero vertically, has to go
TEX 1100 0 90 "symbols"
are put down on the symbolic definition.
LIN <sentence LIN x1 y1 x2 y2><><><>... <xn> <yn>
With a LIN sentence can be shown any, coherent polygon train. 2 figures are understood in each case as a co-ordinate and are connected with the predecessor. As a unity is valid again of 1/100 mm. To generate a closed rectangle with 1-mm edge length around the authoritative point the following line is necessary:
LIN 50 50-50 50-50-50 50-50 50 50
PLG <sentence PLG x1 y1 x2 y2><><><>... <xn> <yn>
This sentence as functions a LIN sentence. The difference consists in the fact that the last point is connected again with the first one. With LIN this co-ordinate would have to seem double. A rectangle around the authoritative point with 1-mm edge length originates by:
PLG 50 50-50 50-50-50 50-50
QTX sentence QTX <name> <worth>
An attribute is put on in the symbol:
"""Hello QTX NAM"
CIT sentence CIT <x> <y> <radius>
With a CIT sentence a full circle is inserted in the symbol. A circle around the point (2 mm, 3 mm) relatively to the authoritative point and with the radius 4 mm has the following definition:
CIT 200 300 400
CSP sentence CSP <x1> <y1> <x2> <y2> <radius> <{index>}
Not only full circles, but also arcs can be generated. With CSP a circle is generated by the point 1 to the point 2. If the radius is positive, the arc is explained against the clockwise, but with the clockwise. Moreover, an index can be given. If he exists and has the value 1, the arc with more than 180 degrees is explained. In all other cases the arc with 180 degrees or is drawn less. A circle with 1-cm height between the points (0,0) and (0 cm, 2 cm) and an interpoint (1 cm, 1 cm) is is:
CSP 0 0 0 2000-1000
A small quarter circle looks, for example, thus:
CSP 60 0 0 60 60
IPO <sentence IPO x1 y1 x2 y2><><><>... <xn> <yn>
An IPO sentence is identical with a LIN sentence. Only no l connections, but C connections are put on between the points. Further details can be taken from the function to AddString or the description of a string element.
ICO sentence ICO <num> <x> <y>
ICO sentence ICO <num> <ref> <x> <y>
If places an Icon. The Icon is inserted with (x, y). <>It is given only <num>, this is the Iconnummer from 10000, 20000 or 30000. with 10000 the standard size is used, with 20000 the small, with 30000 the middle one. The adviser's point in the Icon is below a middle. If the authoritative point is given, are valid the following values of the positions:
SYM sentence SYM <symbolic number> <x> <y> <corner>
In a symbol a reference to another symbol can appear again. This can be several times geschachtelt. The user should pay attention to the fact that the Schachtelung is limited. But the sign routine gets in problems. If, e.g., 3 mm above the middle and 4.23 mm below the middle of a symbol the symbol 4 should be used, the information is
SYM 4 0 300 0 SYM 4 0-423 23
The lower symbol is turned, in addition, still about 23 degrees against the clockwise. The fulcrum is the point (0,0) of the symbol 4.
|