Japanese
Leave Your Message

Instanciación de componentes en la optimización de modelos 3D/BIM: Cómo la deduplicación de geometría permite la renderización a escala de GPU

17/08/2026

Instanciación de componentes en 3D/Bim Reducción de peso:Cómo la deduplicación de geometría desbloquea la escalabilidad de la GPU prestaren

Desde el modelo BIM nativo hasta la escena renderizada en el navegador: la ingeniería detrás del proceso de instanciación de 3D Expert en el complemento 3D/BIM, el generador de archivos Opt y el cargador Rapid3D para Three.js.

Por 3D Expert Co., Ltd. | Osaka, Japón | agosto 2026

El Canalización de instancias — Mapeado al producto

Fase 1: Identificación geométrica y detección de duplicados

El primer desafío en la instanciación es identificar qué componentes son geométricamente idénticos. La lista de componentes de un modelo BIM puede etiquetar 400 elementos como "Puerta_Tipo_A", pero las variaciones paramétricas, las modificaciones de edición in situ y la desviación de la precisión de punto flotante implican que no todos comparten la misma malla. El motor de huella digital de 3D Expert analiza los datos reales de los vértices —no la etiqueta— para determinar la verdadera equivalencia geométrica.

  1. Hashing geométrico de multifirma

A cada malla se le asigna una huella digital compuesta que combina tres firmas independientes: (a) recuento de vértices y recuento de triángulos, (b) dimensiones del cuadro delimitador alineadas con los ejes con tolerancia cuantificada, y (c) un MurmurHash de coordenadas de vértices ordenadas. Dos mallas se consideran candidatas para la instanciación solo si las tres firmas coinciden. Este filtro de tres etapas elimina los falsos positivos de manera eficiente: las comprobaciones de firmas sencillas (recuento de vértices, cuadro delimitador) rechazan más del 95 % de las no coincidencias antes de que se ejecute la costosa comparación de hash.

  • Desarrollado por: Plugin 3D/BIM (extracción de geometría → GLZIP) → Generador de archivos Opt (identificación y detección de duplicados → .opt). Alternativa de escritorio: Asistente de modelos y datos 3D (importa GLZIP o formatos abiertos, realiza la misma identificación internamente, Windows 10+).
  1. Verificación de equivalencia con reconocimiento de topología

Cuando las firmas de huellas digitales coinciden, un paso de verificación secundario compara la topología de la malla: el grafo de adyacencia de vértices y aristas. Esto detecta casos en los que dos mallas tienen el mismo número de vértices y cuadro delimitador, pero diferente conectividad; por ejemplo, un panel de puerta frente a un marco de ventana que comparten características dimensionales. Solo las mallas que superan las comprobaciones de firma y topología se agrupan en una instancia.

  • Desarrollado por: Opt File Generator (verificación de topología → .opt). Escritorio: 3D Model & Data Asst (mismo motor de verificación, optimización y renderizado integrados, Windows 10+).
  1. Normalización de tolerancia de punto flotante

Las herramientas de autoría BIM almacenan las coordenadas de los vértices en unidades y niveles de precisión específicos del proyecto. Revit utiliza pies internos con una resolución de 1/256 de pulgada; Bentley utiliza milímetros con doble precisión. El motor de huellas digitales normaliza todas las coordenadas a una cuadrícula cuantificada común (con una tolerancia de ±0,1 mm por defecto, configurable) antes de aplicar el hash, lo que garantiza que la misma familia de puertas exportada desde diferentes herramientas de autoría genere huellas digitales coincidentes. Esta normalización multiplataforma es esencial para proyectos que integran modelos de múltiples herramientas BIM.

  • Desarrollado por: Plugin 3D/BIM (extracción de coordenadas → GLZIP) → Generador de archivos Opt (normalización y huella digital → .opt). Escritorio: Asistente de modelos y datos 3D (mismo flujo de trabajo, Windows 10+).

Fase 2: Reorganización de datos de instancias de prototipos

