Back HomeBack to DocumentsYou are here
AutoCAD-Objekte in DesignXML


AutoCAD-Objekte in DesignXML

VG-Wort Access-ZählmarkeHaben Sie unser Buch Das AutoCAD-Objekte Buch gelesen, so wissen Sie, wie man AutoCAD-Zeichnungen innerhalb des Programms oder außerhalb davon manipulieren kann: Arbeitet man in AutoCAD, so dienen ObjectARX, AutoLISP und ActiveX-Automation dazu, Zeichnungsdaten auszulesen, zu erzeugen oder zu verändern. Außerhalb von AutoCAD stehen dieselben Informationen in Form von DWG- und DXF-Dateien zur Verfügung. AutoCAD 2002 ergänzt diese Möglichkeiten durch das neue Austauschformat "DesignXML".

XML ist zur Zeit das Modewort der Internet-Industrie. Unterstützt ein Programm XML nicht, ist es altmodisch und der Börsenwert des Unternehmens sinkt. Also kennt auch AutoCAD neuerdings XML. Was nützt dies dem Anwender, was nützt es dem Programmierer von Applikationen?

Um diese Frage zu beantworten, müssen wir erst verstehen, was XML überhaupt ist und soll. XML ist eine Methode, einem Text Strukturen, also Bedeutungen, überzustülpen. Nehmen wir einen x-beliebigen Artikel aus einer Zeitschrift. Als Leser können Sie den Text erfassen und den einzelnen Elementen ihre Bedeutung zuordnen: hier steht die Überschrift, dort der Autor, das ist die Zusammenfassung, das ist ein Literaturhinweis usw.

Für einen Computer unterscheidet sich ein Wort nicht vom anderen. Er erkennt nicht, was der Name des Autors ist oder wo die Zusammenfassung steht. Dazu muss der Autor, Redakteur oder Setzer den Text strukturieren, also zusätzliche Bedeutungen festlegen, die im gedruckten Text nicht unbedingt sichtbar werden. Erst dann kann der Computer Überschriften hervorheben, Zusammenfassungen extrahieren oder alle Artikel eines Autors heraussuchen.

Markup

Es gibt viele Möglichkeiten, in einer Computerdatei sowohl den eigentlichen Text als auch zugeordnete Strukturen und Bedeutungen zu speichern. In den 60er Jahren erfanden drei IBM-Mitarbeiter mit GML eine Methode, die als Markup bezeichnet wird und heute als Basis für XML und HTML dient. Hierbei werden in den Text Kennworte (Tags) eingefügt, welche die Bedeutung des jeweiligen Textstücks erklären. So steht vor der Überschrift das Kennwort <ÜBERSCHRIFT> und hinter der Überschrift das Kennwort </ÜBERSCHRIFT>. Das eine bedeutet "Hier fängt die Überschrift an", das andere "Hier hört die Überschrift auf". Wenn Sie sich schon einmal den Quelltext einer Web-Seite angesehen haben, kennen Sie diese Auszeichnungen. Sie weisen den einzelnen Textelementen eine Bedeutung zu, die dann von einem Computerprogramm ausgewertet werden kann, beispielsweise zur optischen Hervorhebung oder auch zur automatischen Suche. Da es sich um Daten handelt, die selbst wieder Daten beschreiben, nennt man diese zusätzlichen Informationen Metadaten.

Dialekte

Grundsätzlich steht es jedermann frei, Metadaten und Kennworte zu wählen. An Stelle von <ÜBERSCHRIFT>...</ÜBERSCHRIFT> könnte man auch <TITEL>...</TITEL> schreiben, wer es Englisch mag auch <TITLE>...</TITLE>. Aufgrund dieser Freiheit heißt dieses Verfahren XML, nämlich Extensible Markup Language (erweiterbare Auszeichnungssprache).

Sinn macht eine Auszeichnung mit Metadaten aber nur, wenn verwandte Dokumente dieselben Tags benutzen. Deshalb legt man fest, welche Kennworte erlaubt sind, wie diese verschachtelt sein müssen und welche zwingend erforderlich sind. Eine solche Festlegung geschieht in einer DTD (Document Type Definition) oder neuerdings in einem XML-Schema. Unterschiedliche DTDs oder Schemata führen zu unterschiedlichen XML-Dialekten. Jede XML-Datei beginnt mit einem Hinweis auf das zu verwendende Schema bzw. die zu verwendende DTD.

Im Fall von HTML werden diese DTDs vom World Wide Web Consortium (W3C) unter www.w3c.org bereitgestellt. Viele internationale und nationale Normungsgremien sowie Unternehmen haben eigene XML-Dialekte für spezielle Anwendungen entwickelt oder sind gerade dabei.

DesignXML

Nachdem Bentley mit dem Dialekt aecXML vorgelegt hatte, musste Autodesk nun mit eigenen Aktivitäten im XML-Bereich nachlegen. Herausgekommen ist DesignXML, dokumentiert unter www.designxml.org.

