BIM na WEB: como exportar e visualizar modelos

A indústria AEC continua buscando seu lugar no #metaverso, mas encontrar a melhor maneira de utilizar os modelos BIM neste ambiente não é tarefa fácil. Na ATBIM implementamos visualizadores web para tirar proveito destes ativos digitais (modelos BIM) que nos parece mais real, acessível e fácil... Porque, se todo nosso trabalho fazemos em ambiente web por que não usar nossos modelos BIM na web?

Assim podemos seguir explorando os arquivos BIM, reutilizando sua geometria e dados no contexto web, acessível de qualquer lugar e dispositivo, sem software, sem licenças..

..e as possibilidades são infinitas, desde um simples visualizador de modelos 3D para que toda a equipe possa acessar este modelo sem a necessidade de utilizar softwares como REVIT ou Navisworks, até a gamificação do projeto, a animação com física, a virtualização (VR), os NFTs, blockchain...

Foto de um notebook em uma mesa com uma janela. Na tela vê-se código de programação

Atualmente, e em uma % muito alta dos casos, as empresas que trabalham com BIM utilizam imagens de seus modelos para uma reunião ou explicação, mas por que não mostrar o projeto completo, tal qual?

Desta forma reduziremos o tempo de trabalho e adicionaremos valor aos nossos clientes...
Poder "tocar" e explorar seu projeto, de forma imersiva, nos aproxima da realidade e aporta essa riqueza e frescor nos detalhes interessantes.

Para consegui-lo com sucesso, deveremos solucionar os problemas referentes ao tamanho e peso dos arquivos BIM. Encontramos uma solução simples, viável e empolgante que marcará um antes e depois nos nossos trabalhos:

Utilizamos as bibliotecas Three.js e R3F (react-three-fiber). Three.js admite uma ampla gama de tipos de arquivos 3D, mas é recomendável utilizar glTF (um tipo de arquivo rápido que pode ser comprimido em um arquivo muito compacto, ideal para modelos BIM).

Imagem onde de um lado se vê os logos do react e three.js e do outro se vê uns edifícios em 3D.

react + three.js = react-three-fiber

O Three.js permite renderizar gráficos na web, enquanto o React Three Fiber é uma biblioteca que abstrai um pouco mais o processo de implementação de Three.js e nos permite desenvolver aplicações web com um código mais fácil e simples de trabalhar.
Em resumo, o Three.js é uma biblioteca de gráficos em 3D independente que se utiliza para criar conteúdo 3D na web, enquanto o React Three Fiber é uma biblioteca baseada em Three.js que se utiliza para integrar conteúdo 3D em aplicações de React.

Convertendo o modelo BIM em um componente React reutilizável:

Começamos exportando nosso arquivo rvt para fbx para depois passar para glTF. Uma vez que se exportou e comprimiu nosso modelo RVT para glTF, o ideal é convertê-lo em GLB neste processo. O formato GLB armazena os dados internamente, o que faz com que o tamanho do arquivo seja consideravelmente menor... e este é um ponto muito a nosso favor já que normalmente trabalhamos com modelos BIM de geometria complexa e grande tamanho.

Gráfico explicativo sobre o ciclo de conversão de BIM para gltfjsx

Ciclo de conversão de um modelo .rvt para gltfjsx

Converter o modelo BIM em um componente React reutilizável é fácil com o pacote gltfjsx. Esta ferramenta compila toda a informação do nosso modelo em um componente React reutilizável.

Se desejas testar com seus próprios modelos, podes utilizar o seguinte conversor:

https://gltf.pmnd.rs/

Também podes usá-lo no terminal com o comando:

npx gltfjsx model.gltf --transform

(Para usá-lo, deves ter instalado Node no teu computador).

Este comando processa teu modelo por uns segundos e te devolverá como saída um arquivo Model.jsx pronto para trabalhar com React.

E pronto!

Depois deste processo simples, terás teu modelo pronto para implementá-lo na web.

Aqui tens um pequeno exemplo open source para que possas ver todo o potencial da ferramenta:

https://codesandbox.io/s/s006f

Conta-nos suas ideias de como implementar esta ferramenta nos seus projetos! E se precisas de ajuda, não hesites em consultar-nos em info@atbim.es!