Über den LP_XMLConverter
Der LP_XMLConverter ist ein Tool, welches mit jeder ArchiCAD- Installation mitgeliefert wird.
Es handelt sich um ein Kommandozeilen-Tool, welches dazu dient, GSM-Dateien in XML-Dateien zu konvertieren und umgekehrt.
Da GSM-Dateien Binärdateien sind, sind diese nicht mit Texteditoren editierbar, sondern nur innerhalb von ArchiCAD. Bei XML-Dateien ist dies nicht der Fall: diese können mit Texteditoren editiert werden und man kann z.B. mittels Batch-Routinen durch Suchen und Ersetzen in ganzen Bibliotheken Änderungen vornehmen, was innerhalb von ArchiCAD nicht möglich ist.
Zudem lassen sich innerhalb einer XML-Datei auch die Scripte editieren, was mit Hilfe von GDLnucleus möglich ist oder auch mit Hilfe der neuen HSF-Konvertierungsmethode des Konvertes seit ArchiCAD 23.
Diese HSF-Konvertierung macht genau dasselbe, was GDLnucleus auch macht: sie zerlegt die komplette XML-Datei in ihre Bestandteile, nämlich Einzelscripte, Parameterliste und Bilddateiabschnitte.
Eine ganz wichtige Funktion des XML_Converters ist die Möglichkeit, GDL-Objekte rückwärts zu konvertieren, d.h. z.B. von ArchiCAD 23 auf 22. Hierbei muss in der Kommandozeile der Ausdruck „-compatibility 22“ hinzugefügt werden, siehe unten im Beispiel.
Eine weitere wichtige Funktion, ist die Möglichkeit Grafikdateien (Pixeldateien) in die GSM-Dateien in Binärform einzubauen. Damit ist man z.B. in der Lage, sämtliche Grafiken für das User Interface in das Objekt einzubetten.
Automatisierungen in MAC OS
Auf MAC OS kann man mit Automator-Funktionen die Kommandozeile auf dem Terminal zur Konvertierung umgehen und per Kontext-Menü einzelne Dateien oder ganze Ordnerstrukturen umwandeln.
Zur Umwandlung von GSM zu XML gehe wie folgt vor:
- lege z.B. auf dem Desktop 2 Ordner an: „LibraryGDL“ und „LibraryXML“
- Starte Automator und erstelle eine neue „Schnellaktion“ aus der zur Verfügung stehenden Auswahl.
- Stelle im rechten Fensterteil ganz oben folgendes ein:
- Wähle dann in der 2. Spalte „Finder-Objekte kopieren“ und setze dort folgendes als Beispiel ein:
- Wähle dann in der 2. Spalte „Shell-Script ausführen“ und setze dort folgendes als Beispiel ein:
Contents/MacOS/
./LP_XMLConverter l2x -compatibility 22 /Users/Hannes/Desktop/LibraryGDL/ /Users/Hannes/Desktop/LibraryXML/
- Speichere dann die Datei „GDL2XML_23_auf_22“
- Darauf steht Dir diese Routine im Kontextmenü des Finders zur Verfügung.
- Beim Konvertieren einer beliebigen GSM-Datei oder einer Ordnerstruktur landet das Ergebnis stets im Ordner „LibraryXML“.
Zur Umwandlung von XML zu GSM gehe wie folgt vor:
- Starte Automator und erstelle eine neue „Schnellaktion“ aus der zur Verfügung stehenden Auswahl.
- Stelle im rechten Fensterteil ganz oben folgendes ein:
- Wähle dann in der 2. Spalte „Shell-Script ausführen“ und setze dort folgendes als Beispiel ein:
cd /Applications/GRAPHISOFT/AC22/ArchiCAD\ 22.app/Contents/MacOS/LP_XMLConverter.app/Contents/MacOS/
./LP_XMLConverter x2l /Users/Hannes/Desktop/LibraryXML/ /Users/Hannes/Desktop/LibraryGDL/
- Speichere dann die Datei „XML2GDL_22.workflow“
- Darauf steht Dir diese Routine im Kontextmenü des Finders zur Verfügung.
- Beim Konvertieren einer beliebigen XML-Datei oder einer Ordnerstruktur, welche sich im Ordner „LibraryXML“ befindet, landet das Ergebnis stets im Ordner „LibraryGDL“ (die alten GSM-Dateien dort bitte vorher löschen)