Arquitectura archivo IFC (parte 2): el concepto de IfcRelationship
IfcRelationship es el segundo pilar de la estructura de datos IFC. Estos son los diferentes tipos de relaciones entre las distintas entidades y propiedades
En este artículo hablaremos del segundo pilar sobre el cual se basa la estructura de datos en formato IFC (Industry Foundation Classes), el IfcRelationShip
, es decir los diferentes tipos de relación que se instauran en el interior del formato IFC.
Si deseas comprobar de forma práctica el concepto de IfcRelationship entre entidades de un edificio (o partes de él), como muros, forjados, o ventanas, puedes utilizar un visor BIM en línea que te permite abrir, analizar y gestionar un archivo IFC.
Cabe recordar que en el artículo anterior ya hemos hablado del IfcObjectDefinition
y de las entidades. Estos son los artículos sobre la arquitectura IFC:
Arquitectura de un archivo IFC
El esquema IFC puede ser considerado como un sistema de archivado para organizar y transportar datos digitales, con el fin de favorecer la interoperabilidad entre diferentes sujetos.
IFC define un modelo compuesto por cientos de entidades organizadas de forma jerárquica.

Diagrama composición esquema de datos IFC
La lógica del IFC se funda sobre 3 conceptos fundamentales, que representan la estructura en sí misma y definen:
IfcObjectDefinition
: las entidades (objetos)IfcRelationship
: las relaciones entre las entidadesIfcPropertyDefinition
: las propiedades asociadas a las entidades.

Arquitectura archivo IFC | Diagrama descripciones IfcRelationship
IfcRelationship
IfcRelationship
describe los diferentes tipos de relaciones.
Existen 5 tipos de relaciones fundamentales en el modelo IFC, que son subtipos de la clase IfcRelationship:
IfcRelConnects
es una relación de conectividad que enlaza los objetos en base a algunos criterios. Por ejemplo, un losa conectado a una viga o un muro divisorio apoyado sobre un forjado.IfcRelAssociates
indica fuentes externas de información y las asocia a objetos o definiciones de propiedad. La relación de asociaciones es unidireccional. Llevamos como ejemplo una biblioteca IFC externa en la cual se define el objeto, o también la información sobre clasificaciones para un espacio particular en el interior de un edificio.IfcRelDecomposes
define el concepto general de elementos que se componen o descomponen. Las descomposiciones implican una dependencia, es decir, la definición del entero depende de la definición de las partes y, al mismo tiempo, las partes dependen de la existencia del entero. Para esto, una partida de coste puede insertarse en otras opciones, tal como un pórtico estructural es un agregado de vigas y columnas.IfcRelDefines
es una relación que permite a la instancia heredar las propiedades tipo. Por ejemplo, diferentes ventanas en el interior del modelo IFC pueden ser del mismo tipo, (pertenecer al mismo catálogo o productor) y, por ende, tal relación permite compartir esta información entre las instancias.IfcRelAssigns
explicita las relaciones que se instauran cuando un objeto necesita los servicios de otro objeto. Por ejemplo, podemos asignar un determinado recurso a un objeto.
Ejemplos de relaciones
Cada uno de estos 5 tipos, se especializa en relaciones entre objetos, propiedades, etc. (árboles subtipos), tal como se aprecia en el siguiente diagrama:

Arquitectura archivo IFC | Diagrama subdivisión IfcRelationship
En las siguientes imágenes vemos, algunos ejemplos de relaciones:
- en la primera, vemos como
IfcRelAggregates
relacionaIfcBuilding
(edificio) con todos los niveles en los cuales se subdivide, es decirIfcBuildingStorey
- la segunda
IfcRelContainedInSpatialStructure
relacionaIfcBuildingStorey
con todas las entidades que le pertenecen - en la tercera, vemos como
IfcRelConnectsPathElements
relaciona las dos entidades contiguas (muros) contenidas enIfcWallStandardCase
.

IfcRelAggregates | Relación de IfcBuilding con todos los niveles de IfcBuildingStorey

IfcRelContainedInSpatialStructure | Relación del IfcBuildingStorey con todas las entidades que le pertenecen IfcDoor, IfcWallStandardCase, IfcSlab, IfcWindow

IfcRelConnectsPathElements | Relación entre dos entidades contiguas contenidas en IfcWallStandardCase