Torna al blog BIM i IFC
Validació · 2026-10-01 · 12 min
IDS explicat: com comprovar un model IFC amb una Information Delivery Specification
L'IDS converteix «el model ha de contenir la resistència al foc» d'una frase en un PDF en un fitxer que una màquina pot comprovar. Què comproven realment les sis facetes, on fallen la majoria de fitxers IDS i com executar-ne un contra el teu IFC al navegador.
IDS explicat: com comprovar un model IFC amb una Information Delivery Specification — IFC Viewer Online article cover
Tots els EIR que s'han escrit contenen una frase com «totes les portes hauran d'indicar la seva resistència al foc». I en tots els projectes aquesta frase es comprova igual: algú obre el model, clica unes quantes portes i decideix que probablement està bé. El requisit és precís. La comprovació és una sensació.
L'IDS —la Information Delivery Specification— existeix per tancar aquesta bretxa. És un format XML petit, estandarditzat per buildingSMART com a IDS 1.0, que expressa els requisits d'informació de manera que una màquina els pugui comprovar. Escrius el requisit una vegada, lliures el fitxer .ids a cada proveïdor i «probablement està bé» es converteix en «passen 412 de 418 portes; aquestes són les sis que no».
L’essencial
- L'IDS comprova informació, no geometria: classes, atributs, propietats, classificacions, materials i relacions.
- Cada especificació té dues meitats: a quins elements s'aplica i què han de tenir aquests elements. La majoria de fitxers IDS trencats fallen en la primera meitat.
- Un IDS és un document contractual. Va al costat del BEP, versionat, i s'envia als proveïdors abans de començar a modelar, no després del primer rebuig.
Anatomia d'una especificació
Una especificació IDS es llegeix com una frase: per a cada element que compleixi l'aplicabilitat, exigeix els requisits.
Un fitxer IDS és una llista d'especificacions. Cadascuna es llegeix com una frase amb subjecte i predicat: «per a cada element que compleixi això, exigeix allò». El subjecte és l'aplicabilitat; el predicat, els requisits.
<specification name="Doors carry a fire rating" ifcVersion="IFC4">
<applicability minOccurs="1">
<entity><name><simpleValue>IFCDOOR</simpleValue></name></entity>
</applicability>
<requirements>
<property dataType="IFCLABEL">
<propertySet><simpleValue>Pset_DoorCommon</simpleValue></propertySet>
<baseName><simpleValue>FireRating</simpleValue></baseName>
</property>
</requirements>
</specification>
Llegeix-ho en veu alta i és exactament la frase de l'EIR: tot IfcDoor ha de tenir un FireRating a Pset_DoorCommon, desat com a label. El minOccurs="1" de l'aplicabilitat afegeix una segona afirmació fàcil de passar per alt: el model ha de contenir com a mínim una porta. Sense això, un model sense cap porta passa, i això rarament és el que algú volia dir.
Les sis facetes i què comprova realment cadascuna
| Faceta | Comprova | Requisit típic | Parany habitual |
|---|
| Entity | Classe IFC i tipus predefinit | Els murs són IfcWall, no IfcBuildingElementProxy | Oblidar els subtipus: IfcWallStandardCase és un IfcWall a IFC2x3 |
| Attribute | Atributs IFC directes (Name, Description, Tag…) | Tot espai té Name i LongName | Una cadena buida és present però invàlida, no absent |
| Property | Una propietat d'un property set, amb tipus de dada i valor | Pset_WallCommon.IsExternal és TRUE o FALSE | Valor correcte, tipus de dada incorrecte (un label on es demanava un booleà) |
| Classification | Una referència de classificació i el seu codi | Tot element té un codi Uniclass Ss | Comprovar el codi però no el sistema al qual pertany |
| Material | Un nom o categoria de material associat | Els pilars estructurals declaren un material | Materials al tipus, no a l'ocurrència |
| PartOf | Una relació amb un element pare | Tot element és contingut en una planta | Confondre agregació amb contenció espacial |
Cada faceta pot aparèixer a l'aplicabilitat (per seleccionar elements) o als requisits (per exigir-los alguna cosa).
Dos d'aquests paranys mereixen una mirada més llarga, perquè expliquen la majoria de falsos errors que es veuen en executar un IDS per primera vegada.
Tipus davant d'ocurrència
Les propietats poden ser al tipus i no a l'ocurrència. Un comprovador IDS ha de seguir el tipus o suspendrà elements correctes.
Revit, ArchiCAD i Tekla escriuen habitualment propietats i materials a l'objecte tipus (IfcWallType) en lloc de fer-ho a cada mur. La semàntica de l'IDS és clara: la informació heretada del tipus compta per a l'ocurrència. Un comprovador que només mira l'ocurrència suspendrà tots els murs d'un model perfectament correcte. Si un IDS et diu que al 100 % dels elements els falta una propietat que veus al tauler de propietats, gairebé sempre és per això, i l'error és del comprovador, no teu.
Tipus predefinits USERDEFINED
Quan un tipus predefinit és USERDEFINED, el tipus real és a ObjectType (a les ocurrències) o a ElementType (als tipus). Una faceta entity que demani IFCWALL amb tipus predefinit PARAPET ha de coincidir amb un mur el PredefinedType del qual sigui USERDEFINED i l'ObjectType, PARAPET. Els comprovadors que comparen l'enum en brut se'ls salten tots.
Cinc errors que inutilitzen un IDS
- Aplicabilitat massa àmplia. «Tots els elements han de tenir codi Uniclass» arrossega obertures, anotacions i elements espacials que ningú classifica. Limita cada especificació a les classes a què es refereix realment el requisit.
- Valors sense tipus de dada. Un requisit FireRating = «EI 60» no diu res de com s'ha de desar; el mateix text desat com a descripció en un altre pset continuarà fallant. Digues el que vols dir, inclòs el tipus de dada.
- Valors exactes on es volia un patró. Les dades reals porten «EI60», «EI 60» i «EI-60». Fes servir un xs:pattern o una enumeració i acordeu la forma canònica al BEP.
- Una sola especificació gegant. Quaranta requisits en una especificació donen un sol aprovat o suspès per element i un informe amb què ningú pot actuar. Un requisit per especificació, amb un nom en llenguatge clar, és el que fa llegible el resultat.
- Escriure l'IDS després del model. Un IDS enviat amb el primer rebuig és un requisit nou. Un IDS enviat amb l'encàrrec és un requisit. Només el segon és exigible.
La part contractual d'aquest darrer punt —quines clàusules fan vinculant un IDS i què passa quan un lliurament no el compleix— és a clàusules del BEP que de debò eviten mals lliuraments IFC i a criteris d'acceptació IFC.
Executar un IDS contra el teu model, pas a pas
- Obre l'IFC Arrossega el model al visor. Es processa al teu navegador; no es puja res.
- Carrega el fitxer .ids Obre el tauler IDS i tria el teu fitxer, o parteix d'una de les especificacions d'exemple incloses si abans vols veure el format.
- Executa la comprovació Cada especificació s'avalua amb les sis facetes. Els models grans mostren el progrés per fases i es poden cancel·lar en qualsevol moment.
- Llegeix el resultat per especificació, element o classe Agrupa els errors tal com els vulguis corregir. Cada error porta el motiu en paraules clares: falta la propietat, valor incorrecte, tipus de dada incorrecte, classe incorrecta.
- Mira-ho en 3D Ressaltar acoloreix al model els elements que fallen; Aïllar amaga tota la resta. Tots dos són a un clic, i així una llista de GlobalIds es converteix en una conversa amb qui modela.
IDS entre revisions
Una execució d'IDS és una fotografia fixa. El que un coordinador necessita de debò és la tendència: la revisió 7 va corregir els errors de la revisió 6? En va introduir de nous? Com que el resultat s'indexa per GlobalId, la mateixa especificació es pot comparar entre dues versions d'un model, cosa que només funciona si els teus GlobalIds són estables entre exportacions. Si no ho són, arregla això primer: per què els GUID d'IFC canvien a cada exportació. La comparació en si s'explica a com comparar dues versions d'un model IFC.
On s'atura l'IDS
L'IDS no comprova geometria. No et dirà que dos conductes col·lisionen, que una porta és massa estreta per a una cadira de rodes ni que el model és a dos quilòmetres del seu punt de replanteig. Tampoc no comprova que un IFC sigui estructuralment sa: un fitxer amb GlobalIds duplicats o emplaçaments trencats pot passar un IDS perfectament.
Això no és una debilitat; és abast. Fes servir l'IDS per als requisits d'informació, un model checker per a l'estructura i la geometria, i lliura els dos informes junts. El flux complet és a com validar un fitxer IFC.
IDS explicat: com comprovar un model IFC amb una Information Delivery Specification