Volver al blog BIM e IFC
Herramientas y comparativas · 2026-10-02 · 11 min
¿Qué hay dentro de un archivo IFC? El formato explicado con diagramas
Un archivo .ifc es texto plano que puedes abrir en un editor de código, y en cuanto sabes leerlo desaparecen la mitad de los misterios de IFC. La cabecera, las instancias numeradas, el GlobalId, las relaciones que llevan las propiedades: aquí está el formato, dibujado.
¿Qué hay dentro de un archivo IFC? El formato explicado con diagramas — IFC Viewer Online article cover
La mayoría de la gente solo ve un archivo IFC a través de un visor. Es una pena, porque un archivo .ifc es texto plano, y diez minutos leyéndolo explican cosas que de otro modo siguen siendo un misterio: por qué importan los GUID, por qué una propiedad puede «faltar» aunque la veas, por qué los archivos pesan tanto, por qué un ajuste equivocado en una exportación lo rompe todo aguas abajo.
Esta guía abre el archivo y dibuja lo que hay dentro.
Un archivo IFC en formato STEP (ISO 10303-21): una cabecera que indica el esquema y después una instancia numerada por línea.
Lo esencial
- Un archivo IFC es una lista de instancias numeradas. Los números son locales al archivo y cambian en cada exportación.
- El GlobalId —la cadena de 22 caracteres dentro de cada instancia— es la identidad pensada para durar.
- Casi todo lo interesante, propiedades y contención espacial incluidas, se asocia mediante entidades de relación en lugar de guardarse en el elemento.
La cabecera: qué esquema, qué vista
El archivo empieza con ISO-10303-21; y una sección HEADER corta. Importan tres líneas:
- FILE_DESCRIPTION indica la model view definition —Coordination View, Reference View, Design Transfer View—, que define el subconjunto de IFC que el exportador pretendía usar.
- FILE_NAME registra el nombre del archivo, la fecha, el autor y la aplicación de autoría.
- FILE_SCHEMA indica el esquema: IFC2X3, IFC4 o IFC4X3. Cada línea posterior se lee según ese esquema; la misma entidad puede tener atributos distintos en versiones distintas.
Elegir entre versiones del esquema es un tema aparte: IFC2x3 frente a IFC4.
Los datos: una instancia por línea
Tras DATA; todas las líneas tienen la misma forma: un número, un nombre de entidad y una lista de atributos en el orden que define el esquema.
#245= IFCWALL('1kTvXnbbzCWw8lcMd1dR4o',#2,'Basic Wall:Ext 300',$,$,#210,#240,$,.STANDARD.);
| Elemento | Significado |
|---|
| #245 | Número de instancia (express ID): local a este archivo |
| '1kTvXnbbz…' | GlobalId: un GUID comprimido de 22 caracteres |
| #2 | Referencia a otra instancia (aquí, el historial del propietario) |
| $ | Atributo sin valor |
| .STANDARD. | Un valor de enumeración (el tipo predefinido) |
| #210, #240 | Emplazamiento y representación geométrica, definidos en otras líneas |
Cuando el propio GlobalId cambia en cada exportación, todos los procesos aguas abajo se rompen a la vez. La causa y la solución para cada herramienta de autoría están en por qué los GUID de IFC cambian en cada exportación.
Las entidades heredan unas de otras
IFC es un modelo de objetos. Un IfcWall es un IfcBuiltElement, que es un IfcElement, un IfcProduct, un IfcObject y, en última instancia, un IfcRoot, y lleva los atributos de todos ellos. Por eso todo muro, puerta y espacio tiene GlobalId y Name: vienen de IfcRoot.
Cada entidad hereda los atributos de sus supertipos. Una comprobación escrita para IfcElement se aplica a todos los muros, puertas y pilares que hay por debajo.
Los nombres cambian entre versiones: lo que IFC4.3 llama IfcBuiltElement era IfcBuildingElement en IFC2x3 e IFC4. Una herramienta que fija un nombre en el código se pierde el otro, y esa es una de las razones por las que el mismo modelo puede pasar una comprobación en una herramienta y suspenderla en otra.
Las relaciones también son entidades
La decisión de diseño que hace IFC difícil de leer al principio es también lo que lo hace potente: las relaciones son objetos por derecho propio. Un muro no tiene una lista de sus propiedades. En su lugar, una instancia IfcRelDefinesByProperties apunta al muro y a un property set. La contención espacial, los materiales, los tipos, los huecos y los grupos funcionan igual.
Las propiedades viven en property sets, asociados al elemento o a su tipo. Un property set en el tipo se aplica a todas sus ocurrencias.
Esta es la raíz de la falsa alarma más común en las comprobaciones de calidad IFC: una propiedad definida en el tipo parece faltar para una herramienta que solo lee la ocurrencia. Propiedades IFC que faltan tras exportar explica las causas reales; leer property sets con Python muestra cómo seguir estas relaciones en código.
Por qué los archivos IFC pesan tanto
- La geometría domina. Una fachada triangulada o una pieza de instalaciones detallada pueden ocupar miles de líneas; las extrusiones y la geometría mapeada (instanciada) son mucho más pequeñas.
- Los datos repetidos se repiten. Los exportadores que no comparten property sets o representaciones escriben las mismas líneas una vez por elemento.
- En STEP plano no hay nada comprimido. ifcZIP suele reducir un archivo varias veces, y es un formato de entrega razonable cuando las herramientas del destinatario lo aceptan.
Las formas seguras de reducir archivos están en cómo reducir el tamaño de un archivo IFC. Y cuando un archivo es tan grande que bloquea el navegador, consulta archivos IFC grandes que bloquean el navegador.
Leer un archivo por tu cuenta
- Ábrelo en un editor de texto Cualquier editor que aguante archivos grandes. Mira primero la cabecera: el esquema y la vista de modelo te dicen qué esperar.
- Busca la entidad que te interesa IFCWALL(, IFCSPACE(, IFCBUILDINGSTOREY(. Solo el recuento ya es una comprobación rápida.
- Sigue las referencias de un elemento Desde un muro, busca su número # para encontrar las relaciones que apuntan a él: contención, propiedades, tipo.
- Después pasa a un visor La misma información, navegable: el árbol espacial, el panel de propiedades y una validación que comprueba estas relaciones por ti.
Cómo se organizan los elementos en plantas y espacios es el tema de la estructura espacial IFC explicada.
¿Qué hay dentro de un archivo IFC? El formato explicado con diagramas