Instanciamento de componentes em 3D/BIM: como a desduplicação de geometria permite renderização em escala de GPU
Instanciação de componentes em 3D/Bim Redução de peso:Como a desduplicação geométrica desbloqueia a escalabilidade da GPU renderno
Do modelo BIM nativo à cena renderizada no navegador — a engenharia por trás do pipeline de instanciação do 3D Expert, abrangendo o Plugin 3D/BIM, o Gerador de Arquivos Opt e o Carregador Rapid3D para Three.js.
Por 3D Expert Co., Ltd. | Osaca, Japão | Agosto de 2026
O Pipeline de instanciação — Mapeado para o Produto
Fase 1: Impressão digital geométrica e detecção de duplicados
O primeiro desafio na instanciação é identificar quais componentes são geometricamente idênticos. A lista de componentes de um modelo BIM pode rotular 400 elementos como "Door_Type_A", mas variações paramétricas, modificações feitas diretamente no modelo e desvios na precisão de ponto flutuante significam que nem todos compartilham a mesma malha. O mecanismo de identificação de componentes do 3D Expert analisa os dados reais dos vértices — e não o rótulo — para determinar a verdadeira equivalência geométrica.
- Hashing de geometria com múltiplas assinaturas
A cada malha é atribuída uma impressão digital composta que combina três assinaturas independentes: (a) contagem de vértices e contagem de triângulos, (b) dimensões da caixa delimitadora alinhadas aos eixos com tolerância quantizada e (c) um MurmurHash de coordenadas de vértices ordenadas. Duas malhas são consideradas candidatas à instanciação somente se todas as três assinaturas coincidirem. Esse filtro de três estágios elimina falsos positivos de forma eficiente — as verificações de assinatura (contagem de vértices, caixa delimitadora) rejeitam mais de 95% das não correspondências antes que a comparação de hash, mais custosa, seja executada.
- Desenvolvido por: Plugin 3D/BIM (extração de geometria → GLZIP) → Gerador de Arquivos Opt (identificação e detecção de duplicados → .opt). Alternativa para desktop: Assistente de Modelo e Dados 3D (importa GLZIP ou formatos abertos, realiza a mesma identificação internamente, Windows 10+).
- Verificação de equivalência com reconhecimento de topologia
Quando as assinaturas das impressões digitais coincidem, uma etapa de verificação secundária compara a topologia da malha: o grafo de adjacência de vértices e arestas. Isso detecta casos em que duas malhas têm a mesma contagem de vértices e caixa delimitadora, mas conectividade diferente — por exemplo, um painel de porta versus uma folha de janela que por acaso compartilham características dimensionais. Somente as malhas que passam nas verificações de assinatura e topologia são mescladas em um grupo de instâncias.
- Desenvolvido por: Opt File Generator (verificação de topologia → .opt). Desktop: 3D Model & Data Asst (mesmo mecanismo de verificação, otimização e renderização integradas, Win 10+)
- Normalização de tolerância de ponto flutuante
As ferramentas de autoria BIM armazenam as coordenadas dos vértices em unidades e níveis de precisão específicos do projeto. O Revit usa pés internos com resolução de 1/256 de polegada; a Bentley usa milímetros com dupla precisão. O mecanismo de identificação de modelos normaliza todas as coordenadas para uma grade quantizada comum (tolerância de ±0,1 mm por padrão, configurável) antes do hashing, garantindo que a mesma família de portas exportada de diferentes ferramentas de autoria produza modelos correspondentes. Essa normalização multiplataforma é essencial para projetos que integram modelos de múltiplas ferramentas BIM.
- Desenvolvido por: Plugin 3D/BIM (extração de coordenadas → GLZIP) → Gerador de Arquivos Opt (normalização e identificação de arquivos → .opt). Desktop: Assistente de Modelo e Dados 3D (mesmo fluxo de trabalho, Windows 10 ou superior).
Fase 2: Reorganização de dados de instâncias de protótipo
Assim que grupos duplicados são identificados, o mecanismo reorganiza os dados: uma malha é selecionada como protótipo e todos os outros membros do grupo são substituídos por um registro de instância compacto contendo apenas uma matriz de transformação 4×4 e uma referência ao protótipo. Essa reorganização ocorre dentro do formato de arquivo .opt, de modo que os consumidores subsequentes (Rapid3D Loader, 3D Model & Data Asst) recebem os dados pré-organizados para renderização instanciada.
- Seleção de protótipos e desduplicação de malhas
Para cada grupo de instâncias, o mecanismo seleciona a malha com a maior qualidade geométrica como protótipo (normalmente aquela com o mapeamento UV e os dados de normais mais completos). Todos os outros membros têm seus buffers de vértices/triângulos/índices removidos e substituídos por um descritor de instância leve: uma matriz de transformação de 16 pontos (posição, rotação, escala) mais um ID de protótipo. Em um modelo típico de edifício comercial, isso reduz o buffer de geometria em 70–90% — 400 portas idênticas que antes consumiam 400 × 8.000 vértices agora consomem 8.000 vértices + 400 × 64 bytes.
- Desenvolvido por: Opt File Generator (seleção e desduplicação de protótipos → .opt). Desktop: Assistente de Modelo e Dados 3D (mesma reorganização, renderização integrada, Win 10+)
- Preservação de atributos por instância
A instanciação não significa perda de dados por elemento. Cada registro de instância mantém links para seu conjunto de atributos — ID do elemento, nome da família, nome do tipo, nível, fase, atribuição de material e todos os parâmetros personalizados. Quando um usuário clica em uma porta instanciada no visualizador da web, o Rapid3D Loader resolve o ID da instância de volta para o registro de atributo correto no arquivo do banco de dados e exibe o painel de propriedades completo. A árvore de estrutura também preserva a hierarquia por instância: cada instância aparece em sua posição correta na cadeia Tipo de Família → Nível → Grupo.
- Desenvolvido por: Plugin 3D/BIM (extração de atributos → GLZIP + DB) → Gerador de Arquivos Opt (vinculação de atributos de instância → .opt + DB) → Rapid3D Loader (consulta de propriedades por instância). Desktop: Assistente de Modelo e Dados 3D (pipeline completo, Win 10+)
- Agrupamento e classificação de instâncias
Após a desduplicação, os grupos de instâncias são agrupados e classificados por atribuição de material e localidade espacial. Componentes que compartilham o mesmo protótipo E o mesmo material são mesclados em um único lote instanciado, minimizando as trocas de estado de material durante a renderização. A classificação espacial (por hierarquia de volumes delimitadores) permite a eliminação eficiente de objetos ocultos por frustum em tempo de execução — se o frustum de visão de uma câmera não intersectar a caixa delimitadora combinada de um grupo, todo o lote é ignorado em uma única verificação.
- Desenvolvido por: Opt File Generator (processamento em lote e classificação espacial → .opt) → Rapid3D Loader (renderização instanciada com eliminação de frustum). Desktop: 3D Model & Data Asst (mesmo processamento em lote, renderização desktop, Win 10+)
Fase 3: Pipeline de renderização de instanciação de GPU
A fase final ocorre durante a renderização. O Rapid3D Loader para Three.js lê a estrutura de protótipo-instância do arquivo .opt e constrói objetos Three.js InstancedMesh — um mecanismo WebGL integrado que permite que uma única chamada de desenho renderize N cópias de uma malha com transformações diferentes. O mecanismo para desktop do Assistente de Modelo e Dados 3D usa um caminho de instanciação equivalente por meio de seu pipeline de renderização nativo.
- Reconstrução de malha instanciada WebGL
Ao carregar um arquivo .opt, o Rapid3D Loader itera pela tabela de grupos de instâncias e cria um THREE.InstancedMesh por grupo. Cada InstancedMesh recebe a geometria protótipo e uma matriz de instâncias. A GPU renderiza todas as instâncias em uma única chamada de desenho (via gl.drawArraysInstanced / gl.drawElementsInstanced), eliminando a sobrecarga por elemento que, de outra forma, produziria milhares de chamadas de desenho. Para um modelo com 15.000 componentes em 80 grupos de instâncias, as chamadas de desenho caem de aproximadamente 15.000 para cerca de 80 — uma redução de 99,5%.
- Desenvolvido por: Rapid3D Loader para Three.js (reconstrução de InstancedMesh, renderização web). Equivalente para desktop: 3D Model & Data Asst (instanciação nativa de GPU, Win 10+).
- Interação por instância: Selecionar, colorir e destacar
Um equívoco comum sobre instanciamento é que ele sacrifica a interatividade — que todas as instâncias devem ter a mesma aparência e comportamento. O Rapid3D Loader desmente essa ideia ao expor APIs por instância: `setColorAt(instanceId, color)` aplica uma cor exclusiva a uma única instância sem afetar as outras; o raycaster de seleção resolve eventos de clique para IDs de instância individuais, e não apenas para a malha protótipo. Isso significa que um usuário pode destacar uma porta entre 400, isolar uma janela específica ou aplicar renderização transparente a um subconjunto de colunas estruturais — tudo isso enquanto a GPU mantém a eficiência de uma única chamada de desenho.
- Desenvolvido por: Rapid3D Loader para Three.js (API de interação por instância, renderização web). Desktop: Assistente de Modelo e Dados 3D (mesma interação por instância, Win 10+)
- Instanciamento com reconhecimento de LOD
A geração de níveis de detalhe (LOD) no Opt File Generator respeita os limites das instâncias. Cada malha protótipo recebe sua própria cadeia de LOD (alta/média/baixa contagem de polígonos), e todas as instâncias desse protótipo compartilham a mesma cadeia de LOD. No momento da renderização, o Rapid3D Loader seleciona o nível de LOD apropriado para cada grupo de instâncias com base na distância da câmera — instâncias próximas são renderizadas em resolução total, enquanto instâncias distantes usam geometria simplificada. Como todas as instâncias em um grupo compartilham a mesma chave de LOD, não há sobrecarga de computação de LOD por instância. Combinado com a eliminação de objetos ocultos por frustum, isso permite a renderização suave de modelos com mais de 100.000 componentes em hardware de consumo.
- Desenvolvido por: Opt File Generator (geração de LOD por protótipo → .opt) → Rapid3D Loader (alternância de LOD baseada em distância + renderização instanciada). Desktop: 3D Model & Data Asst (mesma instanciamento com reconhecimento de LOD, Win 10+)
Fase 4: Impacto Mensurável no Desempenho
A instanciação de componentes não é uma otimização teórica — ela produz melhorias mensuráveis, às vezes drásticas, no tamanho do arquivo, no uso de memória e no desempenho de renderização. As métricas a seguir foram extraídas de modelos BIM reais processados pelo pipeline da 3D Expert.
Um modelo Revit de 450 MB de um edifício de escritórios de 12 andares (87.000 componentes, 62% duplicados) foi processado pelo Opt File Generator com instanciamento ativado. O arquivo .opt resultante tinha 38 MB — uma redução de 92% em comparação com o mesmo modelo exportado sem instanciamento (480 MB). A economia provém principalmente da eliminação de buffers de geometria redundantes: 54.000 malhas duplicadas (cada uma com uma média de 6 KB de dados de vértice) foram substituídas por 420 protótipos + 54.000 matrizes de instância (64 bytes cada), economizando aproximadamente 310 MB de dados de geometria bruta antes da compressão Draco.
- Gerado por: Opt File Generator (instanciação + compressão Draco → .opt)
- Melhoria na chamada de desenho e na taxa de quadros
O mesmo modelo foi carregado no Rapid3D Loader para Three.js. Sem instanciação, a cena gerou 87.000 chamadas de desenho, atingindo 8 a 12 FPS em um laptop de gama média com GPU integrada. Com instanciação, as chamadas de desenho caíram para 340 (uma por grupo de instâncias + malhas únicas não instanciadas), e a taxa de quadros melhorou para 45 a 60 FPS no mesmo hardware — uma melhoria de 4 a 6 vezes. Em um desktop com GPU dedicada, o modelo instanciado manteve 60 FPS em resolução 4K.
- Desenvolvido por: Rapid3D Loader para Three.js (renderização InstancedMesh, web). Desktop: 3D Model & Data Asst (renderização instanciada nativa, Win 10+)
- Otimização da pegada de memória
Na memória do navegador, a versão não instanciada do modelo consumiu 1,2 GB de memória buffer da GPU (geometria + materiais + texturas). A versão instanciada consumiu 290 MB — uma redução de 76%. Essa é a diferença entre um modelo que trava dispositivos com pouca memória (tablets, laptops com GPU integrada) e um que funciona sem problemas. Para visualizadores da web em dispositivos móveis, onde a memória é o principal gargalo, a instanciação costuma ser a otimização de maior impacto.
- Desenvolvido por: Opt File Generator (saída .opt otimizada para memória) → Rapid3D Loader (gerenciamento eficiente do buffer da GPU). Desktop: 3D Model & Data Asst (mesma otimização de memória, Win 10+)
────────────────────────────────────────────────────────────
Juntando as peças: qual produto para qual necessidade?
O pipeline de instanciação está integrado em todo o ecossistema de produtos da 3D Expert. O produto que você escolher dependerá de onde seus usuários estão e do que eles precisam fazer:
- Criar uma plataforma BIM baseada na web ou um painel de controlo de gémeos digitais?→ Utilize o plugin 3D/BIM para extrair arquivos .rvt/.dgn nativos para um formato intermediário GLZIP (com os metadados de instância da família preservados). Em seguida, execute o Opt File Generator para realizar a identificação geométrica, a desduplicação e a reorganização de dados com compressão Draco (saída: .opt + banco de dados). Implante os arquivos .opt em seu servidor web. Carregue-os com o Rapid3D Loader para Three.js — ele reconstrói automaticamente os objetos InstancedMesh para renderização eficiente em GPU. A seleção por instância, a coloração e a consulta de propriedades estão disponíveis por meio da API JavaScript.
- Entregar modelos BIM aos clientes em computadores sem acesso à rede?→ Use o Plugin 3D/BIM para extrair e, em seguida, entregue ao cliente o Assistente de Modelo e Dados 3D (Windows 10+). Eles importam o GLZIP (ou formatos abertos como IFC/FBX/STEP), e o aplicativo realiza a mesma análise de instanciação internamente — a identificação de impressões digitais, a desduplicação e a renderização com instâncias de GPU acontecem em uma experiência integrada. Não são necessários arquivos .opt.
- Converter formatos abertos (IFC, FBX, STEP, 3DXML) sem uma licença CAD nativa?→ Ignore o plugin. Envie os formatos abertos diretamente para o Opt File Generator, que realiza a identificação geométrica e a desduplicação de instâncias em quaisquer dados de malha — mesmo em formatos que não possuem metadados de instância nativos. O mecanismo de identificação identifica duplicatas apenas pela geometria. Saída: arquivo .opt para implantação na web via Rapid3D Loader.
- Tanto na web quanto no computador?→ Para a web: extraia com o Plugin (nativo, preserva os metadados da família) ou importe formatos abertos → Gerador de Arquivos Opt (instanciamento + Draco → .opt) → Rapid3D Loader (renderização web InstancedMesh). Para desktop: importe GLZIP ou formatos abertos diretamente no Assistente de Modelo e Dados 3D (Win 10+) — ele realiza o instanciamento e a renderização em um único aplicativo.
────────────────────────────────────────────────────────────
Conclusão: Por que o instanciamento em nível de pipeline é importante
A instanciação de componentes é a técnica mais eficaz para reduzir a quantidade de dados em modelos BIM que contêm elementos repetidos — e praticamente todos os modelos BIM contêm. Uma redução de 60 a 90% nos dados geométricos, uma redução de mais de 99% nas chamadas de desenho e uma melhoria de 4 a 6 vezes na taxa de quadros não são resultados isolados; são o esperado quando a instanciação é aplicada corretamente.
O que diferencia a abordagem da 3D Expert é que a instanciação não é um recurso adicional ou uma etapa de pós-processamento. Trata-se de uma capacidade integrada ao pipeline, que começa na extração (preservando os metadados nativos de família-instância no Plugin 3D/BIM), amadurece durante a otimização (impressão digital de múltiplas assinaturas e verificação com reconhecimento de topologia no Opt File Generator) e culmina na renderização (WebGL InstancedMesh com interação completa por instância no Rapid3D Loader). Cada etapa é projetada para alimentar a seguinte, de modo que a GPU receba dados pré-organizados para chamadas de desenho instanciadas — sem deduplicação em tempo de execução, sem desperdício de memória, sem chamadas de desenho desnecessárias.
Para empresas de arquitetura, engenharia e construção (AEC) que desenvolvem visualizadores BIM baseados na web, plataformas de gêmeos digitais ou ferramentas de revisão de modelos para desktop, esse fluxo de trabalho representa a diferença entre um modelo que carrega e um modelo que carrega instantaneamente. Entre 12 FPS e 60 FPS. Entre um visualizador que funciona em um tablet de canteiro de obras e um que exige uma estação de trabalho. A instanciação de componentes não é um requisito opcional de engenharia — é essencial.
────────────────────────────────────────────────────────────
Sobre a empresa
A 3D Expert Co., Ltd., com sede em Osaka, Japão, desenvolve software 3D/BIM de alto desempenho para o setor global de Arquitetura, Engenharia e Construção (AEC). Nosso portfólio de produtos inclui:
- Plugin 3D/BIM — Atualmente, 6 complementos de exportação nativos para plataformas CAD/BIM, construídos com base nas APIs oficiais dos fornecedores. Realiza a extração sem perda de dados de geometria, texturas, materiais, árvores de estrutura e metadados de instâncias de família a partir de formatos nativos (.rvt, .dgn, etc.). Saída: GLZIP intermediário. NÃO realiza compressão ou redução de tamanho.
- Gerador de Arquivos Opt — Mecanismo de otimização de arquivos para desktop, ideal para processamento em lote. Utiliza arquivos intermediários GLZIP (provenientes de um plugin) ou formatos abertos (IFC, FBX, STEP, 3DXML, etc.) e aplica técnicas como identificação geométrica, desduplicação de instâncias, reorganização de instâncias protótipo, compressão Draco, geração de LOD e otimização de malha no computador do usuário. Saída: modelo em formato .opt + banco de dados. Este é o ÚNICO produto que gera arquivos .opt.
- Assistente de Modelo e Dados 3D — Aplicativo nativo para desktop Windows 10+. Importa arquivos GLZIP (a partir de um plugin) ou formatos abertos (IFC, FBX, STEP, 3DXML, etc.), realiza internamente a mesma análise de instanciação e otimização de peso e renderiza o modelo com instanciação por GPU e consulta completa de propriedades — tudo em um único aplicativo integrado. NÃO gera arquivos .opt.
- Rapid3D Loader para Three.js — pacote npm (opt-rapid3d-loader) com decodificador WASM Draco integrado, streaming progressivo de chunks, reconstrução automática de InstancedMesh e APIs completas de interação por instância (seleção, coloração, transparência, realce, clique para consultar). Lê e carrega diretamente modelos no formato .opt (produzidos pelo Opt File Generator) em cenas Three.js.
Saiba mais ou inicie um teste gratuito em https://www.opt3ds.com/
Contato: info@3dexpert.jp
© 2010–2026 3D Expert Co.,Ltd. Todos os direitos reservados.

