---
title: "Examinar, editar e validar ficheiros .x3d"
date: "2020-08-21"
categories: 
  - "applications"
  - "json"
  - "xml"
  - "xsl"
tags: 
  - "industry-standards"
  - "json-editor"
  - "x3d"
  - "xml-editor"
  - "xslt"
description: Explore o formato de ficheiro .x3d, as suas aplicações na modelação 3D, e como examinar, editar e validar estes ficheiros utilizando as ferramentas e técnicas do XMLSpy.
---
Status: #blog

Tags:  #industry-standards #json-editor #x3d #xml-editor #xslt

Categories: [development](/blog/pt/category/development.md) | [json](/blog/pt/category/json.md) | [xml](/blog/pt/category/xml.md) | [xsl](/blog/pt/category/xsl.md)
# Examinar, editar e validar ficheiros .x3d

O formato de ficheiro .x3d é um padrão ISO/IEC baseado em XML para representar imagens 3D. Também conhecido como X3D, os ficheiros .x3d surgiram como uma forma de representar imagens 3D para gráficos computacionais. Ao longo do tempo, as aplicações evoluíram desde a realidade virtual (VRML) até ao design CAD, renderização arquitetónica, impressão 3D, imagens médicas e anatómicas, representação de estruturas químicas moleculares, animação humana e muito mais.

