Zum Inhalt

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:

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.