Diese Anleitung wurde ursprünglich von mir für ARCHICAD 9 geschrieben, funktioniert aber nach wie vor (Stand ARCHICAD 20).

Hintergrund war folgender:

Ein Architekturbüro musste Daten für ein sehr umfangreiches Projekt für eine international agierende Firma nach deren CA/FM-Handbuch abgeben und hatte, da in solchen Werken u.a. die Ebenenamen vorgegeben sind, in ARCHICAD mit Ebenenerweiterungen gearbeitet, damit “sprechende Namen” verwendt werden können und die Mitarbeiter nicht permanent in den Ebenelisten nachschauen müssen. Für die Arbeit am Modell/Plan ist das eine gängige und gute Vorgehensweise.

Nachteil:
Wenn man eine DWG-Datei aus ARCHICAD exportiert, werden die Ebenenamen umgeschrieben indem zwischen Ebenenname und Ebenenerweiterung ein Punkt gesetzt wird.

Bsp:
Ebenname WCxD120F wird ergänzt durch die Ebenerweiterung “Wand innen 120“. (Damit ist für den Bearbeiter klar, es handelt sich um eine Innenwand mit Feuerschutzfaktor 120 handelt.)

Beim Export wird diese Ebene WCxD120F in dieser Form umgeschrieben WCxD120F.Wand innen 120.

Um das Problem zu lösen, hätte man alle Ebenen in allen Dateien umschreiben müssen, was auf Grund des sehr großen Umfangs (mehrere Tausend Einzelpläne in ca 60 Dateien mit jeweils ca 300 – 400 Ebenen) in der kurzen Zeit nicht möglich war.

Also musste eine unkonventionelle Lösung her, die schnell und effektiv ist.

Da ich mich damals im Rahmen meines Arbeit beim GRAPHISOFT Support intensiv mit dem DWG-Übersetzter (der XML-Datei – nicht den normalen Einstellungen) beschäftigt habe, bin ich auf folgende Lösung gekommen:

Mit dem folgenden Lösungsweg kann man eine beliebige Anzahl von Ebenen in 15 bis 20 Minuten umschreiben.

Lösung:

Benötigte Programme
· ARCHICAD
· ArchiCAD PDF-Converter o.ä. … also ein beliebiges Programm zum Erstellen von PDFs
· Adobe Acrobat Reader (oder Vorschau auf Mac)
· Excel oder ein anderes Tabellenkalkulationsprogramm
· Notepad (Win) oder TextEditor (Mac)

1. Schritt – Ebenennamen sammeln

1. Ebenen drucken

Seit ArchiCAD 9 ist es möglich Ebenennamen (nach Ebenengruppen sortiert) direkt aus der Ebeneneinstellung zu drucken. Diese Ebenennamen werden als PDF-Datei ausgedruckt, da man die Inhalte auf diese Weise in andere Programme übertragen kann.

2. Ebenennamen sammeln

Dazu wird die gedruckte Datei im Acrobat Reader geöffnet und die Textbereich mit Hilfe des Textauswahlwerkzeuges über Copy-Paste ins Notepad/Texteditor transportiert.

Der Grund dafür ist, dass, wenn man die Daten gleich in Excel importiert, die Inhalte aller Spalten in einer Spalte stehen und sich dadurch nur sehr schlecht bearbeiten lassen.
Als Trennung der Spalten hat ArchiCAD das Komma eingetragen – dies wird man sich beim Excel-Import zu Nutze machen. Die Trennung zwischen Ebene und Ebenenerweiterungen wird durch einen Punkt dargestellt. (das ist später wichtig)

Die Textdatei (aus Notepad) wird zwischengespeichert.

Im Textkonverter-Assistent wird als Trennungszeichen das Komma als Spaltentrennung gewählt.

Diese Tabelle wird soweit bereinigt, bis nur noch Ebenenkombination (+ Ebenenerweiterung->getrennt durch einen Punkt) zu sehen sind.

Im nächsten Schritt sollen alle Ebenennamen von den Erweiterungen getrennt werden. Dabei wählt man zusätzlich zum Komma als Trennungszeichen den Punkt.

 

Auch diese Tabelle muss von überflüssigen Inhalten bereinigt werden.

Jetzt hat man die bestehenden Ebenennamen und die zu konvertierenden Ebenennamen in 2 verschiedenen Excel-Dokumenten gespeichert.

2. Schritt – Die XML-Übersetzungsdatei

1. Die Übersetzerdatei

Zuerst wird eine entsprechende DWG/DXF-Übersetzer-Datei in ArchiCAD erstellt, welche später mit Hilfe des Notepads bearbeitet werden wird. Der Speicherort der Übersetzerdatei wird im Übersetzer selbst angezeigt.

Wenn man diese Übersetzerdatei im Notepad öffnet, kann man diese wie ein normales Textdokument bearbeiten. (Vorteil am Notepad ist, dass man auf diese Weise keinen weiteren Formatierungscode in die Datei bekommt.)

Um die richtige Stelle zu finden sucht man über Bearbeiten->Suchen nach LayerConv.

Der Bereich <LayerConv items=”1″> bedeutet, dass 1 Ebene ersetzt wird. Der Bereich <Item ACLayer=”ArchiCAD Layer” ACADLayer=”0″/> zeigt den ArchiCAD (ACLayer) und den AutCAD-Layer (ACADLayer) an.

Wir benötigen somit für eine Ebenenkonvertierung mit der vorliegenden XML-Datei folgende Angaben:

  1. Anzahl der zu konvertierenden Ebenen
  2. Ebenennamen der ArchiCAD-Ebene
  3. Ebenennamen der resultierenden AutoCAD-Ebene

Die Anzahl der Ebene kann man entweder über die Anzahl der Zeilen in Excel ablesen. Im vorliegenden Beispiel handelt es sich um 90 Ebenen, die
umkonvertiert werden sollen.

3. Schritt – Daten in Excel zusammenfügen / ergänzen

Die Ebenennamen der ArchiCAD-Ebene und Ebenennamen der resultierenden AutoCAD-Ebene kopiert man aus beiden Excel-Tabellen in eine 3. Exceltabelle zusammen.

Am Anfang der Tabelle lässt man eine Spalte frei – zwischen beiden Ebenennamen-Spalten werden 2 Spalten freigelassen.

Folgende Informationen müssen in der Excel-Datei ergänzt werden:
(Siehe Notepad)
<Item ACLayer=”ArchiCAD Layer” ACADLayer=”0″/>

Diese Informationen werden wie folgt in die leeren Spalten eingetragen:
1. Spalte <Item ACLayer=”
2. Spalte (+ 1 Leerzeichen)
3. Spalte ACADLayer=”
4. Spalte “/>

Die Tabelle wird als Textdatei gesichert werden und in Notepad bereinigt.

Diese bereinigten Ebenenzuweisungen kann man jetzt einfach über Copy/Paste in die parallel im Notepad geöffnete XML-Datei einfügen.

Jetzt muss lediglich noch die Anzahl der geänderten Layer bei <LayerConv items=””> auf 91 geändert werden, da der ArchiCAD-Layer ebenfalls geändert wird und die XML-Datei gesichert.

Das Resultat in ArchiCAD: