DXF - halbautomatische Legende

So erzeugen Sie automatische Legenden/Inhaltsverzeichnisse von/für ihre Autocad-Lite-Dateien.

Voraussetzung ist, dass Sie in Ihren Autocad-Dateien mit Blöcken/Symbolen arbeiten.

Optionen:
Überschrift: Bsp. Inhalt
Schriftgröße: Bsp. 1.5
Symbol-Textabstand (rel. zu Schrift): Bsp. 3.2
Skalierung der Symbole: Bsp. 0.01
Zeilenhöhe: Bsp. 2.5
Dateiendung der Symbol-Dateien: Alt. dxf
Ersatzzeichen für spezielle Zeichen: Bsp. -
Präfix für Symbolnamen: Bsp. 'nichts'
Suffix für Symbolnamen: Bsp. -leg
Verzeichnis für Symbol-DWGs: Bsp. .\Symb\

DXF-Ausgabe:

Mit der Web-Seite DXF - automatische Legende können Sie

Im Detail

  1. Speichern Sie Ihre Datei (oder einen Teil daraus), für die sie eine Legende erstellen möchten, in einer DXF-Datei ab.
  2. Klicken Sie auf den Button
    und wählen Sie im Datei-Dialog die DXF-Datei aus.
  3. Passen Sie eventuell einige Optionen an. Siehe Erklärungen weiter unten.
  4. Klicken Sie auf   , um die Datei einlesen und die automatische Legende erstellen zu lassen.
  5. Wenn alles glatt läuft, erscheint im Textfeld DXF-Ausgabe der DXF-Text, den Sie mittels Zwischenablage in einen Texteditor Ihrer Wahl kopieren und dann in eine Textdatei mit der Endung "dxf" abspeichern.
  6. Die neue DXF-Datei können Sie dann mit Autocad-Lite öffnen und nutzen.

Erklärungen

Option: Überschrift

Dieser Text erscheint als Überschrift der Legende. Sinnvolle Texte sind auch: Legende, Inhalt, Inhaltangabe, Symbolliste etc.

Option: Schriftgröße

Die Schriftgröße der Legendeneinträge. Die vorgewählte Größe 2.0 passt gut zur downloadbaren Demo mit der Demo.dxf und den Demo-Symbolen für die Legende.

Option: Symbol-Textabstand

Der Abstand zwischen dem Symbol-Einfügepunkt und der Textspalte.

Option: Skalierung der Symbole

Vergrößerungs-/Verkleinerungsfaktor für alle Symbole. Legendentext und Symbol passen gut zusammen, wenn die resultierende Symbolhöhe ungefähr der der Schriftgröße (Texthöhe) ist oder leicht darüber liegt.

Die Symbole in der Demo sind 2-Einheiten groß, deshalb ist die voreingestellte Schriftgröße auch 2 Einheiten.

Option: Dateiendung der Symbol-Dateien

In der Legende werden die Symbole per XREF eingefügt. Das sollten DWG- oder DXF-Dateien sein.

Option: Ersatzzeichen für spezielle Zeichen

In der neuen DXF ist eine DXF-Version in Gebrauch, die sehr handlich ist, der aber auch ein paar Möglichkeiten neuerer DXF-Versionen fehlen. Hier geht es speziell um Symbolnamen, die kein Leerzeichen enthalten dürfen. Wenn in der untersuchten DXF-Datei Symbolnamen mit Leerzeichen verwendet sind, werden die Leerzeichen je nach Einstellung durch einen Unterstrich, Bindestrich o. Ä. ersetzt.

Tricky: Wer die Legende per Copy-Paste in die Original-DXF-Datei einfügen will, und die dort bereits bekannten Symbole auch in der Legende verwenden will, aber Symbolnamen mit Leerzeichen dabei hat, kann bspw. die Legenden-DXF-Datei in Autocad öffnen und in einer neuere DXF-Version speichern; dann die DXF-Datei in einem Textprogramm öffnen und die Unterstiche per Suche-Ersetze austauschen; wieder speichern und die neue Legenden-Datei mit den Symbolnamen mit Leerzeichen in die Autocad-Zeichnung übernehmen. Die Symbole sollten dann übernommen werden.

Option: Präfix für Symbolnamen
Option: Suffix für Symbolnamen

Um bei Copy-Paste-Aktionen die Integrität der Legenden-Symbole zu erhalten, wird hier per Voreinstellung allen Symbolen ein Kürzel voran/nach gestellt, damit sich nicht mit den bereits vorhandenen Symbolen in anderen Dateien verwechselt werden und beim Einfügen verloren gehen.

