Überprüfen, bearbeiten und validieren von .x3d-Dateien

Das Dateiformat .x3d ist ein ISO/IEC-Standard, der auf XML basiert und zur Darstellung von 3D-Bildern verwendet wird. Bekannt als X3D, entstanden .x3d-Dateien ursprünglich als Möglichkeit, 3D-Bilder für die Computergrafik darzustellen. Im Laufe der Zeit erweiterte sich der Anwendungsbereich von der virtuellen Realität (VRML) über CAD-Design, architektonische Visualisierungen, 3D-Druck, medizinische und anatomische Bildgebung, die Darstellung molekularer chemischer Strukturen, menschliche Animationen und vieles mehr.

Das Web3D-Konsortium verwaltet den X3D-Standard, wobei die XML-Schemas hier dokumentiert sind. Die aktuellen Versionen enthalten Definitionen für mehr als 250 XML-Elemente, über 100 einfache Datentypen, 70 komplexe Datentypen und mehr als 40 definierte Knotengruppen.

Es erfordert eine solche Komplexität, um etwas so vielfältiges wie ein präzise gefertigtes Maschinenteil oder eine detailreiche virtuelle Umgebung genau zu beschreiben, insbesondere wenn man die Beleuchtung, die Texturen und die Perspektive berücksichtigt! XMLSpy, das weltweit beliebteste Werkzeug für die Modellierung, Bearbeitung, Transformation und das Debugging von XML- und JSON-Technologien, unterstützt .x3d-Dateien. XMLSpy bietet standardkonforme Werkzeuge für alle, die möglicherweise .x3d-Dateien untersuchen, austauschen, verarbeiten oder validieren müssen. Sehen wir uns einige Beispiele an.

Zunächst können wir das Menü "XMLSpy Tools" anpassen, um eine neue Menüoption zu erstellen, mit der 3D-Bilder aus .x3d-Dateien einfach angezeigt werden können. Wir haben zwei X3D-Player installiert, die auf der Seite X3D-Ressourcen von web3d.org aufgeführt sind, damit wir die Ergebnisse in beiden vergleichen können. Dies ermöglicht die folgenden benutzerdefinierten Menüoptionen:

Jetzt benötigen wir eine .x3d-Datei. Viele Beispiele sind online verfügbar. Das National Institute of Health (NIH) unterhält eine Sammlung von .x3d-Dateien auf seiner Webseite. Diese Dateien umfassen eine Vielzahl von X3D-Anwendungen, darunter Modelle chemischer Strukturen, 3D-druckbare Objekte sowie realistische Darstellungen von Zellgeweben und Organismen.

Lassen Sie uns mit einer 3D-druckbaren Form beginnen. Im folgenden Screenshot haben wir eine Datei geöffnet und über das Menü "Werkzeuge" auch die Anwendung H3DViewer geöffnet, um die Datei dort anzuzeigen:

Beachten Sie das Nachrichtenfenster unterhalb der Hauptanzeige. XMLSpy validiert .x3d-Dateien automatisch, sobald Sie sie öffnen. Im H3D-Viewer können wir das Bild auswählen und drehen, um es besser zu betrachten:

Dieses Objekt ist ein Halteelement für Gesichtsmasken, das mit einem 3D-Drucker hergestellt werden kann. Es soll Reizungen hinter den Ohren für Personen verhindern, die Gesichtsmasken tragen.

Wie wir im ersten Screenshot gesehen haben, enthält die meiste Datei Koordinatendefinitionen, die ab Zeile 14 beginnen. Wenn wir die Datei bearbeiten wollten, beispielsweise um die Farbe eines Objekts zu ändern, könnten wir zur XMLSpy-Grid-Editor-Ansicht wechseln. Die Grid-Editor-Ansicht zeigt die hierarchische Struktur von XML-Dokumenten und DTDs durch eine Reihe von verschachtelten Containern, die einfach erweitert und zusammengeklappt werden können. Wir lassen den Container, der alle Koordinaten der Formen enthält, zusammengeklappt, um uns auf andere Funktionen des Dokuments zu konzentrieren und versehentlich keine Formwerte zu ändern.

