Symbole in benutzerspezifischen Linientypen

Ein komplexer Linientyp kann integrierte Symbole enthalten, die in Symboldateien gespeichert werden. Komplexe Linientypen können Dienstprogramme, Umgrenzungen, Konturlinien usw. bezeichnen.

Ähnlich wie einfache Linientypen werden komplexe Linien dynamisch beim Festlegen der Kontrollpunkte gezeichnet. In Linien eingebettete Symbole und Textobjekte werden immer vollständig angezeigt. Sie werden niemals gestutzt.

Linientyp-Musterdeskriptoren mit Symbolobjekten ähneln denen für einfache Linientypen.

Für Symbolobjektdeskriptoren in einer Linientypbeschreibung gilt folgende Syntax:

[shape_name,shape_filename] or [shape_name,shape_filename,transform]

Hierbei ist Transformation optional und kann aus einer beliebigen Kombination der folgenden Elemente (jeweils durch Komma abgetrennt) bestehen:

R=## Relative Drehung

A=## Absolute Drehung

U=## Senkrechte Drehung

S=## Skalieren

X=## X Versatz

Y=## Y Versatz

In dieser Syntax ist ## eine Dezimalzahl mit Vorzeichen (1, 17, 0.01 usw.),  die Drehung wird in Grad und die restlichen Optionen in Linientyp-skalierten Zeichnungseinheiten angegeben. Auf die Transformations elemente müssen ein Gleichheitszeichen und eine Zahl folgen.

In der folgenden Linientypdefinition wird der Linientyp CON1LINE definiert, der aus einem sich wiederholenden Muster von Liniensegment, Freiraum und integriertem Symbol CON1 aus der Datei ep.shx besteht. (Die Datei ep.shx muss sich im Support-Pfad befinden, damit das folgende Beispiel korrekt funktioniert.)

*CON1LINE, --- [CON1] --- [CON1] --- [CON1]
A,1.0,-0.25,[CON1,ep.shx],-1.0

Mit Ausnahme des in eckigen Klammern eingeschlossenen Code entsprechen die beiden Zeilen der Definition eines einfachen Linientyps.

Wie bereits erläutert, können bis zu sechs Felder für die Definition eines Symbols als Teil eines Linientyps verwendet werden. Die ersten beiden sind erforderlich und müssen in der richtigen Reihenfolge angegeben werden. Die nächsten vier sind optional und können willkürlich angeordnet werden. Die folgenden beiden Beispiele zeigen verschiedene Symboldefinitionsfeldeinträge.

[CAP,ep.shx,S=2,R=10,X=0.5]

Dieser Code zeichnet das Symbol CAP, das in der Symboldatei ep.shx mit dem Zweifachen der Einheitenskala für den Linientyp skaliert ist, eine tangentiale Drehung von 10° gegen den Uhrzeigersinn aufweist und vor der Erstellung des Symbols einen X-Abstand von 0.5 Zeicheneinheiten besitzt.

[DIP8,pd.shx,X=0.5,Y=1,R=0,S=1]

Dieser Code zeichnet das Symbol DIP8, das in der Symboldatei pd.shx mit einem X-Versatz von 0.5 Zeicheneinheiten vor der Erstellung des Symbols definiert ist; der Y-Versatz ist eine Zeicheneinheit größer als der Linientyp, die Drehung beträgt Null und der Skalierfaktor entspricht der Einheitenskalierung des Linientyps.

Format von Zeichendeskriptoren

Für das Einfügen von Symbolen in eine Linientypbeschreibung gilt folgendes Format:

[shape_name,shape_filename,scale,rotate,xoffset,yoffset]

Bei den Werten für Maßstab, Drehung, X-Versatz und Y-Versatz muss es sich um Dezimalzahlen mit Vorzeichen handeln, wie z. B. 1, -17 oder 0.01.

Symbolname

Name des zu zeichnenden Symbols. Dieses Feld ist obligatorisch. Ohne dieses Feld ist die Linientypdefinition nicht möglich. Wenn shape_name in der angegebenen Symboldatei nicht vorhanden ist, wird der Linientyp geladen, jedoch ohne eingebettetes Symbol.

Symboldateiname

Der Name einer kompilierten Symboldefinitionsdatei (SHX-Datei). Ohne dieses Feld ist die Linientypdefinition nicht möglich. Wenn shape_filename unvollständig ist (also die Pfadangabe fehlt), werden die Support-Pfade des Programms nach der Datei durchsucht. Wenn shape_filename vollständig ist, aber an der angegebenen Position nicht gefunden wird, wird der Pfad entfernt, und die Support-Pfade des Programms werden nach der Datei durchsucht. Wird die Datei nicht gefunden, dann wird der Linientyp geladen und kann verwendet werden, jedoch ohne eingebettetes Symbol.

Skalieren

Der Skalierfaktor für das Symbol, mit dem die intern definierte Skalierung des Symbols multipliziert wird. Dem angegebenen Skalierfaktor muss das Präfix S = vorangestellt werden, z. B. wird mit S= 0.5 ein Faktor von 0.5 angegeben. Wenn die intern definierte Skalierung des Symbols gleich 0 ist, wird S= Wert als Skalierung verwendet.

Drehen

Der Drehwinkel des im Linientyp anzuzeigenden Symbols. Dem Drehwinkel muss das Präfix U=, R= oder A= vorangestellt werden.

  • U= definiert aufrechten oder leicht lesbaren Text.
  • R= gibt eine relative oder tangentiale Drehung im Verhältnis zur Linie an.
  • A= gibt eine absolute Drehung des Texts im Verhältnis zum Ursprung an: Alle Textsegmente werden unabhängig von ihrer Position relativ zur Linie um den gleichen Wert gedreht.
Anmerkung: Zeichnungen, die ältere Linientypen enthalten, welche nicht die Drehungsmarkierung "U" (Upgright=Aufrecht) verwenden, können auf die aktuelle Linientypdefinition aktualisiert werden, indem der Linientyp erneut aus der LIN-Dateien geladen wird. Benutzerspezifische Linientypen können aktualisiert werden, indem Sie vor dem Neuladen einer Linientypdefinition die Drehungsmarkierung "R" in "U" (Upright) ändern.
X-Versatz

Dieses Feld gibt die Verschiebung des Symbols entlang der X-Achse des Linientyps an, die vom Ende des Scheitelpunkts dieses Linientyps aus berechnet worden ist. Dem Versatz muss das Präfix X= vorangestellt werden, beispielsweise gibt X=0.1 einen Versatz von 0.1 an. Wird für den Versatz nichts oder der Wert 0 angegeben, dann wird das Symbol ohne Versatz erstellt. Geben Sie einen Wert in dieses Feld ein, wenn Sie eine durchgezogene Linie mit Symbolen benötigen. Dieser Wert wird nicht mit dem durch S=Wert definierten Skalierfaktor skaliert.

Y-Versatz

Dieses Feld gibt die Verschiebung des Symbols entlang der Y-Achse des Linientyps an, die vom Ende des Scheitelpunkts dieses Linientyps aus berechnet worden ist. Dem Versatz muss das Präfix Y= vorangestellt werden, beispielsweise gibt Y=0.1 einen Versatz von 0.1 an. Wird für den Versatz nichts oder der Wert 0 angegeben, dann wird das Symbol ohne Versatz erstellt. Geben Sie einen Wert in dieses Feld ein, wenn Sie eine durchgezogene Linie mit Symbolen benötigen. Dieser Wert wird nicht mit dem durch S=Wert definierten Skalierfaktor skaliert.