Una vez identificados los grupos duplicados, el motor reorganiza los datos: se selecciona una malla como prototipo y todos los demás miembros del grupo se reemplazan por un registro de instancia compacto que contiene únicamente una matriz de transformación de 4×4 y una referencia al prototipo. Esta reorganización se realiza dentro del formato de archivo .opt, de modo que los usuarios posteriores (Rapid3D Loader, 3D Model & Data Asst) reciben los datos preorganizados para la renderización instanciada.

  1. Selección de prototipos y eliminación de duplicados de malla

Para cada grupo de instancias, el motor selecciona la malla con la mayor calidad geométrica como prototipo (normalmente la que tiene el mapeo UV y los datos normales más completos). A todos los demás miembros se les eliminan los búferes de vértices, triángulos e índices y se reemplazan por un descriptor de instancia ligero: una matriz de transformación de 16 valores flotantes (posición, rotación, escala) más un ID de prototipo. En un modelo típico de edificio comercial, esto reduce el búfer de geometría entre un 70 % y un 90 %: 400 puertas idénticas que antes consumían 400 × 8000 vértices ahora consumen 8000 vértices + 400 × 64 bytes.

  • Desarrollado por: Generador de archivos Opt (selección de prototipos y eliminación de duplicados → .opt). Escritorio: Asistente de modelos y datos 3D (misma reorganización, renderizado integrado, Windows 10+).
  1. Conservación de atributos por instancia

La instanciación no implica la pérdida de datos por elemento. Cada registro de instancia conserva los enlaces a su conjunto de atributos: ID de elemento, nombre de familia, nombre de tipo, nivel, fase, asignación de material y todos los parámetros personalizados. Cuando un usuario hace clic en una puerta instanciada en el visor web, Rapid3D Loader resuelve el ID de instancia y lo vincula al registro de atributo correcto en el archivo de base de datos, mostrando el panel de propiedades completo. El árbol de estructura también conserva la jerarquía por instancia: cada instancia aparece en su posición correcta en la cadena Tipo de familia → Nivel → Grupo.

  • Desarrollado por: Plugin 3D/BIM (extracción de atributos → GLZIP + DB) → Generador de archivos Opt (vinculación de atributos de instancia → .opt + DB) → Cargador Rapid3D (consulta de propiedades por instancia). Escritorio: Asistente de modelos y datos 3D (flujo de trabajo completo, Windows 10+).
  1. Agrupación y ordenación de instancias

Tras la eliminación de duplicados, los grupos de instancias se agrupan y ordenan según la asignación de material y la ubicación espacial. Los componentes que comparten el mismo prototipo y el mismo material se fusionan en un único lote de instancias, lo que minimiza los cambios de estado del material durante la renderización. La ordenación espacial (por jerarquía de volumen delimitador) permite una eliminación eficiente de frustums en tiempo de ejecución: si el frustum de visión de una cámara no interseca el cuadro delimitador combinado de un grupo, se omite todo el lote en una sola comprobación.

  • Desarrollado por: Generador de archivos Opt (procesamiento por lotes y ordenación espacial → .opt) → Cargador Rapid3D (renderizado instanciado con eliminación de frustum). Escritorio: Asistente de modelos y datos 3D (mismo procesamiento por lotes, renderizado de escritorio, Windows 10+).

Fase 3: Pipeline de renderizado por instanciación de GPU

La fase final se produce durante el renderizado. Rapid3D Loader para Three.js lee la estructura de instancia de prototipo del archivo .opt y crea objetos InstancedMesh de Three.js, un mecanismo WebGL integrado que permite renderizar N copias de una malla con diferentes transformaciones con una sola llamada de dibujo. El motor de escritorio de 3D Model & Data Asst utiliza una ruta de instanciación equivalente a través de su canalización de renderizado nativa.

  1. Reconstrucción de malla instanciada WebGL