Der Screenshot unten zeigt, was im Rastereditor passiert, wenn wir auf das Formelement doppelt klicken:

XMLSpy öffnet ein Popup-Fenster mit einer Hilfefunktion, das alle anderen Elemente auflistet, die gemäß der Schema-Definition gültige Unterelemente des "Group"-Elements an dieser Stelle in der Datei sind. Dies ist hilfreich, wenn Sie damit beauftragt sind, eine Prototyp-Datei im .x3d-Format für eine CAD-Umgebung oder eine Szene in einem immersiven Spiel in der Egoperspektive zu erstellen oder zu modifizieren.

Ändern wir die Farbe des Objekts, das in dieser Datei definiert ist. Wenn wir auf "Bearbeiten" klicken, um die Werte für das Attribut "diffuseColor" des Elements "Material" zu ändern, bietet XMLSpy den Standardwert basierend auf dem XML-Schema an. Wir können entweder den Standardwert übernehmen oder einen neuen Wert eingeben.

XMLSpy bietet eine Option, um .x3d-Dateien während der Bearbeitung zu validieren. Wenn wir beispielsweise "3 3 3" eingeben und versuchen, die Datei zu speichern, erkennt XMLSpy sofort einen Fehler:

Die Werte für dieses Attribut müssen jeweils kleiner als 1 sein. Wir können beispielsweise die Werte 0,3, 0,2 und 0,1 eingeben und das Bild im H3D-Viewer neu laden:

Das Objekt hat jetzt eine bronzefarbene statt einer blauen Oberfläche.

Weitere Dateien auf der NIH-Website und an anderen Stellen zeigen weitere Anwendungen von X3D. Im Folgenden ist das chemische Modell von Remdesivir dargestellt, einem möglichen Behandlungsmittel für Ebola und Covid-19. Diese Form ist sehr anders definiert als die des "Ohrschützers":

Wenn Sie mutig genug sind, können Sie sich sogar dem Feind der gesamten Menschheit stellen:

.x3d in JSON konvertieren

Das Web3D-Konsortium steht kurz vor der Fertigstellung eines Standards zur Speicherung von X3D im JSON-Format und hat ein XSL-Stylesheets veröffentlicht, um ".x3d"-Dateien in JSON umzuwandeln. XMLSpy enthält den sehr schnellen RaptorXML XSLT 3.0-Prozessor, den Sie zusammen mit dem Web3D-XSL-Stylesheets verwenden können, um die Umwandlung von Dateien zu testen.

Zunächst können wir die Standard-Dateiendung im Dialogfenster "Optionen" von XMLSpy für die XSLT-Verarbeitung ändern:

Wir haben auch die Option "XML-Dateien validieren" deaktiviert, da wir die Dateien während der Bearbeitung kontinuierlich validieren.

Öffnen Sie anschließend eine .x3d-Datei und drücken Sie entweder die Taste F10 oder wählen Sie unter dem Menü "XSL/XQuery" die Option "XSL-Transformation" aus.

Die Transformation wird durchgeführt, und die resultierende JSON-Datei wird in einem neuen Fenster geöffnet. Das folgende Bild zeigt das aus der NIH-Gesichtsmaske mit Ohrbügel erstellte JSON-Dokument, sowohl in der Textansicht von XMLSpy als auch in der JSON-Tabellenansicht:

Wenn Sie .x3d-Dateien prüfen, bearbeiten oder validieren müssen, besuchen Sie die Seite mit den XMLSpy-Demonstrationen, um weitere Videos und ausführliche Anleitungen zum Grid-Editor und vielen anderen Funktionen von XMLSpy zu finden. Wenn Sie bereit sind, in eine 3D-Umgebung einzutauchen, die durch eine .x3d-Datei definiert ist, laden Sie eine kostenlose, 30-tägige Testversion von XMLSpy herunter.