AutoCAD-DXF
Viele CAD-Programme verfügen über eine DXF-Exportschnittstelle, so dass eine Vielzahl von Geometriedaten aus CAD-Projekten in CadnaA importiert werden können. Allerdings werden dabei u.U. die Eigenschafts- und Parameterwerte nicht eingelesen. Dies muss ggf. im zweiten Schritt über die ODBC-Datenbankschnittstelle geschehen (siehe Datenbank-Import (ODBC und XLSX)).
Damit eine einwandfreie Interpretation der DXF-Daten in CadnaA sichergestellt ist, sollten folgende Vorgaben beachtet werden:
- Unterschiedliche Objektarten sind auf getrennten Layern vorhanden.
- Vor dem Export als DXF-Datei sollten alle für die Darstellung eines Objekts in CadnaA nicht erforderlichen Zeichnungselemente entfernt werden.
- Punktobjekte (z.B. Punktquellen, Immissionspunkte) werden als Punkte mit xyz-Koordinaten ausgegeben. Die z-Koordinate wird nach dem Import in CadnaA als absolute Höhe interpretiert.
- Bei dreidimensionalen Objekten gibt der z-Wert jedes Punkts die absolute Höhe der oberen Kante an.
- Offene Linien wie Straße, Schiene, Linienquelle usw. sollten als nicht geschlossene Polylinie gespeichert sein.
- Bei Straßen ist nur die Mittelachse in CadnaA verwertbar. Ist die Achse jeder Fahrspur als Linienzug in der DXF-Datei gespeichert, so werden in CadnaA auch entsprechend viele parallele Straßenzüge dargestellt.
Der DXF-Import in CadnaA fängt bereits eine Reihe von CAD-Anwendern benutzte individuelle Eingaben ab. CadnaA benötigt z.B. ein geschlossenes Polygon, um dieses ggf. als Gebäude interpretieren zu können. Ein Gebäude, das im CAD-System als nicht geschlossenes Polygon gezeichnet ist, dessen Anfangs- und Endpunkt jedoch identisch sind, werden von CadnaA als geschlossen angenommen und somit als Gebäude importiert, sofern die entsprechende Layerbezeichnung angegeben ist.
Auch sog. Blockspeicherung wird vom CadnaA DXF-Format erkannt und verarbeitet.
Importierbare DXF-Objekttypen
DXF-Dateien (ASCII- und Binär-Format) können eine Vielzahl verschiedener Objekttypen aufweisen. Die folgende Tabelle listet die DXF-Objekttypen auf, die aus DXF nach CadnaA importiert werden können.
| DXF-Objekttyp | Anmerkungen |
|---|---|
| POINT | - |
| LINE | - |
| POLYLINE | - |
| LWPOLYLINE | - |
| NETS | nur Polygon-Netze (keine Spline-Netze) |
| CIRCLE | - |
| ARC | - |
| TEXT | eingeschränkt, z.B. werden keine Zeichensatz-Informationen gelesen |
| INSERT | Block, der die oben genannten Objekttypen enthalten kann |
| 3DFACE | - |
Nicht Importierbare DXF-Objekttypen
Alle anderen DXF-Objekttypen können nicht nach CadnaA importiert werden, insbesondere nicht:
- SOLID, 3DSOLID
- MTEXT
- SPLINES
Darüber hinaus kann CadnaA keine sog. „extrusion direction vectors“ bis auf (0 0 1) verarbeiten.
Importoptionen
Über die Schaltfläche „Optionen“ stehen zur Verfügung:
- Objektlayer (siehe Zuordnung Objektart - Layer)
- Importiere nur Ausschnitt (siehe Importiere nur Ausschnitt)
- Automatischer Stich (siehe Stich)
- Transformation (siehe Koordinatentransformation)
- Verwende Objekthöhe bei Polylinien
- Blöcke als Punkte importieren
- DXF-Handle als Bezeichnung importieren
- Netze als Polys importieren
- 3D-Flächen als Polys importieren

