Bekijk, bewerk en valideer .x3d-bestanden

Het .x3d bestandsformaat is een ISO/IEC standaard, gebaseerd op XML, voor het weergeven van 3D-afbeeldingen. Ook bekend als X3D, ontstonden .x3d bestanden als een manier om 3D-afbeeldingen te representeren voor computergraphics. In de loop der tijd zijn de toepassingen uitgebreid van virtuele realiteit (VRML) naar CAD-ontwerp, architecturale visualisaties, 3D-printen, medische en anatomische beeldvorming, de representatie van moleculaire chemische structuren, menselijke animaties en meer.

Het Web3D Consortium onderhoudt de X3D-standaard, met XML-schema's die hier gedocumenteerd zijn. De huidige versies bevatten definities van meer dan 250 XML-elementen, meer dan 100 eenvoudige types, 70 complexe types en meer dan 40 gedefinieerde groepen van knooppunten.

Het vereist zoveel complexiteit om iets nauwkeurig te beschrijven, van een precies vervaardigd machineonderdeel tot een rijke, gedetailleerde virtuele omgeving, vooral als je rekening houdt met belichting, textuur en perspectief! XMLSpy, het meest gebruikte hulpmiddel ter wereld voor het modelleren, bewerken, transformeren en debuggen van XML- en JSON-technologieën, ondersteunt .x3d-bestanden. XMLSpy biedt gestandaardiseerde tools voor iedereen die .x3d-bestanden moet bekijken, uitwisselen, verwerken of valideren. Laten we eens naar een paar voorbeelden kijken.

Ten eerste kunnen we het menu "XMLSpy Tools" aanpassen om een nieuwe optie toe te voegen waarmee we eenvoudig 3D-afbeeldingen kunnen weergeven vanuit .x3d-bestanden. We hebben twee X3D-spelers geïnstalleerd die op de pagina "X3D-resources" van web3d.org staan, zodat we de resultaten in beide spelers kunnen vergelijken. Dit creëert de volgende door de gebruiker gedefinieerde menuopties:

Nu hebben we een .x3d-bestand nodig. Er zijn veel voorbeelden online beschikbaar. Het National Institute of Health (NIH) onderhoudt een verzameling .x3d-bestanden op hun website. Deze bestanden bevatten een reeks X3D-toepassingen, waaronder modellen van chemische structuren, 3D-printbare objecten en realistische weergaven van celweefsels en organismen.

Laten we beginnen met een 3D-printbaar model. Op de onderstaande screenshot zien we hoe we een bestand hebben geopend en via het menu "Gereedschap" het bestand ook hebben geopend in de H3DViewer-app:

Let op het berichtvenster onderaan het hoofdgedeelte met de tekst. XMLSpy valideert .x3d-bestanden automatisch wanneer u ze opent. In de H3D-viewer kunnen we het beeld vastpakken en roteren om het beter te bekijken:

Dit object is een hulpmiddel om irritatie achter de oren te voorkomen bij het dragen van gezichtsmaskers. Het kan worden geprint met een 3D-printer. Het is bedoeld om het comfort te verhogen voor mensen die een masker dragen.

Zoals we in de eerste screenshot zagen, bevat het grootste deel van het bestand coördinaatdefinities, beginnend bij regel 14. Als we het bestand willen bewerken, bijvoorbeeld om de kleur van een object te wijzigen, kunnen we de XMLSpy Grid Editor-weergave gebruiken. De Grid Editor-weergave toont de hiërarchische structuur van XML-documenten en DTD's via een reeks geneste containers die gemakkelijk kunnen worden uitgevouwen en samengevouwen. We laten de container die alle vormcoördinaten bevat, samengevouwen, om ons te concentreren op andere documenteigenschappen en om per ongeluk geen vormwaarden te wijzigen.

De onderstaande screenshot laat zien wat er gebeurt in de Grid Editor als we op het element "Shape" dubbelklikken:

XMLSpy opent een pop-upvenster met een hulpmiddel dat alle andere elementen weergeeft die, volgens het schema, geldige onderdelen zijn van het "Group"-element op die specifieke locatie in het bestand. Dit is handig als u de taak heeft om een prototype .x3d-bestand te maken of te wijzigen voor een CAD-omgeving of een scène in een meeslepende game in de eerste persoon.

Laten we de kleur van het object wijzigen dat in dit bestand is gedefinieerd. Wanneer we klikken om de waarden voor het attribuut "diffuseColor" van het element "Material" te bewerken, biedt XMLSpy de standaardwaarde aan op basis van het XML-schema. We kunnen ofwel de standaardwaarde accepteren, of een nieuwe waarde invoeren.

XMLSpy biedt de mogelijkheid om .x3d-bestanden tijdens het bewerken te valideren. Als we bijvoorbeeld "3 3 3" invoeren en proberen het bestand op te slaan, detecteert XMLSpy direct een fout:

De waarden voor dit kenmerk moeten elk kleiner zijn dan 1. We kunnen bijvoorbeeld 0.3, 0.2 en 0.1 invoeren en vervolgens het beeld opnieuw laden in de H3D-viewer:

Het object is nu van brons in plaats van blauw.

Op de website van het NIH en op andere plaatsen zijn er andere voorbeelden van X3D-toepassingen te vinden. Hieronder is het chemische model van remdesivir weergegeven, een mogelijke behandeling voor Ebola en Covid-19. Deze vorm is op een heel andere manier gedefinieerd dan die van de "ear saver":

Als je er moedig genoeg voor bent, kun je zelfs het vijandbeeld van de hele mensheid confronteren:

.x3d naar JSON

Het Web3D Consortium is bijna klaar met de ontwikkeling van een standaard voor het opslaan van X3D in JSON-formaat en heeft een XSL-stijlblad gepubliceerd om Converteer .x3d-bestanden naar JSON-formaat. XMLSpy bevat de zeer snelle RaptorXML XSLT 3.0 processor, die u kunt gebruiken in combinatie met het Web3D XSL-stijlbestand om bestandsconversies te testen.

Ten eerste kunnen we de standaard bestandsuitbreiding wijzigen in het dialoogvenster "Opties" van XMLSpy, specifiek voor de verwerking van XSLT-bestanden

We hebben ook de optie "XML-bestanden valideren" uitgeschakeld, omdat we tijdens het bewerken voortdurend validatie uitvoeren.

Vervolgens, met een .x3d-bestand geopend, kunt u ofwel de F10-toets indrukken, of kiezen voor "XSL-transformatie" onder het menu "XSL/XQuery".

De transformatie vindt plaats en het resulterende JSON-bestand wordt geopend in een nieuw venster. De afbeelding hieronder toont het JSON-document dat is gegenereerd op basis van het "NIH face mask ear saver"-bestand, zowel in de tekstweergave van XMLSpy als in de JSON-rastereditor:

Als u .x3d-bestanden wilt bekijken, bewerken of valideren, bekijk dan de pagina met XMLSpy-demo's voor meer video's en gedetailleerde tutorials over de Grid Editor en vele andere functies van XMLSpy. Wanneer u klaar bent om u onder te dompelen in een 3D-omgeving die is gedefinieerd door een .x3d-bestand, download dan een gratis, 30-dagen proefversie van XMLSpy.