SaveAs Format DXF

Top  Previous  Next

 

Sichern eines oder aller geladener Pläne mit SaveAs im DXF-Format.

Beim Konvertieren von Plänen in das Format DXF können neben den üblichen Parametern von SaveAs weitere Parameter (s. u.) zur Steuerung der Konvertierung angegeben werden.

Die Konvertierung selbst arbeitet vollautomatisch, d. h. es müssen keine manuellen Eingriffe mehr vorgenommen werden.

Objekte werden zu Blöcken. Die erweiterten Elementdaten enthalten die Objekt-ID. (s. Parameter NOIDS). Attribute werden zu DXF-Attributen. Die erweiterten Elementdaten enthalten Attributart und –länge. Symbole werden ebenfalls zu Blöcken (s. Parameter SYMBOLS_DECOMPOSE). Attributtexte werden momentan aufgelöst. Punktsymbole werden ignoriert (s. Parameter PSY).

Wird das Sichern mit dem Parameter log/<logdatei> aufgerufen, so wird eine Konfigurationsdatei angelegt/verwendet, mit deren Hilfe die Umsetzung auf  Layernamen, Texttypnamen und Linientypnamen gesteuert werden kann. Für nicht vorhandene Einträge in der Log-Datei setzt der Konverter Standardeinträge, die anschließend vom Anwender abgeändert werden können. Der Konverter verwendet dann beim nächsten Lauf die geänderten Werte.

Parameter

LOGFILE/<logfilename>

Es wird eine Log-Datei verwendet. Alle nicht vorhandenen Linientypen, Texttypen und Layernamen werden dort eingetragen. Die vorhandenen werden für die DXF-Ausgabe verwendet.

VER/n

Angabe der AutoCad-Versionnummer. Gültige Werte sind 9, 12 und 2000.

Defaultwert ist 9 für AutoCad Release 9. Für AutoCad R12 sowie AutoCad2000 wurde das DXF-Format von AutoDesk erweitert. Die in diesen Formaten geschriebenen DXF-Dateien können von früheren AutoCad-Versionen nicht gelesen werden.

/NOIDS

Die Objekt-ID wird nicht in die erweiterten Elementdaten geschrieben. Damit ist beim Reimport der DXF-Datei nach Moskito keine Wiederherstellung der Objekt-IDs möglich.

/NO_ATTRIBS

Ausschalten der Attributgenerierung.

/OBJECTS_FIRSTKEY

Es wird ausschließlich der erste Objektschlüssel verwendet.

/SYMBOLS_DECOMPOSE

Symbole werden in ihre Elemente zerlegt. Diese Elemente werden demjenigen Objekt (bzw. DXF-Block) hinzugefügt,  der das Symbol als Element referenziert (unter Berücksichtigung von Einfügepunkt und Drehwinkel des Symbols).

/STRINGS_SPLIT

Linienzüge, die P-Verbindungen enthalten, werden in Teil-Linienzüge zerlegt und in einen eigenen DXF-Block geschrieben. Bei einem Reimport nach Moskito werden die Teilstrings wieder zu einem Linienzug zusammengefügt.

Der DXF-Block wird mit dem Namen P-STRING-00000000-11111111 eingefügt, wobei 00000000 die ID des Linienzuges und 11111111 die System-ID des Linienzuges ist.

Die erzeugten Teil-Linienzüge werden durch den Eintrag SPLITSTRING in den erweiterten Elementdaten markiert und fortlaufend numeriert.

Dies gilt auch für Linienzüge in Symboldefinitionen!

/PSY

Punktsymbole werden wie Symbole behandelt

TEXTSCALE/n        

Textmaßstab setzen .

Default: Textmaßstab des Plans.

SYMBOLSCALE/n    

Symbolmaßstab setzen

Default: Textmaßstab

GEOSCALE/n

Geometriemaßstab setzen.

Default: 1

/NOIDS

Esd werden keine erweiterten Elementdaten mit der Objekt-ID generiert.

ERRORFILE/<errorfilename>

Warnungen / Fehlermeldungen in Datei schreiben.