Dialog Optionen für DXF-Import
Layerbezeichnungen mit mehr als 23 Zeichen
Bei Layerbezeichnungen mit mehr als 23 Zeichen (Längenbegrenzung für ID, siehe Dialogfelder BEZ, ID, INFO, ObjectTree, Master im Handbuch „Einführung in CadnaA“) wird die Original-Bezeichnung in die Memo-Variable ORG_LAYER geschrieben (sofern diese noch nicht vorhanden ist).
Verwende Objekthöhe bei Polylinien
Bei aktivierter Option werden die Objekthöhen in CadnaA unter Geometrie beim Import aus der z-Höhe zuzüglich der mitgegebenen Objekthöhe im dem CAD-Programm ermittelt.
Beispiel
Der Layer eines Objektes im CAD-Programm ist z.B. mit 15 m angegeben, die Objekthöhe mit 20 m. Dies ergibt bei aktivierter Option in CadnaA eine absolute Objekthöhe von 35 m.
Blöcke als Punkte importieren
Bei aktivierter Option werden nur die Einfügepunkte der Blöcke als Punkte in CadnaA importiert.
Beispiel
Im CAD-Programm sind z.B. Höhenpunkte als sich kreuzende Linien gezeichnet und als Block definiert. Beim Import in CadnaA werden bei deaktivierter Option diese Kreuze übernommen, andernfalls der Schnittpunkt der sich kreuzenden Linien.
DXF-Handle als Bezeichnung importieren
Mit dieser Option können sog. DXF-Handles nach CadnaA übernommen werden, um dieses als Synchronisierungsmerkmal für einen nachfolgenden Datenbankimport zu übernehmen. Diese Objektdaten können nach dem DXF-Import über die ODBC-Schnittstelle (siehe Datenbank-Import (ODBC und XLSX)) importiert werden. Zuvor muss das Handle aus dem Bezeichnungsfeld in das ID-Feld verschoben werden (siehe Dialog Objekte verändern|Aktion: Vertausche Bez/ID, siehe Handbuch „Einführung in CadnaA“). Anschließend können Sie die Daten der Objekte über die ODBC-Schnittstelle synchronisieren.
Netze als Polys importieren
Sogenannte „Netze“ stellen Vermaschungen dar und können ebenfalls als Polylinien importiert werden. Standardmäßig ist diese Option aktiviert.
3D-Flächen als Polys importieren
Bei sogenannten „3D-Flächen“ handelt es sich um mehrere miteinander verbundene 3D-Polylinien. Nach Aktivierung dieser Option werden diese als Polylinien importiert.
Polylines immer 3D (ignoriere Group 70)
Bei aktivierter Option werden Polylinien immer als 3D-Linien importiert (smit einschließl. Höhe, falls angegeben). Der Wert des Gruppencodes 70 im DXF-Format wird somit ignoriert.
DXF Import mit zwei Höhenangaben
Stellen Sie sich folgende Situation vor: Sie erhalten eine DXF-Datei in der Häuser mit zwei Höhen gespeichert wurden, die Fußpunkthöhe und die Objekthöhe der Häuser. Die Fußpunkthöhe soll als Höhenlinienmodell für das Gelände übernommen werden. Dazu wird die DXF-Datei zweimal mit folgenden Einstellungen unter Importoptionen (Menü Datei|Import, Dateityp „DXF (AutoCad)“ importiert:
1. Importvorgang
- Höhenlinie - Layer: „xyz“ (oder weitere Layernamen, die ebenfalls Häuser enthalten - xyz|zyx|...)
- Hilfspolygon - Layer: *Option „Verwende Objekthöhe bei Polylinien“ nicht aktiviert
- Schließen Sie den Dialog mit OK und starten Sie den Import.

1. Importvorgang: Höhenlinien importieren
2. Importvorgang
- Haus - Layer: „xyz“
- Höhenlinie - nicht importieren!
- Hilfspolygon - nicht importieren!
- Option „Verwende Objekthöhe bei Polylinien“ jetzt aktivieren
- Schließen Sie den Dialog mit OK und starten Sie den Import.

2. Importvorgang: Häuser importieren
Wahrscheinlich sind jetzt viel zu viele Höhenlinien mit geringem Höhenunterschied vorhanden. Dünnen Sie das Höhenlinienmodell durch Löschen von Höhenlinien aus oder löschen Sie Polygonpunkte der Höhenlinien mit dem Befehl Stich (siehe Stich im Handbuch „Einführung in CadnaA“).
DXF-Importdateien bereinigen
Häufig sind in DXF-Importdateien Objekte auf Layern vorhanden, die für die Modellierung in CadnaA nicht benötigt werden und daher gelöscht werden sollen. Nachstehend wird die Vorgehensweise erläutert, um Objekte auf einzelnen DXF-Layern auf Basis der Layerbezeichnung zu löschen. Da die Layerbezeichnung dieser Objekte anfänglich nicht bekannt ist, können diese Objekte nur nachträglich gelöscht werden.
- Importieren Sie die DXF-Datei mit allen Objekten als Hilfspolygone.
Standardmäßig werden beim Import von DXF-Dateien die Layerbezeichnungen angenommen, die CadnaA selbst beim DXF-Export (!) verwendet. Diese Layerbezeichnungen sind aus dem Dialog Optionen für DXF-Import ersichtlich. Falls die Layerbezeichnungen in der zu importierenden DXF-Datei nicht mit diesen angenommenen Layerbezeichnungen übereinstimmen, werden alle Objekte als Hilfspolygone importiert (Platzhalter * in Zeile „Hilfspolygon“, Spalte „Layerbezeichnung“).

Beispiel
Pfad: Beispiele\Import\DXF\030561-1b.DXF
In nachfolgender Importdatei sind Hauspolygone, Hausschraffuren und Grundstückgrenzen als Hilfspolygone enthalten. Die Hauspolygone sollen in Häuser umgewandelt werden, nachdem die Hausschraffuren gelöscht wurden. Die Grundstücksgrenzen können als Hilfspolygone beibehalten werden.
- Öffnen Sie die Tabelle Hilfspolygon über das Menü Tabellen|Diverse Objekte.
- Schieben Sie die Tabelle ggf. zur Seite, um die Objekte in der Grafik nicht zu verdecken.
- Identifizieren Sie durch Scrollen in der Tabelle die Layerbezeichnung der zu löschenden Hausschraffuren (in diesem Beispiel „KA-GEBAEUDESCHRAFFUR“). Diese wurde beim Import in den ID der Hilfspolygone kopiert.

- Öffnen Sie den Dialog eines Hilfspolygons mit der Layerbezeichnung durch Doppelklick und kopieren Sie den ID in die Zwischenablage.
- Klicken Sie mit der rechten Maustaste in die Spalte „ID“ und wählen Sie aus dem Kontextmenü den Befehl Spalte verändern.
- Fügen Sie unter „String-Ersetzung, Suchen nach“ den kopierten ID ein.
- Geben Sie unter „Ersetzen durch“ eine beliebige mehrstellige Zahl ein (z.B. „2014“). Diese sollte auf keinen Fall mit einem schon in der Tabelle vorhandenen ID übereinstimmen.

Diese Operation verfolgt das Ziel, die Zeichenkette der ID durch einen numerischen Wert zu ersetzen, der anschließend als Bedingung zum Löschen dieser Hilfspolygone verwendet werden kann.
- Klicken Sie auf OK und bestätigen Sie mit „Alle“.
Daraufhin wird der ID der entsprechenden Hilfspolygone ersetzt.
- Schließen Sie die Tabelle Hilfspolygon.
- Klicken Sie mit der rechten Maustaste in die weiße Fläche auf dem Bildschirm und wählen Sie den Befehl Objekte verändern aus dem Kontextmenü.
- Wählen Sie die Aktion „Löschen“ und als Objektart „Hilfspolygon“ aus.
- Aktivieren Sie die Option „Bedingung“ und geben Sie als Bedingung ein:
ID==2014
Hinweis
In CadnaA wird das doppelte Gleichheitszeichen als Operator zur Prüfung von Übereinstimmung von numerischen Werten verwendet (siehe Kapitel 5 - Operatoren & Funktionen im Handbuch „Attribute, Variablen und Schlüsselworte“).

- Klicken Sie auf OK und bestätigen Sie mit „Alle“.
Daraufhin werden die Hilfspolygone mit dem ID=2104 gelöscht. Verfahren Sie ggf. analog um weitere Objekte in der importierten Datei zu löschen, die nicht zur Modellierung in CadnaA benötigt werden.