Al cargar un archivo .opt, Rapid3D Loader itera sobre la tabla de grupos de instancias y crea una instancia de THREE.InstancedMesh por grupo. Cada instancia de InstancedMesh recibe la geometría del prototipo y una matriz de instancias. La GPU renderiza todas las instancias en una sola llamada de dibujo (a través de gl.drawArraysInstanced / gl.drawElementsInstanced), eliminando la sobrecarga por elemento que de otro modo produciría miles de llamadas de dibujo. Para un modelo con 15 000 componentes en 80 grupos de instancias, las llamadas de dibujo se reducen de aproximadamente 15 000 a aproximadamente 80, una reducción del 99,5 %.

  • Desarrollado con: Rapid3D Loader para Three.js (reconstrucción de InstancedMesh, renderizado web). Equivalente de escritorio: 3D Model & Data Asst (instanciación nativa de GPU, Windows 10+).
  1. Interacción por instancia: selección, coloración y resaltado.

Una idea errónea común sobre la instanciación es que sacrifica la interactividad, es decir, que todas las instancias deben verse y comportarse de forma idéntica. Rapid3D Loader desmiente esta idea al exponer API por instancia: `setColorAt(instanceId, color)` aplica un color único a una sola instancia sin afectar a las demás; el trazador de rayos de selección resuelve los eventos de clic a identificadores de instancia individuales, no solo a la malla prototipo. Esto significa que un usuario puede resaltar una puerta entre 400, aislar una ventana específica o aplicar renderizado transparente a un subconjunto de columnas estructurales, todo ello mientras la GPU mantiene la eficiencia de una sola llamada de dibujo.

  • Desarrollado por: Rapid3D Loader para Three.js (API de interacción por instancia, renderizado web). Escritorio: 3D Model & Data Asst (misma interacción por instancia, Windows 10+).
  1. Instanciación con reconocimiento de nivel de detalle (LOD)

La generación del nivel de detalle (LOD) en Opt File Generator respeta los límites de las instancias. Cada malla prototipo recibe su propia cadena LOD (con un número de polígonos alto, medio o bajo), y todas las instancias de ese prototipo comparten la misma cadena LOD. En el momento del renderizado, Rapid3D Loader selecciona el nivel LOD apropiado para cada grupo de instancias en función de la distancia de la cámara: las instancias cercanas se renderizan a resolución completa, mientras que las instancias lejanas utilizan geometría simplificada. Dado que todas las instancias de un grupo comparten el mismo selector LOD, no hay sobrecarga de cálculo LOD por instancia. Combinado con el frustum culling, esto permite un renderizado fluido de modelos con más de 100 000 componentes en hardware de consumo.

  • Desarrollado por: Opt File Generator (generación de LOD por prototipo → .opt) → Rapid3D Loader (cambio de LOD basado en distancia + renderizado instanciado). Escritorio: 3D Model & Data Asst (mismo instanciado compatible con LOD, Windows 10+).

Fase 4: Impacto en el desempeño medido

La instanciación de componentes no es una optimización teórica; produce mejoras medibles, a veces drásticas, en el tamaño de los archivos, el uso de memoria y el rendimiento de la renderización. Las siguientes métricas se obtienen de modelos BIM reales procesados ​​mediante el flujo de trabajo de 3D Expert.

  1. Reducción del tamaño del archivo

Un modelo Revit de 450 MB de un edificio de oficinas de 12 plantas (87 000 componentes, 62 % duplicados) se procesó con Opt File Generator con la instanciación habilitada. El archivo .opt resultante tenía un tamaño de 38 MB, lo que supone una reducción del 92 % en comparación con el mismo modelo exportado sin instanciación (480 MB). El ahorro se debe principalmente a la eliminación de búferes de geometría redundantes: 54 000 mallas duplicadas (cada una con un promedio de 6 KB de datos de vértice) se sustituyeron por 420 prototipos + 54 000 matrices de instancia (64 bytes cada una), lo que supuso un ahorro aproximado de 310 MB de datos de geometría sin procesar antes de la compresión Draco.

  • Desarrollado por: Opt File Generator (instanciación + compresión Draco → .opt)
  1. Mejora de la velocidad de fotogramas y del número de líneas de dibujo