Rückgabewert

Wert

Beschreibung

0

Konvertierung verlief erfolgreich

1

Kurzhilfe wurde ausgegeben

2

Keinen Plan geladen

3

DXF Datei konnte nicht angelegt werden

4

Script Datei (Logfile/Errorfile) konnte nicht angelegt werden

5

Fehler beim Schreiben der DXF Datei

6

Systemfehler (evtl. zu wenig Speicherplatz)

Dialog

Wenn ein Blatt in einem beliebigen Format geladen ist, wird dieser mit

SaveAs

Welche Pläne?:

<blattname>

Zielformat:

DXF

als DXF-Datei gespeichert.

Bemerkungen

DXF-Blöcke:

Moskito-Symbole und –Objekte werden in per Default in DXF-Blöcke umgesetzt. Für Symbole läßt sich das Schreiben in Böcke über den Schalter /SYMBOLS_DECOMPOSE generell abschalten. Es ist jedoch auch möglich, das Geniereren von Blöcken für einzelne Symbolklassen abzuschalten. Dies geschieht über die entsprechenden Symbol-Einträge in der Logdatei. Ist dort ein leerer Layername eingetragen, so werden für die Symbole dieser Klasse keine Blöcke generiert.

Für Objekte ist ein blockfreies Schreiben für einzelne Objektklassen ebenfalls ein-/ausschaltbar über die entsprechenden Blocklayer-Einträge im Logfile. Ist der Layername im Blocklayer-Eintrag leer, werden für Objekte dieser Klasse keine Blöcke generiert. (s.u. Syntax der Logdatei)

DXF-Layer:

Die Layer der generierten DXF-Blöcke und Entitäten werden über Einträge in der Logdatei gesteuert.

Für Symbol-Blöcke werden die Layernamen in den entsprechenden Symbol-Einträgen festgelegt, für Objekt-Blöcke in den Blocklayer-Einträgen

Für Entitäten werden die Layer in den Linetype- und Texttype-Einträgen festgelegt. . (s.u. Syntax der Logdatei)

Moskito-Objekte:

Alle Objekte werden als DXF-Blöcke mit einem Namen OBJ-00000000-11111111 eingefügt, wobei 00000000 die ID des Objekts und 11111111 die System-ID des Objekts ist. Bei einem Reimport der erzeugten DXF-Datei nach Moskito werden die Objekt-IDs jedoch nicht aus dem Blocknamen abgeleitet, sondern aus den erweiterten Elementdaten gelesen, sofern diese erzeugt wurden (s. Parameter /NOIDS).

Die Objekte werden auf dem Layer erzeugt, der dem Objektschlüssel entspricht. Der Layername ist KEY-000-111-222 bei einem Objekt mit den Schlüsseln 000,111 und 222. Mit einer Zeile vom Typ Blocklayer in der Logdatei kann hier ein beliebiger Name gewählt werden. Die Namen müssen nicht eindeutig sein, es dürfen also der Schlüssel 4711 und der Schlüssel 0815 beide auf den DXF-Layer „LAYER-12„ gelegt werden. Objekte, die Symbole enthalten, werden zu geschachtelten Blöcken. Der Nullpunkt der Objekte liegt üblicherweise auf der 1. Koordinate, die im Objekt gefunden wird.

Symbole:

Alle Symbole werden als DXF-Blöcke angelegt und mehrfach eingefügt. Die Blöcke haben den Namen SYMBOL-SymNum-1 bis SYMBOL-SymNum-nnn, mit SymNum = Nummer des Symbols. Für Symbole, die nicht in der Symboltabelle definiert sind, werden leere Blöcke angelegt.

Ist keine Symboltabelle geladen, so wird für jedes benutzte Symbol ein leerer Block mit obiger Namenskonvention erzeugt, um die Einfügungen zu ermöglichen. Die

Bei einem Reimport nach Moskito werden die Symbole dann mit ihrer Symbolnummer eingfügt

Linienzüge:

Moskito-Linienzüge mit 2 Punkten werden auf den DXF-Typ LINE, längere Linienzüge auf den DXF-Typ POLYLINE abgebildet.

Linienzüge (String-Elemente) erhalten einen DXF-Linientyp, der ihrem Moskito-DKY entspricht. Der DXF-Linientyp wird standardmäßig auf DKY-123 für den Zeichenschlüssel 123 festgelegt, kann aber in der Logdatei mit einem Eintrag vom Typ LT anders belegt werden. Mehrere Zeichenschlüssel können auf einen Linientyp gesetzt werden.

P-Verbindungen (unsichtbar) können nicht direkt nach DXF umgesetzt werden, da dem gesamten Linienzug ein DXF-Linientyp zugeordnet wird. Über den Paramter /P_STRING_SPLIT ist es jedoch möglich, Linienzüge mit P-Verbindungen in Teil-Linienzüge zerlegen und  in einen eigenen DXF-Block schreiben zu lassen. Bei einem Reimport nach Moskito werden die Teilstrings wieder zu dem Original-Linienzug zusammengefügt.

Texte

Texte erhalten einen DXF-Texttyp und einen DXF-Linientyp, die ihrem Moskito-DKY entsprechen. Sie werden standardmäßig auf TDKY-123 bzw. DKY-123 für den Zeichenschlüssel 123 benannt, können aber in der Log-Datei mit einem Eintrag vom Typ Texttype bzw. Linetype anders belegt werden.

Attribute

Attribute, die Zahlen oder Zeichenketten enthalten, werden als DXF-Attribute umgesetzt. Attributart und –länge werden in den erweiterten Elementdaten abgelget. Attribute mit binären Attributwerten werden ignoriert.

 

Logdatei

Über eine Log-Datei (Konfigurationsdatei) läßt sich die DXF-Umsetzung durch den Anwender steuern. Sie ermöglich die gesteuerte Umsetzung der Zuordnung von Layern, Linien- und Texttypen sowie Blocknamen für Symbole.

Fehlt in der Logdatei ein passender Eintrag, so wird er vom System mit Defaultwerten generiert. Dieser Eintrag kann dann vom Anwender seinen Wünschen entsprechend angepaßt werden. Die typische Vorgehensweise zur Erstellung einer Konfigurationsdatei besteht darin, den Plan einmal mit leerer Logdatei zu exportieren. Nach dem Export sind die Defaulteinträge vorhanden und können angepaßt werden.

Für einige Schlüsselwörter gibt es eine Lang- und eine Kurzforn.

Für generierte Einträge wird immer die Langforn verwendet. Aus Kompatibilitätsgründen werden beim Einlesen der Logdatei jedoch auch die Kurzformen erkannt.

 

Langforn               Kurzform

 

Layername                   LN

Linetype             LT

Texttype            TT

Symbol               SY

Syntax der Logdatei:

Layername:

Layername <dxf-Layername> <color> <Linetype>      {zusätzliche Parameter}

Für jeden Layername-Eintrag wird ein Layer mit dem dxf-Layernamen in die AutoCad-Layertabelle eingetragen. Color und Linetype bestimmen Farbe und Linientyp des Layers.

Opional können zusätzliche Parameter angegeben werden, die dem Layer angehängt werden. Diese Paramterer werden in der Form

 

DXF-Gruppencode,Wert,DXF-Gruppencode,Wert,... oder

DXF-Gruppencode/Wert/DXF-Gruppencode/Wert,...

angegeben.

 

So ergibt z.B folgender Eintrag der Layer KEY-500 mit Farbe 7 Linientyp ‚gestrichelt‘ und Strichstärke 35 (die DXF-Gruppe 370 bestimmt die Strichstärke):

Layername KEY-500 7 gestrichelt  370,35

default:

für Symbollayer:      

Layername SYM-aaa-KEY-ccc-... 7 dxf-Linientyp

für Objektlayer:      

Layername KEY-ccc-... 7 dxf-Linientyp

für Entitätenlayer:  

Layername DKY-bbb-KEY-ccc-... 7 dxf-Linientyp  

mit: aaa = Symbolnummer,

bbb =  Zeichenschlüssel Text/Linienzug,

ccc = Schlüssel des Objekts.

 

Linientyp:

Linetype <dxf-Name> <dky> <Layer> <Farbe> <Breite> <#segmente> <segmente> {Schlüsselbereich}

Einer Klasse von  Texten/Linientügen mit dem Zeichenschlüssel <dky> wird der Linientyp <dxf-Name> zugeordnet. Dieser Typ wird mit den Werten <Farbe>, <Breite>,<Anzahl Segmente>, <Segmente> belegt. Farbe ist ein Wert zwischen 1 und 255, Breite ein Fließkommawert.  Die Anzahl der Mustersegmente  kann 2-12 betragen (Ausnahme: Linientyp CONTINUOUS mit Wert 0). Die Segmente werden durch Angabe der Länge von Strichen bzw. Lücken definiert. Lücken erhalten einen negativen Wert. Die Angabe von  3.0 -3.0 3.0 als Musterdefinition erzeugt z.B. folgendes Muster:  Strich der Länge 3 - Lücke der Länge 3 - Strich der Länge 3 .

Durch den Eintrag Layer wird der Layer für diese Klasse von Linienzügen festgelegt.

Durch die optional Angabe eines Schlüsselbereichs kann die Klasse weiter eingeschränkt werden. Zum Eingabeformat für Schlüsselbereiche s.u.

default:     LT DKY-nnn  nnn DKY-nnn-KEY-mmm nnn 0 2 1000 1 mmm

mit

nnn = Zeichenschlüssel,

mmm = Objektschlüssel

Texttyp:

Texttype <dxf-Name> <dky> <stileigenschaften> <zeichenhoehe> <seitenverhältnis> <zeichenneigung> <laufrichtung> <letzteHoehe> <Linientyp> <textstildatei> <bigfontdatei> {Schlüsselbereich}

Einer Klasse von Textelementen mit dem Zeichenschlüssel <dky> wird der angegebene Textstil zugeordnet. Zu diesen Angaben wird entsprechend auch ein Linientyp generiert.

Durch die optional Angabe eines Schlüsselbereichs kann die Klasse weiter eingeschränkt werden. Wenn ein Schlüsselbereich angegeben wird, dann müssen für Textstildatei und Bigfontdatei zumindest Leerstrings in der Form "" angegeben werden, wenn keine sinnvollen Werte für sie zur Verfügung stehen.

Zum Eingabeformat für Schlüsselbereiche s.u.

default:   Texttype TDKY-nnn nnn 0 0 1.0 0.0 0 1.0 DKY-nnn ““ ““ mmm

mit nnn = Zeichenschlüssel, mmm = Objektschlüssel

Symbole:

Symbol <dxf-Blockname> <Symbolnummer> <Layer> <externes Symbol> {Schlüsselbereich}

Einer Klasse von Symbolelementen wird über die Symbolnummer ein Blockname und ein Layer zugeordnet. Der Wert für <externes Symbol> wird momentan ignoriert.

Einer leerer Layername (““) bewirkt, daß die Symbole der Klasse nicht in Blöcke geschrieben, sondern in ihre Elemente aufgelöst werden.

Durch die optional Angabe eines Schlüsselbereichs kann die Klasse weiter eingeschränkt werden..

Zum Eingabeformat für Schlüsselbereiche s.u.

default:        

Symbol SYMBOL-nnn-k nnn SYM-nnn-KEY-mmm 0 mmm     mit

nn = Symbolnummer,

k = laufende Nummer,

mmm = Objektschlüssel

Blocklayer:

Blocklayer <dxf-Layername> <Schlüsselbereich>

Einer Klasse von Objekten wird über den Schlüsselbereich ein Layer zugeordnet. Zum Eingabeformat für Schlüsselbereiche s.u.

Einer leerer Layername (““) bewirkt, daß die Objekte der Klasse nicht in Blöcke geschrieben, sondern in ihre Elemente aufgelöst werden.

default:

Blocklayer KEY-nnn nnn

mit

