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
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:
Siehe auch |