Volver al blog BIM e IFC
Entrega e ISO 19650 · 2026-10-01 · 10 min
BCF 2.1 frente a 3.0: por qué tus vistas de incidencias se abren en el sitio equivocado
BCF debería hacer que una incidencia sobreviva al viaje entre herramientas. En la práctica la cámara aparece bajo tierra, la caja de sección desaparece y las etiquetas se pierden. Las causas son pocas, concretas y corregibles, y conocerlas te dice de qué herramientas fiarte.
BCF 2.1 frente a 3.0: por qué tus vistas de incidencias se abren en el sitio equivocado — IFC Viewer Online article cover
BCF —el BIM Collaboration Format— tiene un único trabajo: que una incidencia salga de una herramienta y llegue a otra con su contexto intacto. Un comentario, una posición de cámara, un conjunto de elementos seleccionados, quizá una caja de sección. Abres la incidencia en cualquier sitio y ves exactamente lo que veía su autor.
Quien haya intercambiado BCF entre tres fabricantes sabe con qué frecuencia falla. La cámara se abre bajo tierra o mirando al cielo. Falta la caja de sección. Las etiquetas han desaparecido. Los comentarios se cortan en el primer ampersand. Nada de esto es un misterio, y todo sale de un puñado de errores de implementación concretos.
Qué hay realmente dentro de un .bcfzip
Un archivo BCF es un zip. Dentro, una carpeta por incidencia, cada una con un markup.bcf (la incidencia, sus comentarios y su lista de vistas), uno o varios archivos de vista .bcfv (cámara, selección, visibilidad, planos de corte) y capturas PNG opcionales. Todo es XML plano. Puedes descomprimir uno y leerlo, y cuando una herramienta se porta mal, deberías hacerlo.
issues.bcfzip
├── bcf.version
├── 1f2c…/
│ ├── markup.bcf ← topic, comments, viewpoint references
│ ├── viewpoint.bcfv ← camera, components, clipping planes
│ └── snapshot.png
└── 7a90…/
└── …
2.1 frente a 3.0: las diferencias que rompen las importaciones
La misma incidencia en BCF 2.1 y 3.0. Comentarios, vistas y etiquetas pasan dentro del Topic y a contenedores.
| Aspecto | BCF 2.1 | BCF 3.0 |
|---|
| Comentarios en markup.bcf | Hermanos de <Topic> | Anidados en <Topic><Comments> |
| Lista de vistas | Hermanos de <Topic> | Anidados en <Topic><Viewpoints> |
| Etiquetas | Elementos <Labels> repetidos, uno por etiqueta | Un contenedor <Labels> con hijos <Label> |
| Cámara en perspectiva | Posición, dirección, vector up, campo de visión | Lo mismo, más un AspectRatio obligatorio |
| Valores permitidos | Implícitos, acordados fuera del archivo | Declarados en las extensiones del proyecto |
| Soporte real | Casi universal | Creciente, desigual |
El modelo de datos apenas cambió; la estructura XML sí. Un lector escrito para un formato lee el otro como una incidencia sin comentarios.
Lee esa tabla como una lista de modos de fallo. Una herramienta que busca los comentarios junto al Topic no encuentra ninguno en un archivo 3.0. Una herramienta que espera un contenedor Labels lee un archivo 2.1 como si tuviera una etiqueta, o ninguna. Una cámara 3.0 sin AspectRatio no es válida según el esquema, y algunos importadores rechazan la vista entera.
Por qué la cámara aparece en el sitio equivocado
IFC tiene Z hacia arriba; three.js, Y. Sin la conversión la cámara llega girada 90°; sin el desplazamiento, llega al sitio equivocado.
Las cámaras BCF se guardan en coordenadas del mundo del proyecto IFC: metros, con Z hacia arriba. La mayoría de visores web renderizan con three.js, cuya escena tiene Y hacia arriba, y muchos desplazan el modelo hacia el origen para que las coordenadas georreferenciadas grandes no tiemblen en la GPU. Las dos son decisiones de renderizado sensatas. Las dos hay que deshacerlas antes de escribir una vista.
- Olvida la conversión de ejes y la cámara llega girada 90°: mirando al cielo o atravesando el suelo.
- Olvida el desplazamiento de visualización y la cámara llega con la orientación correcta, a cientos de metros o kilómetros del modelo.
- Convierte la cámara pero no los planos de corte, y la vista es correcta mientras la caja de sección corta en otro sitio completamente distinto.
El problema del desplazamiento empeora cuanto mejor es tu georreferenciación, porque las coordenadas reales son números grandes. El contexto está en coordenadas y georreferenciación IFC.
Una prueba de diez minutos para cualquier herramienta BCF
- Crea una incidencia con todo dentro Una cámara en perspectiva con un ángulo oblicuo, dos elementos seleccionados, una caja de sección, tres etiquetas y un comentario con un ampersand, comillas y una letra acentuada.
- Expórtala como 2.1 y como 3.0 Si la herramienta solo escribe una versión, apúntalo: tarde o temprano te encontrarás con un destinatario que necesite la otra.
- Impórtala en una segunda herramienta Comprueba la orientación de la cámara, la distancia al modelo, la selección, la caja de sección, el número de etiquetas y el texto del comentario carácter a carácter.
- Haz el viaje de ida y vuelta Exporta de nuevo desde la segunda herramienta e importa otra vez en la primera. Lo que sobrevive a un salto pero no a dos acabará costándote una reunión.
Nuestro propio exportador BCF se reescribió después de exactamente esta prueba: las vistas se escriben ahora en ejes del mundo IFC sin el desplazamiento de visualización, los planos de sección viajan con la vista, las etiquetas 2.1 se escriben como elementos repetidos y los comentarios importados se leen completos, con las entidades XML decodificadas. Escribe 2.1 y 3.0 para que puedas adaptarte al destinatario.
Convenciones para que los BCF se atiendan
- Una incidencia por causa, no por elemento. Cuatrocientos muros sin un property set son una incidencia con una vista representativa.
- Pon la regla o el requisito en el título. «Falta Pset_WallCommon.FireRating — añadir a la plantilla de exportación» se puede resolver; «faltan datos», no.
- Etiqueta por revisión. Una incidencia abierta en la revisión 6 debe decirlo, para que una comparación posterior no la abra dos veces.
- Incluye siempre la captura. Es lo que el destinatario ve en su bandeja de entrada antes de abrir ninguna herramienta, y a menudo es lo único que mira.
Dónde encaja BCF en el paquete de entrega completo —junto al informe de validación y la nota de transmisión— se explica en qué entregar junto a un modelo IFC. Abrir incidencias automáticamente a partir de una comparación de revisiones está en cómo comparar dos versiones IFC.
BCF 2.1 frente a 3.0: por qué tus vistas de incidencias se abren en el sitio equivocado