DesignXML ist ein XML-Schema, mit dem sich eine CAD-Zeichnung als XML-Datei speichern, verwalten und manipulieren lässt. So weit, so schön. Nur, was ist eine CAD-Zeichnung? Das Bild auf dem Bildschirm, der Ausdruck vom Plotter, ein 3D-Modell oder die interne Datenbank eines CAD-Programms wie AutoCAD oder Microstation? All dies ist, je nach Anwendung, eine "CAD-Zeichnung". Deshalb ist DesignXML auch zumindest theoretisch in der Lage, sämtliche dieser Varianten zu beschreiben. Eine DesignXML-Datei kann eine 2D-Bitmap des aktuellen Bildschirminhalts enthalten, eine 2D-Vektorzeichnung, eine 3D-Geometrie oder auch eine komplette Zeichnungsdatenbank eines beliebigen CAD-Programms. Eine DesignXML-Datei kann sogar alle diese Varianten gleichzeitig enthalten.

Ob dies aber praktikabel ist und ob es jemals im praktischen Einsatz verwendet werden wird, steht noch in den Sternen.

AutoCAD 2002

Zur Zeit gibt es nämlich genau ein einziges Programm, welches eine DesignXML-Datei schreiben und lesen kann, und das ist AutoCAD 2002. Und AutoCAD verwendet nur einen kleinen Ausschnitt des DesignXML-Schemas, den Model-Channel. Dieser enthält die eigentliche Zeichnungsdatenbank in einem privaten, wenn auch dokumentierten XML-Dialekt. Für AutoCAD heißt dieser Unterdialekt AcDbXML. Die anderen Channel des DesignXML-Schemas wie 2D-Ausgabe oder 3D-Flächengeometrie werden von AutoCAD (noch) nicht unterstützt.

Die Befehle zum Schreiben und Lesen einer DesignXML-Datei sind in AutoCAD 2002 gut versteckt: Um eine XML-Datei zu erzeugen, benutzen Sie den Befehl WBLOCK (!) und ändern im entsprechenden Dialogfenster von Hand den angezeigten Dateityp .dwg in .xml. Um eine XML-Datei zu öffnen, müssen Sie den Inhalt mit dem Befehl EINFÜGE in eine vorhandene Zeichnung einfügen. Auch hier ist der Dateityp wieder explizit umzustellen.

Beispiel: Ein Kreis in DesignXML

<acdb:Object id="x3" class="AcDbCircle" owner="x2">
  <acdb:Circle>
    <acdb:Entity colorIndex="256" isVisible="1" linetypeScale="1"lineWeight="ByLayer">
      <acdb:LayerId>
        <acdb:HardPointerReference i="x4"/>
      </acdb:LayerId>
      <acdb:LinetypeId>
        <acdb:HardPointerReference i="x1B"/>
      </acdb:LinetypeId>
      <acdb:EntityPlotStyle plotStyleType="ByLayer"/>
    </acdb:Entity>
    <dxml:Circle>
      <dxml:CenterPoint>
        <dxml:Point x="182.7883676181168" y="153.2232822896664" z="0"/>
      </dxml:CenterPoint>
      <dxml:Radius>
        <dxml:Length x="53.96052973939888"/>
      </dxml:Radius>
      <dxml:Normal>
        <dxml:Vector x="0" y="0" z="1"/>
      </dxml:Normal>
    </dxml:Circle>
    <acdb:Thickness>
      <dxml:Length x="0"/>
    </acdb:Thickness>
  </acdb:Circle>
</acdb:Object>

XML oder DXF

Autodesk preist DesignXML an als "Web-fähigen Ersatz von DXF". Zieht man von dieser Aussage alle Werbe- und Börsenbotschaften ab, so bleiben immer noch einige handfeste Vorteile, die für DesignXML sprechen, sofern es jemals wie angekündigt funktionieren wird:

Andererseits verbleiben beim Vergleich zwischen DesignXML und DXF auch einige wichtige Vorteile auf der Seite von DXF:

Die aktuelle Implementation von DesignXML in AutoCAD ist nur ein erster Versuch, der mehr der Beschwichtigung von Börsengurus denn der praktischen Anwendung dient. Grundsätzlich öffnet das Schema jedoch viele neue Perspektiven. In zukünftigen Versionen von AutoCAD könnte der Datenaustausch erheblich einfacher werden, besonders wenn nur beschränkte Teile einer Zeichnung benötigt werden. Einen Ersatz für DXF stellt DesignXML heute aber noch nicht dar.

Dietmar Rudolph

Dies ist ein Shareware-Dokument. Was ist ein Shareware-Dokument? Hat Ihnen dieses Dokument etwas genutzt? Haben Sie damit Geld gespart? Dann revanchieren Sie sich bitte:


Kontakt CR/LF GmbH

© 2000-2011 by CR/LF GmbH, Essen/Germany. All rights reserved.
No part of this document may be reproduced or published without written consent by CR/LF GmbH.
Last modification: 14.04.2011