Torna al blog BIM i IFC
Lliurament i ISO 19650 · 2026-10-01 · 10 min
BCF 2.1 davant de 3.0: per què les vistes de les incidències s'obren al lloc equivocat
El BCF hauria de fer que una incidència sobrevisqués al viatge entre eines. A la pràctica la càmera apareix sota terra, la caixa de secció desapareix i les etiquetes es perden. Les causes són poques, concretes i corregibles, i conèixer-les et diu de quines eines fiar-te.
BCF 2.1 davant de 3.0: per què les vistes de les incidències s'obren al lloc equivocat — IFC Viewer Online article cover
El BCF —el BIM Collaboration Format— té una única feina: que una incidència surti d'una eina i arribi a una altra amb el context intacte. Un comentari, una posició de càmera, un conjunt d'elements seleccionats, potser una caixa de secció. Obres la incidència a qualsevol lloc i veus exactament el que veia el seu autor.
Qui hagi intercanviat BCF entre tres fabricants sap amb quina freqüència falla. La càmera s'obre sota terra o mirant al cel. Falta la caixa de secció. Les etiquetes han desaparegut. Els comentaris es tallen al primer ampersand. Res d'això és un misteri, i tot surt d'un grapat d'errors d'implementació concrets.
Què hi ha realment dins d'un .bcfzip
Un fitxer BCF és un zip. A dins, una carpeta per incidència, cadascuna amb un markup.bcf (la incidència, els seus comentaris i la llista de vistes), un o més fitxers de vista .bcfv (càmera, selecció, visibilitat, plans de tall) i captures PNG opcionals. Tot és XML pla. Pots descomprimir-ne un i llegir-lo, i quan una eina es porta malament, ho hauries de fer.
issues.bcfzip
├── bcf.version
├── 1f2c…/
│ ├── markup.bcf ← topic, comments, viewpoint references
│ ├── viewpoint.bcfv ← camera, components, clipping planes
│ └── snapshot.png
└── 7a90…/
└── …
2.1 davant de 3.0: les diferències que trenquen les importacions
La mateixa incidència en BCF 2.1 i 3.0. Comentaris, vistes i etiquetes passen a dins del Topic i a contenidors.
| Aspecte | BCF 2.1 | BCF 3.0 |
|---|
| Comentaris a markup.bcf | Germans de <Topic> | Niats a <Topic><Comments> |
| Llista de vistes | Germans de <Topic> | Niats a <Topic><Viewpoints> |
| Etiquetes | Elements <Labels> repetits, un per etiqueta | Un contenidor <Labels> amb fills <Label> |
| Càmera en perspectiva | Posició, direcció, vector up, camp de visió | El mateix, més un AspectRatio obligatori |
| Valors permesos | Implícits, acordats fora del fitxer | Declarats a les extensions del projecte |
| Suport real | Gairebé universal | Creixent, desigual |
El model de dades gairebé no ha canviat; l'estructura XML, sí. Un lector escrit per a un format llegeix l'altre com una incidència sense comentaris.
Llegeix aquesta taula com una llista de modes de fallada. Una eina que busca els comentaris al costat del Topic no en troba cap en un fitxer 3.0. Una eina que espera un contenidor Labels llegeix un fitxer 2.1 com si tingués una etiqueta, o cap. Una càmera 3.0 sense AspectRatio no és vàlida segons l'esquema, i alguns importadors rebutgen la vista sencera.
Per què la càmera apareix al lloc equivocat
IFC té la Z cap amunt; three.js, la Y. Sense la conversió la càmera arriba girada 90°; sense el desplaçament, arriba al lloc equivocat.
Les càmeres BCF es desen en coordenades del món del projecte IFC: metres, amb la Z cap amunt. La majoria de visors web renderitzen amb three.js, l'escena del qual té la Y cap amunt, i molts desplacen el model cap a l'origen perquè les coordenades georeferenciades grans no tremolin a la GPU. Totes dues són decisions de renderització assenyades. Totes dues s'han de desfer abans d'escriure una vista.
- Oblida la conversió d'eixos i la càmera arriba girada 90°: mirant al cel o travessant el terra.
- Oblida el desplaçament de visualització i la càmera arriba amb l'orientació correcta, a centenars de metres o quilòmetres del model.
- Converteix la càmera però no els plans de tall, i la vista és correcta mentre la caixa de secció talla en un lloc completament diferent.
El problema del desplaçament empitjora com millor és la teva georeferenciació, perquè les coordenades reals són nombres grans. El context és a coordenades i georeferenciació IFC.
Una prova de deu minuts per a qualsevol eina BCF
- Crea una incidència amb tot a dins Una càmera en perspectiva amb un angle oblic, dos elements seleccionats, una caixa de secció, tres etiquetes i un comentari amb un ampersand, cometes i una lletra accentuada.
- Exporta-la com a 2.1 i com a 3.0 Si l'eina només escriu una versió, apunta-ho: tard o d'hora et trobaràs amb un destinatari que necessiti l'altra.
- Importa-la en una segona eina Comprova l'orientació de la càmera, la distància al model, la selecció, la caixa de secció, el nombre d'etiquetes i el text del comentari caràcter a caràcter.
- Fes l'anada i tornada Torna a exportar des de la segona eina i importa de nou a la primera. El que sobreviu a un salt però no a dos acabarà costant-te una reunió.
El nostre propi exportador BCF es va reescriure després d'exactament aquesta prova: les vistes s'escriuen ara en eixos del món IFC sense el desplaçament de visualització, els plans de secció viatgen amb la vista, les etiquetes 2.1 s'escriuen com a elements repetits i els comentaris importats es llegeixen sencers, amb les entitats XML descodificades. Escriu 2.1 i 3.0 perquè et puguis adaptar al destinatari.
Convencions perquè els BCF s'atenguin
- Una incidència per causa, no per element. Quatre-cents murs sense un property set són una incidència amb una vista representativa.
- Posa la regla o el requisit al títol. «Falta Pset_WallCommon.FireRating — afegir a la plantilla d'exportació» es pot resoldre; «falten dades», no.
- Etiqueta per revisió. Una incidència oberta a la revisió 6 ho ha de dir, perquè una comparació posterior no l'obri dues vegades.
- Inclou sempre la captura. És el que el destinatari veu a la safata d'entrada abans d'obrir cap eina, i sovint és l'única cosa que mira.
On encaixa el BCF en el paquet de lliurament complet —al costat de l'informe de validació i la nota de transmissió— s'explica a què lliurar juntament amb un model IFC. Obrir incidències automàticament a partir d'una comparació de revisions és a com comparar dues versions IFC.
BCF 2.1 davant de 3.0: per què les vistes de les incidències s'obren al lloc equivocat