El mismo modelo se cargó en Rapid3D Loader para Three.js. Sin instanciación, la escena generó 87 000 llamadas de dibujo, alcanzando entre 8 y 12 FPS en un portátil de gama media con GPU integrada. Con instanciación, las llamadas de dibujo se redujeron a 340 (una por grupo de instancias + mallas únicas no instanciadas), y la velocidad de fotogramas mejoró a entre 45 y 60 FPS en el mismo hardware, una mejora de entre 4 y 6 veces. En un ordenador de sobremesa con GPU dedicada, el modelo instanciado mantuvo 60 FPS a resolución 4K.

  • Desarrollado por: Rapid3D Loader para Three.js (renderizado de malla instanciada, web). Escritorio: 3D Model & Data Asst (renderizado instanciado nativo, Windows 10+).
  1. Optimización del consumo de memoria

En la memoria del navegador, la versión no instanciada del modelo consumió 1,2 GB de memoria intermedia de la GPU (geometría + materiales + texturas). La versión instanciada consumió 290 MB, una reducción del 76 %. Esta es la diferencia entre un modelo que provoca fallos en dispositivos con poca memoria (tabletas, portátiles con GPU integrada) y uno que funciona sin problemas. Para los usuarios de navegadores web móviles, donde la memoria es el principal cuello de botella, la instanciación suele ser la optimización más eficaz.

  • Desarrollado por: Generador de archivos Opt (salida .opt optimizada para memoria) → Cargador Rapid3D (gestión eficiente del búfer de la GPU). Escritorio: Asistente de modelos y datos 3D (misma optimización de memoria, Windows 10+).

──────────────────────────────────────────────────────────

A_technical_infographic_illust_2026-08-17T08-16-29.png

Cómo combinarlo: ¿Qué producto para qué necesidad?

El proceso de instanciación está integrado en todo el ecosistema de productos de 3D Expert. El producto que elija dependerá de dónde se encuentren sus usuarios y qué necesiten hacer:

  • ¿Estás desarrollando una plataforma BIM basada en la web o un panel de control para gemelos digitales?→ Utilice el complemento 3D/BIM para extraer archivos .rvt/.dgn nativos a GLZIP intermedio (con los metadatos de instancia de familia conservados), luego ejecute el generador de archivos Opt para realizar la identificación de geometría, la eliminación de duplicados y la reorganización de datos con compresión Draco (salida: .opt + DB). Implemente los archivos .opt en su servidor web. Cárguelos con Rapid3D Loader para Three.js: reconstruye automáticamente los objetos InstancedMesh para una renderización eficiente en GPU. La selección, el coloreado y la consulta de propiedades por instancia están disponibles a través de la API de JavaScript.
  • ¿Entrega de modelos BIM a clientes en ordenadores de escritorio sin acceso a la red?→ Utilice el complemento 3D/BIM para extraer los datos y, a continuación, entregue al cliente la aplicación 3D Model & Data Assist (Windows 10+). El cliente importa archivos GLZIP (o formatos abiertos como IFC/FBX/STEP) y la aplicación realiza internamente el mismo análisis de instanciación: la identificación de huellas digitales, la eliminación de duplicados y la renderización mediante instancias de GPU se integran en una experiencia única. No se necesitan archivos .opt.
  • ¿Convertir formatos abiertos (IFC, FBX, STEP, 3DXML) sin una licencia CAD nativa?→ Omita el complemento. Introduzca los formatos abiertos directamente en Opt File Generator, que realiza la identificación de geometría y la eliminación de duplicados de instancias en cualquier dato de malla, incluso en formatos que carecen de metadatos de instancia nativos. El motor de identificación detecta duplicados basándose únicamente en la geometría. Salida: .opt para implementación web mediante Rapid3D Loader.
  • ¿Tanto para web como para escritorio?→ Para web: extraiga con Plugin (nativo, conserva los metadatos de la familia) o importe formatos abiertos → Opt File Generator (instanciación + Draco → .opt) → Rapid3D Loader (renderizado web de InstancedMesh). Para escritorio: importe GLZIP o formatos abiertos directamente en 3D Model & Data Asst (Win 10+) — realiza la instanciación y el renderizado en una sola aplicación.