nnn = Objektschlüssel

Scale:

Scale <planname> <planscale>

Scale des exportierten Plans. Der Scale wird nicht in die DXF-Datei eingetragen, sondern für einen Reimport nach Moskito benötigt.

Lineparam:

Lineparam <dxf-Parameter> <dky>  <Schlüsselbereich>

Ein Lineparam-Eintrag ermöglicht es, einer Klasse von Linienzügen zusätzliche DXF-Parameter anzuhängern. . Diese Paramterer müssen in der Form

 

DXF-Gruppencode,Wert,DXF-Gruppencode,Wert,... oder

DXF-Gruppencode/Wert/DXF-Gruppencode/Wert,...

angegeben werden.

 

So ergibt z.B folgender Eintrag für alle Linienzüge mit dky 25 aus Objekten mit Objektschlüssel 500 die Strichstärke 35 (die DXF-Gruppe 370 bestimmt die Strichstärke):

Lineparam 370,35 25 500

Enthält der Eintrag dxf-Parameter  ein oder mehrere Leerzeichen , so ist die gesamte Zeichenktette in Anführungszeichen ““ zu setzen:

Lineparam 370, 35 25 500

default:

Lineparam-Einträge werden nicht generiert.

Textparam:

Textparam <dxf-Parameter> <dxf> <Schlüsselbereich>

Ein Textparam-Eintrag ermöglicht es, einer Klasse von Texten zusätzliche DXF-Parameter anzuhängern. . Diese Paramterer müssen in der Form

 

DXF-Gruppencode,Wert,DXF-Gruppencode,Wert,... oder

DXF-Gruppencode/Wert/DXF-Gruppencode/Wert,...

angegeben werden.

Enthält der Eintrag dxf-Parameter  ein oder mehrere Leerzeichen , so ist die gesamte Zeichenktette in Anführungszeichen ““ zu setzen:

default:

Textparam-Einträge werden nicht generiert.

 

Eingabeformat für Schlüsselbereiche:

Es ist eine Zahlenliste aus positiven und negativen Zahlen und Bereichen erlaubt. Die Schlüssel eines Objekts entsprechen der Liste, wenn sie die folgenden Bedingungen erfüllen:

         (1) Jeder positiven Zahl und jedem positiven Bereich muß einer der Schlüssel zugeordnet werden können.

         (2) Aus jeder negativen Zahl und jedem negativen Bereich werden deren Absolutwerte gebildet, denen sich einer der Schlüssel zuordnen lassen darf.

         (3) Jeder Schlüssel kann einer eigenen Zahl oder einem eigenen Bereich zugeordnet werden.

         Die Zahlen und Bereiche sind durch Kommata voneinander getrennt, Leerzeichen dürfen nicht enthalten sein.

 

z.B. sei die Zahlenliste:

            100,200-250,-6000--6002,-7000

      Entsprechende Schlüsselkombination sind u. a.

100, 201, 6000

100, 250

Nicht entsprechende Kombinationen sind

100, 201, 202, 7000 weil zwei Schlüssel im Bereich 200-250 liegen oder

200, 6001, 7000  weil der Schlüssel 100 fehlt

oder

100, 200, 300   weil der Schlüssel 300 nicht zugeordnet werden kann

 

Farben:

DXF definiert einen festen Satz von 255 Farben, wobei die Farbe Schwarz nicht vorkommt. Die Farbnummern entsprechen folgenden Werten:

Farbnummer

Rot

Grün

Blau

Name

1

1

0

0

Rot

2

1

1

0

Gelb

3

0

1

0

Grün

4

0

1

1

Cyan

5

0

0

1

Blau

6

1

0

1

Magenta

7

1

1

1

Weiß

...

 

 

 

 

 

Siehe auch

Load Format DXF

SaveAs

SaveAs Format CGM

SaveAs Format DGN

SaveAs Format GAUSZ

SaveAs Format GEOgraf

SaveAs Format MIF

SaveAs Format PV

SaveAs Format SHP

SaveAs Format SQD

SaveAs Format SYNC

SaveAs Format XTC