Wer das Kürzel nicht braucht oder will, kann es löschen.

Verzeichnis für Symbol-DWGs

Damit Autocad die Symbole finden kann, muss die DXF-Datei Pfadinformationen bereitstellen. die Vorseinstellung (./) bezeichnet das aktuelle Verzeichnis. Also das Verzeichnis in dem die Legenden.dxf-Datei gespeichert wird. Wer für die Symbol-DWG-Dateien ein Unterverzeichnis hat, kann das hier eintragen, dann wird die Pfadinformation in die DXF-Datei übernommen.

Verfeinerungen

Wenn die Symbole aussagekräftige Namen haben, ist die Legende, so wie sie in der obigen Form erstellt wird, schon ganz nützlich. Wer noch etwas mehr Legendentext haben möchte, kann für die Symbolnamen zusätzliche Infos für Legendentext sowie Rotation der Symbole, Skalierung und Versatz hinterlegen.

Die Zusatzinformationen werden über das Autocad-Datei-Menü in die Zeichnungseigenschaften im Feld Kommentare eingegeben. (Dort wo man auch bspw. die Bearbeitungszeit der DWG-Datei auslesen kann und den Autor der DWG-Zeichnung eintragen kann.)

Damit der Text erkannt wird, muss in der ersten Zeile die das Codewort '=Symbol-Legendentext-Zuordnung=' stehen. In den folgenden Zeilen steht zuerst der Symbolname, dann ein Tabulatorzeichen, dann mit Semikolons getrennt Rotation, Skalierung, X-Versatz und Y-Versatz des Symbols, dann wieder ein Tabulatorzeichen, dann der Legendentext für das Symbol.

Zusätzlich werden, wenn diese Zusatzinfos in der DXF-Datei eingetragen sind, die Legendenzeilen entsprechend der Reihenfolge der Zusatzinfos sortiert.
=Symbol-Legendentext-Zuordnung=
Symbol 1   0;1.1;;.2   Symbol 1, Text oben, etwas verkleinert und nach rechts versetzt
Symbol 2 90;0.95 Symbol 2, 90 Grad gedreht und etwas verkleinert
Symbol 3 270;1.2 Symbol 3, -90 Grad gedreht und etwas vergrößert
Symbol 4 ; Symbol 4, normal

Hinweis: In DXF-Versionen vor der von Autocad 2004 wird das Kommentarfeld eventuell nicht in der DXF-Datei abgespeichert.

Hinweis: Die DXF-Kommentargruppe wird zwar von Autocad in DXF-Dateien geschrieben, in den DXF-Referenzunterlagen ist das Feld allerdings nicht beschrieben. Seltsam ist z. B., dass manche Autocad-Versionen mehr als 2049 Zeichen in die 1-Gruppe des Kommentars schreiben, dann die DXF aber nicht mehr öffnen können. (Auf die Legendenerstellung hat das keine Auswirkungen.) Wer weitere nützliche Hinweise zur $COMMENTS-Variable in DXF-Dateien hat ... bitte an den Autor weiterreichen.

Nerd stuff

Tipp: Wer das Kommentarfeld manuell in den Header-Bereich der DXF-Datei eintragen will, kann das machen, indem er analog dem roten Text im folgenden Beispiel seine Informationen einträgt:

  2
HEADER
  9
$COMMENTS
  1
=Symbol-Legendentext-Zuordnung=^M^JSymbol 1^I0;1.1;;.2^ISymbol 1, Text^M^JSymbol 2...
  9
$ACADVER
...

Die Zeichenkombination ^M^J steht für eine neue Zeile.
Die Zeichenkombination ^I steht für ein Tabulatorzeichen.

Übersichtlicher ist, wenn man die Informationen in einem Textverarbeitungsprogramm wie Word per Tabulatoren in einer Tabelle verwaltet und dann mit Suche-und-Ersetze zuerst die Tabulatoren in ^I wandelt, dann die Absatzmarken in ^M^J und dann den Text in die DXF-Datei in den Header-Bereich der DXF-Datei kopiert.

Fragen, Fehlermeldungen...

... und Vorschläge für Verbesserungen bitte per E-Mail an Thilo Brai.

Siehe auch...

DXF - autoFence

Die JavaScript-Seiten

Änderungen

18.09.2017: Zusätzlicher Link.

14.09.2017: Präfix für Symbolnamen korrigiert.

13.09.2017: Pfadervorgabe für DWGs von ./ auf .\ gesetzt. Autocad hat Symbole mit ./ nicht automatisch geladen.
Einige interne Schönheitsänderungen.

10.09.2017: Erst-Upload.