──────────────────────────────────────────────────────────

Conclusión: Por qué es importante la instanciación a nivel de canalización

La instanciación de componentes es la técnica más eficaz para reducir el tamaño de los datos en los modelos BIM que contienen elementos repetidos, y prácticamente todos los modelos BIM los contienen. Una reducción del 60-90 % en los datos geométricos, una reducción de más del 99 % en las llamadas de dibujo y una mejora de 4 a 6 veces en la velocidad de fotogramas no son resultados excepcionales; son el resultado esperado cuando la instanciación se aplica correctamente.

Lo que distingue el enfoque de 3D Expert es que la instanciación no es una función añadida ni un paso de posprocesamiento. Es una capacidad a nivel de canalización que comienza en la extracción (conservando los metadatos de instancia de familia nativos en el complemento 3D/BIM), madura durante la optimización (huella digital de múltiples firmas y verificación con reconocimiento de topología en Opt File Generator) y culmina en la renderización (WebGL InstancedMesh con interacción completa por instancia en Rapid3D Loader). Cada etapa está diseñada para alimentar la siguiente, de modo que la GPU recibe datos preorganizados para las llamadas de dibujo instanciadas: sin deduplicación en tiempo de ejecución, sin memoria desperdiciada, sin llamadas de dibujo innecesarias.

Para las empresas de arquitectura, ingeniería y construcción (AEC) que desarrollan visores BIM web, plataformas de gemelos digitales o herramientas de revisión de modelos de escritorio, este flujo de trabajo marca la diferencia entre un modelo que se carga lentamente y uno que se carga instantáneamente. Entre 12 FPS y 60 FPS. Entre un visor que funciona en una tableta en la obra y uno que requiere una estación de trabajo. La instanciación de componentes no es una opción de ingeniería, es fundamental.

──────────────────────────────────────────────────────────

Acerca de la empresa

3D Expert Co., Ltd., con sede en Osaka, Japón, desarrolla software 3D/BIM de alto rendimiento para la industria global de la arquitectura, ingeniería y construcción (AEC). Nuestra cartera de productos incluye:

  • Plugin 3D/BIM: Actualmente incluye 6 complementos de exportación nativos para plataformas CAD/BIM, basados ​​en las API oficiales de los proveedores. Realiza una extracción sin pérdida de geometría, texturas, materiales, árboles de estructura y metadatos de instancias de familia desde formatos nativos (.rvt, .dgn, etc.). Salida: GLZIP intermedio. NO realiza compresión ni aligeramiento.
  • Generador de archivos .opt: ​​motor de optimización de escritorio para procesamiento por lotes. Toma archivos GLZIP intermedios (del complemento) o formatos abiertos (IFC, FBX, STEP, 3DXML, etc.) y aplica huella digital de geometría, deduplicación de instancias, reorganización de instancias prototipo, compresión Draco, generación de LOD y optimización de malla en el equipo local del usuario. Salida: modelo en formato .opt + base de datos. Este es el ÚNICO producto que genera archivos .opt.
  • Asistente de datos y modelos 3D: aplicación de escritorio nativa para Windows 10+. Importa archivos GLZIP (desde el complemento) o formatos abiertos (IFC, FBX, STEP, 3DXML, etc.), realiza internamente el mismo análisis de instanciación y optimización de tamaño, y renderiza el modelo con instanciación por GPU y consulta completa de propiedades, todo en una aplicación integrada. No genera archivos .opt.
  • Cargador Rapid3D para Three.js: paquete npm (opt-rapid3d-loader) con decodificador WASM Draco integrado, transmisión progresiva de fragmentos, reconstrucción automática de InstancedMesh y API de interacción completas por instancia (selección, coloración, transparencia, resaltado, clic para consultar). Lee y carga directamente modelos en formato .opt (generados por Opt File Generator) en escenas de Three.js.

Obtén más información o comienza una prueba gratuita en https://www.opt3ds.com/

Contacto: info@3dexpert.jp


© 2010–2026 3D Expert Co.,Ltd. Todos los derechos reservados.