Torna al blog BIM i IFC
Corregir exportacions · 2026-05-20 · 8 min
GUID duplicats en IFC: l'error silenciós que ho trenca tot
Tres setmanes dins d'una incidència de coordinació BCF, t'adones que els comentaris referencien elements que han desaparegut del model. El model sembla correcte. L'error: dos elements comparteixen el mateix GlobalId — i totes les eines posteriors han estat confoses en silenci des del primer dia.
GUID duplicats en IFC: l'error silenciós que ho trenca tot — IFC Viewer Online article cover
Què és un GlobalId en IFC?
Cada entitat d'un fitxer IFC que hereta d'IfcRoot — que inclou tot element físic, espai, planta, edifici i emplaçament — té un atribut GlobalId. És una cadena de 22 caràcters amb un alfabet base64 propi, i se suposa que ha de ser globalment únic, estable entre revisions, i persistent entre anades i tornades de programari.
#100 = IFCWALL('3LYa_FRDj3zhLfyYoQv6Jr', $, 'Exterior Wall - 300mm', $, $, #88, #92, $, .NOTDEFINED.);
#101 = IFCDOOR('3LYa_FRDj3zhLfyYoQv6Jr', $, 'Door D001', $, $, #89, #93, $, .NOTDEFINED.);
// Both elements share the same GlobalId — IFC schema violation.
L'especificació d'IFC (ISO 10303-21) prohibeix els GlobalId duplicats. Però l'especificació no ho pot fer complir — els analitzadors de fitxers carreguen el que se'ls dona. La majoria dels analitzadors ni tan sols ho comproven. El resultat: un fitxer estructuralment vàlid en què dos elements reclamen el mateix identificador.
Per què passen els duplicats
- Reexportacions de Revit: per defecte, algunes configuracions d'exportació de Revit regeneren els GUID a cada exportació. Dues exportacions del mateix model produeixen GUID diferents — i si una tercera exportació copia un element d'un fitxer més antic, apareixen col·lisions.
- Copiar i enganxar al programari d'autoria: duplicar una instància de família sense activar la renovació del GUID — habitual a ArchiCAD i Vectorworks — produeix dos elements amb GlobalId idèntics.
- Fusions de model: fusionar dos fitxers IFC sense comprovar col·lisions de GUID entre ells és una manera segura d'introduir duplicats, especialment si tots dos fitxers es van exportar del mateix model d'origen.
- GUID generats per script: scripts d'exportació personalitzats que generen GUID a partir d'un UUID pla (32 caràcters hexadecimals) i els trunquen a 22 caràcters sense la codificació base64 correcta — cosa que produeix cadenes no úniques o amb format no vàlid.
Què trenquen els GUID duplicats
Coordinació BCF
Les incidències BCF referencien els elements pel seu GlobalId. Un duplicat vol dir que els comentaris s'enganxen a qualsevol dels dos elements que l'eina receptora carregui primer — l'altre element esdevé inabastable per referència.
Vincles IFC de Revit
El resolutor de vincles IFC de Revit usa els GlobalId per fer seguiment de les versions dels elements entre actualitzacions del model. Els duplicats fan que els elements canviïn d'identitat de manera aleatòria entre actualitzacions, cosa que trenca el seguiment de canvis.
Registres d'actius del CDE
CDE com ACC i ProjectWise indexen els elements IFC pel seu GlobalId per a les dades de lliurament. Els duplicats creen actius fantasma que apareixen al registre però que no es poden localitzar al model.
Exportacions COBie
Els fulls COBie vinculen les dades de manteniment (FM) als GlobalId d'IfcSpace i IfcAsset. Els espais duplicats produeixen files duplicades al paquet de lliurament a FM.
Com detectar GUID duplicats
Executa la validació abans de qualsevol lliurament al CDE. La comprovació RULE_DUPLICATE_GUID marca tot element que comparteix un GlobalId amb un altre — i es pot corregir automàticament, és a dir, el validador pot generar nous GUID conformes a l'especificació per als duplicats amb un sol clic.
Valida el model duplex en directe
Obre el duplex de buildingSMART al visor per veure com és un informe de validació net. Després prova d'obrir un fitxer del teu propi projecte per comprovar-hi els GUID duplicats.
IFC2x3 · 2.4 MB
Obre el visor IFC interactiu
Com corregir els GUID duplicats
Opció 1: correcció automàtica al validador
El validador d'IFC Viewer marca les incidències de GUID duplicat com a corregibles automàticament. Fes clic a la icona de correcció al costat de qualsevol incidència RULE_DUPLICATE_GUID i es genera un GlobalId nou conforme a l'especificació — una cadena de 22 caràcters amb l'alfabet base64 correcte d'IFC (0–9, A–Z, a–z, _, $) amb un primer caràcter entre 0 i 3.
Opció 2: corregir a Revit
A Revit, amb l'exportador IFC de codi obert: File → Export → IFC → Modify Setup → pestanya Advanced → fixa «Export IFC GUIDs» a «Keep Existing». Això conserva els GlobalId estables que Revit assigna internament, en lloc de regenerar-los a cada exportació.
Opció 3: corregir a ArchiCAD
A ArchiCAD: File → Save As → IFC 2x3 → Settings → IFC Translation Settings → activa «Write stable GlobalIDs (from AC internal IDs)». Sense això activat, ArchiCAD genera GUID nous a cada exportació.
GUID duplicats en IFC: l'error silenciós que ho trenca tot