O consórcio [Web3D](https://www.web3d.org/x3d/what-x3d/) mantém o padrão X3D, com esquemas XML [documentados aqui](http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3.html). As versões atuais incluem definições de mais de 250 elementos XML, mais de 100 tipos simples, 70 tipos complexos e mais de 40 grupos de nós definidos.

É preciso um nível de complexidade considerável para descrever com precisão qualquer coisa, desde uma peça de máquina fabricada com precisão até um ambiente virtual com texturas ricas, especialmente quando se considera a iluminação, as texturas e o ponto de vista! O XMLSpy, a ferramenta mais popular do mundo para [modelação, edição, transformação e depuração](https://www.altova.com/pt/xmlspy-xml-editor) de tecnologias relacionadas a XML e JSON, suporta ficheiros .x3d. O XMLSpy oferece ferramentas baseadas em padrões para qualquer pessoa que precise examinar, trocar, utilizar ou validar ficheiros .x3d. Vamos analisar alguns exemplos.

![](/blog/images/draft_x3d_01.png)

<!--more-->

Primeiro, podemos personalizar o menu "Ferramentas do XMLSpy" para criar uma nova opção de menu que permita visualizar imagens 3D a partir de ficheiros .x3d de forma conveniente. Instalámos dois visualizadores X3D listados na página [Recursos X3D](https://www.web3d.org/x3d/content/examples/X3dResources.html) do site web3d.org, para que possamos comparar os resultados em cada um. Isto cria as opções de menu definidas pelo utilizador:

[![](/blog/images/tools-menu-1a-1.png)](tools-menu-1a-1.png)

Agora, precisamos de um ficheiro .x3d. Existem muitos exemplos disponíveis online. O Instituto Nacional de Saúde (NIH) mantém uma [coleção de ficheiros .x3d](https://3dprint.nih.gov/) no seu site. Estes ficheiros incluem uma variedade de aplicações X3D, incluindo modelos de estruturas químicas, objetos imprimíveis em 3D e representações tridimensionais de tecidos e organismos celulares.

Vamos começar com uma forma que pode ser impressa em 3D. Na captura de ecrã abaixo, abrimos um ficheiro e, utilizando o menu "Ferramentas", também o abrimos na aplicação H3DViewer:

[![O XMLSpy valida automaticamente os ficheiros .x3d sempre que são abertos](/blog/images/Capture-earsaver-1.png)](Capture-earsaver-1.png)

Observe a janela de mensagens localizada abaixo da área principal de visualização de texto. O XMLSpy valida automaticamente os ficheiros .x3d quando os abre. No visualizador H3D, podemos selecionar a imagem e girá-la para a visualizar melhor:

[![](/blog/images/Capture-earsaver-2-1.png)](Capture-earsaver-2-1.png)

Este objeto é um acessório para máscaras faciais que serve para aliviar a pressão nas orelhas e pode ser impresso numa impressora 3D. Tem como objetivo prevenir irritações na zona das orelhas para quem usa máscaras.

Como vimos na primeira captura de ecrã, a maior parte do ficheiro contém definições de coordenadas, começando na linha 14. Se quiséssemos editar o ficheiro, por exemplo, para alterar a cor de um objeto, poderíamos optar por usar a visualização "Editor de Grids" do XMLSpy. A visualização "Editor de Grids" mostra a estrutura hierárquica dos documentos XML e das DTDs através de um conjunto de contêineres aninhados que podem ser facilmente expandidos e recolhidos. Vamos manter o contêiner que contém todas as coordenadas das formas recolhido, para nos concentrarmos em outras características do documento e evitar alterar acidentalmente qualquer valor das formas.

A captura de ecrã abaixo mostra o que acontece no Editor de Grids quando clicamos duas vezes no elemento "Forma":

[![](/blog/images/Capture-earsaver-2a.png)](Capture-earsaver-2a.png)

O XMLSpy abre uma janela pop-up que funciona como um auxílio, listando todos os outros elementos definidos no esquema que são elementos filhos válidos do elemento "Group" naquela localização específica no ficheiro. Isto pode ser útil se lhe for atribuída a tarefa de criar ou modificar um ficheiro .x3d de protótipo para um ambiente CAD ou para uma cena num jogo imersivo em primeira pessoa.

Vamos alterar a cor do objeto definido neste ficheiro. Quando clicamos para editar os valores do atributo "diffuseColor" do elemento "Material", o XMLSpy oferece o valor padrão com base no esquema XML. Podemos aceitar o valor padrão ou introduzir um novo valor.

[![Editar o ficheiro .x3d na vista de grade do XMLSpy](/blog/images/Capture-earsaver-3-1.png)](Capture-earsaver-3-1.png)

O XMLSpy inclui uma opção para validar ficheiros .x3d durante a edição. Se digitarmos "3 3 3" e tentarmos guardar o ficheiro, o XMLSpy deteta imediatamente um erro:

[![Validar ficheiros .x3d com mensagens de erro detalhadas](/blog/images/Capture-earsaver-4.png)](Capture-earsaver-4.png)

Os valores para este atributo devem ser, cada um, inferiores a 1. Podemos inserir 0,3, 0,2 e 0,1 e recarregar a imagem no visualizador H3D:

[![](/blog/images/Capture-earsaver-5-1.png)](Capture-earsaver-5-1.png)

O objeto é agora de cor bronze, em vez de azul.

Outros ficheiros no site do NIH e noutros locais demonstram outras aplicações do X3D. A imagem abaixo mostra o modelo químico da remdesivir, um possível tratamento para o Ebola e a Covid-19. Esta forma é definida de uma maneira muito diferente daquela utilizada para o "ear saver" (dispositivo para proteger as orelhas)

[![Um ficheiro .x3d que descreve a estrutura química do remdesivir](/blog/images/Capture-remdesivir.png)](Capture-remdesivir.png)

Se tiver coragem suficiente, pode até mesmo enfrentar o inimigo de toda a humanidade:

[![](/blog/images/Capture-covid-19.png)](Capture-covid-19.png)

### Conversão de ficheiros .x3d para formato JSON

O Consórcio Web3D está a finalizar um padrão para armazenar ficheiros X3D em formato JSON e disponibilizou uma folha de estilos XSL para [converter ficheiros .x3d para JSON](https://www.web3d.org/x3d/stylesheets/X3dToJson.html). O XMLSpy inclui o processador XSLT 3.0 RaptorXML, que é extremamente rápido, e que pode ser utilizado com a folha de estilos XSL do Web3D para testar a conversão de ficheiros.

Primeiramente, podemos alterar a extensão de ficheiro padrão no diálogo de opções do XMLSpy, para o processamento XSLT:

[![Janela de opções do XMLSpy para processamento XSL](/blog/images/Capture-XSL-options.png)](Capture-XSL-options.png)

Desativámos também a opção "Validar ficheiros XML", uma vez que temos estado a validar continuamente durante a edição.

Em seguida, com um ficheiro .x3d aberto, pressione a tecla F10 ou selecione a transformação XSL no menu XSL/XQuery.

A transformação é realizada e o ficheiro JSON resultante é aberto numa nova janela. A imagem abaixo mostra o documento JSON gerado a partir da máscara facial com protetor para as orelhas da NIH, visualizado na vista de texto do XMLSpy e na vista de editor de grade JSON:

[![](/blog/images/json-output.png)](json-output.png)

Se precisar examinar, editar ou validar ficheiros .x3d, consulte a página de [demonstrações do XMLSpy](https://www.altova.com/pt/xmlspy-xml-editor/demos) para ver mais vídeos e tutoriais detalhados sobre o editor de grelhas e muitas outras funcionalidades do XMLSpy. Quando estiver pronto para explorar um ambiente 3D definido por um ficheiro .x3d, descarregue uma versão de avaliação gratuita do XMLSpy, com [duração de 30 dias](https://www.altova.com/pt/xmlspy-xml-editor/download).
