Esaminare, modificare e validare i file .x3d

Il formato di file .x3d è uno standard ISO/IEC basato su XML per la rappresentazione di immagini tridimensionali. Conosciuto anche come X3D, i file .x3d sono nati come metodo per rappresentare immagini 3D nella grafica computerizzata. Nel corso del tempo, le applicazioni si sono evolute, passando dalla realtà virtuale (VRML) alla progettazione CAD, alla modellazione architettonica, alla stampa 3D, all'imaging medico e anatomico, alla rappresentazione di strutture chimiche molecolari, all'animazione umana e ad altro ancora.

Il consorzio Web3D mantiene lo standard X3D, con gli schemi XML documentati qui. Le versioni attuali includono definizioni di oltre 250 elementi XML, più di 100 tipi semplici, 70 tipi complessi e più di 40 gruppi di nodi definiti.

È necessaria una tale complessità per descrivere accuratamente qualsiasi cosa, da un componente di una macchina prodotto con precisione a un ambiente virtuale ricco di dettagli, soprattutto considerando l'illuminazione, le texture e il punto di vista! XMLSpy, lo strumento più popolare al mondo per la modellazione, la modifica, la trasformazione e il debug delle tecnologie XML e JSON, supporta i file .x3d. XMLSpy offre strumenti conformi agli standard per chiunque possa aver bisogno di esaminare, scambiare, utilizzare o validare i file .x3d. Vediamo alcuni esempi.

Innanzitutto, possiamo personalizzare il menu degli strumenti XMLSpy per creare una nuova opzione di menu che consenta di visualizzare facilmente immagini 3D dai file .x3d. Abbiamo installato due lettori X3D elencati nella pagina Risorse X3D del sito web3d.org, in modo da poter confrontare i risultati ottenuti con ciascuno di essi. Questo crea le seguenti opzioni di menu personalizzate:

Ora abbiamo bisogno di un file .x3d. Molti esempi sono disponibili online. Il National Institute of Health (NIH) mantiene una collezione di file .x3d sul proprio sito web. Questi file includono una vasta gamma di applicazioni X3D, tra cui modelli di strutture chimiche, oggetti stampabili in 3D e rappresentazioni tridimensionali di tessuti cellulari e organismi.

Cominciamo con una forma stampabile in 3D. Nello screenshot qui sotto, abbiamo aperto un file e, utilizzando il menu "Strumenti", lo abbiamo aperto anche nell'applicazione H3DViewer:

Notare la finestra dei messaggi situata sotto l'area principale di visualizzazione del testo. XMLSpy convaliderà automaticamente i file .x3d quando li aprite. Nel visualizzatore H3D, è possibile trascinare l'immagine e ruotarla per osservarla meglio

Questo oggetto è un accessorio progettato per ridurre la pressione sulle orecchie causata dall'uso prolungato delle mascherine, ed è stampabile in 3D. Il suo scopo è prevenire irritazioni nella zona dietro le orecchie per chi indossa la mascherina.

Come abbiamo visto nella prima schermata, la maggior parte del file contiene definizioni di coordinate, a partire dalla riga 14. Se volessimo modificare il file, ad esempio per cambiare il colore di un oggetto, potremmo voler passare alla visualizzazione "Editor a griglia" di XMLSpy. La visualizzazione "Editor a griglia" mostra la struttura gerarchica dei documenti XML e dei DTD attraverso un insieme di contenitori nidificati che possono essere facilmente espansi e compressi. Lasceremo il contenitore che contiene tutte le coordinate delle forme compresso, per concentrarci su altre funzionalità del documento ed evitare di modificare accidentalmente i valori di qualsiasi forma.

La schermata qui sotto mostra cosa succede nell'editor della griglia quando si fa doppio clic sull'elemento "Forma":

XMLSpy apre una finestra a comparsa che funge da guida, elencando tutti gli altri elementi definiti nello schema che sono elementi figli validi dell'elemento "Group" in quella specifica posizione del file. Questa informazione può essere utile se si è incaricati di creare o modificare un file .x3d di esempio per un ambiente CAD o per una scena in un gioco immersivo in prima persona.

Modifichiamo il colore dell'oggetto definito in questo file. Quando clicchiamo per modificare i valori dell'attributo "diffuseColor" dell'elemento "Material", XMLSpy propone il valore predefinito basato sullo schema XML. Possiamo accettare il valore predefinito oppure inserire un nuovo valore.

XMLSpy include un'opzione per validare i file .x3d durante la fase di modifica. Se digitiamo "3 3 3" e proviamo a salvare il file, XMLSpy rileva immediatamente un errore:

I valori per questo attributo devono essere tutti inferiori a 1. Possiamo inserire i valori 0.3, 0.2 e 0.1 e quindi ricaricare l'immagine nel visualizzatore H3D:

L'oggetto è ora di colore bronzo, invece che blu.

Altri file disponibili sul sito del NIH e su altre piattaforme mostrano altre applicazioni di X3D. Di seguito è presentato il modello chimico del remdesivir, un possibile trattamento per l'Ebola e il Covid-19. Questa forma è definita in modo molto diverso rispetto al modello per il dispositivo che protegge le orecchie

Se siete abbastanza coraggiosi, potete persino affrontare il nemico di tutta l'umanità:

Conversione da .x3d a JSON

Il consorzio Web3D sta per completare uno standard per l'archiviazione di file X3D in formato JSON e ha rilasciato un foglio di stile XSL per convertire i file .x3d in formato JSON. XMLSpy include il processore XSLT 3.0 RaptorXML, estremamente veloce, che potete utilizzare insieme al foglio di stile XSL di Web3D per provare la conversione dei file.

Innanzitutto, è possibile modificare l'estensione del file predefinita nel dialogo delle opzioni di XMLSpy, nella sezione relativa all'elaborazione XSLT:

Abbiamo anche deselezionato l'opzione "Verifica file XML", poiché abbiamo effettuato controlli di validazione in modo continuo durante la fase di modifica.

Successivamente, con un file .x3d aperto, è possibile premere il tasto F10 oppure selezionare la trasformazione XSL dal menu XSL/XQuery.

La trasformazione avviene e il file JSON risultante si apre in una nuova finestra. L'immagine sottostante mostra il documento JSON generato a partire dal modello di mascherina con l'accessorio per le orecchie del NIH, visualizzato sia nella vista "Testo" di XMLSpy che nell'editor a griglia JSON:

Se è necessario esaminare, modificare o validare file .x3d, visitate la pagina delle dimostrazioni di XMLSpy per trovare altri video e tutorial dettagliati sull'editor di griglie e su molte altre funzionalità di XMLSpy. Quando siete pronti a immergervi in un ambiente 3D definito da un file .x3d, scaricate una versione di prova gratuita di XMLSpy, valida per 30 giorni.