Actualizado a: 20/01/2021
Por qué esta lista
- Para tener archivos IFC bien clasificados, es imprescindible que cada objeto del modelo tenga asignado una entidad IFC y un tipo IFC (algo así como categorías y subcategorías de Revit).
- Puedes escuchar más sobre el tema en:
- Esto hace que pase mucho tiempo buceando por la web de la Building Smart para encontrar la entidad y tipo más adecuado para cada objeto.
Ayudas
- En el blog del estudio de arquitectura inglés Bond Bryan, publicaron en 2015 un listado que ayudaba mucho en esta tarea.
- También tenemos los excelentes documentos publicados por PlanBIM Chile.
- La Building Smart España publicó en 2019 una traducción al español de las descripciones que acompañan a cada entidad del esquema. Basado en la versión IFC 4.0.2.1
- En los anejos 3 y 4 del estándar eCOB (estándar de Creación de Objetos BIM) viene una relación bastante detallada de clases IFC.
- Por mi parte, estaba empezando a hacerme un excel con todos las entidades que voy encontrando y que uso frecuentemente.
- Pero pensé, ¿y si copio la idea de Bond Bryan, pero actualizada y en español?
- Accedo más rápido a este post que a un excel.
- Y ya que es un trabajo que voy a hacer para mí, no me cuesta nada que sea público.
Partes del IFC que nos interesan
- El esquema IFC es muy extenso y no sólo abarca “objetos reales”, también incluye personas, , acciones, relaciones entre objetos, grupos de atributos y de propiedades, etc.
- Los que nos interesan dentro del ámbito que cubre un software de modelado como Revit son:
- IfcElement
- Objetos reales propios del edificio.
- IfcSpatialStructureElement
- Objetos abstractos que ordenan el espacio, de mayor a menor:
- Lugar de la obra
- Edificio (porque en una obra puede haber varios edificios).
- Planta (niveles de Revit)
- Espacio (habitaciones en revit)
- Objetos abstractos que ordenan el espacio, de mayor a menor:
- IfcSystem
- Agrupaciones de otros objetos (reales o no).
- Zona es una agrupación de espacios.
- Los sistemas MEP son agrupaciones de objetos reales.
- Agrupaciones de otros objetos (reales o no).
- IfcConstructionResource
- Objetos auxiliares necesarios para construir el edificio.
- Grúas, camiones, encofrados…
- Objetos auxiliares necesarios para construir el edificio.
- Hay más que nos podrían interesar como temas análisis estructural, conectores MEP (abstractos), temas de rejillas, coordenadas, anotaciones…
- IfcElement
- El problema aquí es que muchos de estos, o no están soportados por el exportador de Revit, o están soportados pero no permite configuración/personalización.
- Por lo que la mayoría de objetos de esta lista pertenecen a IfcElement, y del resto sólo nos centramos en espacios y zonas.
- Aunque no se pueden configurar como tal, también se han puesto los de IfcConstructionResource en la tabla “Auxiliares” para tenerlos como referencia y saber que no los tenemos que buscar en otro lado.
- Por lo que la mayoría de objetos de esta lista pertenecen a IfcElement, y del resto sólo nos centramos en espacios y zonas.
Elementos
- La gran mayoría de los objetos que nos interesan para tareas de importación y exportación están dentro de IfcElement:
- Web del esquema IFC 4.1 en la parte de elementos
- En la siguiente imagen vemos la estructura principal de elementos del esquema ifc. A partir de ahí, tenemos que ir entrando en cada una e ir bajando en la estructura hasta dar con el objeto que buscamos.

Caracteristicas de la lista
- La lista se basa en IFC 4.1, que cuando empecé este post era la última oficial, aunque ahora la han retirado y han vuelto atrás, a la 4.0.2.1.
- Me he mantenido en la 4.1 porque la única diferencia con la 4.0.2.1 es que se en la 4.1 se añadío alineaciones para infraestructuras, algo que no nos afecta para edificación.
- Ahora se está trabajando en la 4.3. Cuando se hagan oficial revisaré la lista.
- Alguno habrá visto que las entidades ifc llevan la palabra “Type” al final (por ejemplo, IfcFurnitureType en lugar de IfcFurniture).
- Esto al exportador de Revit le da igual, entiende las dos formas.
- Pero sin el Type es más limpio y entendible.
- No está completa, voy añadiendo entidades según los voy necesitando en mi día a día.
- Como usuario de Revit:
- Hago referencia a los parámetros de exportación necesarios para Revit.
- Puedes descargar el archivo de parámetros compartidos oficial de Autodesk en el Github del exportador.
- Sólo compruebo que las entidades y tipos están soportados por Revit.
- Hago referencia a los parámetros de exportación necesarios para Revit.
- Cualquiera que quiera aportar o corregir la lista, sólo tiene que dejar un comentario al final de este post. El crédito por su contribución será el propio comentario.
- La lista no sigue un orden por entidad ifc, alfabético, ni nada parecido, voy añadiendo entidades según los voy necesitando.
- Si he creado “grupos” por conceptos o zonas, como cocina, baño, exteriores, etc.
- La mejor forma de buscar es usar el buscador de tu navegador (Control+F).
- La lista tiene un formato que permite copiarla sin problemas en un excel.
- Los textos en violeta en la lista indica que no existe tipo ifc predefinido para ese objeto, pero hay uno muy parecido, o que la descripción encaja con su función.
- Noy hay un tipo predefinido para sillón, pero CHAIR (silla) se define como: “Muebles para sentar a una sola persona”.
- Por asociación podríamos poner sillón como SOFA (Muebles para sentar a varias personas), pero como definición encaja mejor CHAIR.
- Si fuera un proyecto dónde el mobiliario fuera protagonista, se podría poner como tipo predefinido USERDEFINED, y SILLON como tipo personalizado.
- Los textos en rojo en la lista indica que no existe tipo ifc predefinido para ese objeto.
- Debemos usar USERDEFINED en IfcExportType.
- Podemos escribir el nombre común en el parámetro IfcObjectType.
- No hace falta, pero a mi me gusta escribir el nombre común también en mayúsculas, para saber que he modificado el tipo ifc de forma manual.
- Y ya que lo defino yo, lo pongo en español.
- Los espacios con guiones bajos.
- Ejemplo:
Nombre común | Entidad ifc IfcExportAs | Tipo ifc IfcExportType | Tipo personalizado IfcObjectType |
Armario | IfcFurniture | USERDEFINED | ARMARIO |
Lista
Nombre común | Entidad ifc IfcExportAs | Tipo ifc IfcExportType |
Baño | ||
Lavabo | IfcSanitaryTerminal | WASHHANDBASIN |
Inodoro | IfcSanitaryTerminal | TOILETPAN |
Ducha | IfcSanitaryTerminal | SHOWER |
Bañera | IfcSanitaryTerminal | BATH |
Bidet | IfcSanitaryTerminal | BIDET |
Cocina | ||
Lavadora | IfcElectricAppliance | WASHINGMACHINE |
Lavavajillas | IfcElectricAppliance | DISHWASHER |
Fregadero | IfcSanitaryTerminal | SINK |
Extractor/Campana | IfcDamper | FUMEHOODEXHAUST |
Microondas | IfcElectricAppliance | MICROWAVE |
Horno | IfcElectricAppliance | ELECTRICCOOKER |
Vitrocerámica | IfcElectricAppliance | ELECTRICCOOKER |
Frigorífico/Nevera | IfcElectricAppliance | FRIDGE_FREEZER |
Mueble de cocina (módulo) | IfcSystemFurnitureElement | USERDEFINED |
Encimera | IfcSystemFurnitureElement | WORKSURFACE |
Cocina (todos los módulos y encimeras juntos) | IfcFurniture | USERDEFINED |
Mobiliario | ||
Silla | IfcFurniture | CHAIR |
Hamaca | IfcFurniture | CHAIR |
Sillón | IfcFurniture | CHAIR |
Mesa | IfcFurniture | TABLE |
Escritorio | IfcFurniture | DESK |
Cama | IfcFurniture | BED |
Archivador | IfcFurniture | FILECABINET |
Estante/Estantería | IfcFurniture | SHELF |
Sofá | IfcFurniture | SOFA |
Maceta/jardinera | IfcFurniture | USERDEFINED |
Mueble genérico | IfcFurniture | NOTDEFINED |
Aparcamientos | ||
Señal vertical (stop, ceda…) | IfcBuildingElementProxy | USERDEFINED |
Señal horizontal (stop, ceda, plaza adaptada…) | IfcBuildingElementProxy | USERDEFINED |
Líneas plaza aparcamiento | IfcBuildingElementProxy | USERDEFINED |
Plaza de aparcamiento (volumen) | IfcSpace | PARKING |
Carpintería | ||
Hueco en pared | IfcOpeningElement | OPENING |
Puerta | IfcDoor | DOOR |
Ventana | IfcWindow | WINDOW |
- En el caso de las puertas hay un atributo que define cómo se abre. Se llama OperationType. En Revit ya viene creado como Operación (parámetro interno de tipo).
- Es interesante rellenar este parámetro también, porque con la geometría 3D de una puerta no queda claro el tipo de apertura.
- En las puertas abatibles y corredera de una única hoja, este atributo diferencia entre puertas que abren a izquierda y a derecha.
- Tenemos que poner el sentido de apertura basandonos en la orientación de la geometría al crear la familia.
- El exportador se asegurará de “voltear” el parámetro según sea necesario para cada ejemplar.
- Ejemplo: tenemos una puerta que abre a derecha. Rellenamos el parámetro con SINGLE_SWING_RIGHT. En los ejemplares que estén volteados, hechos con simetría, etc, el exportador cambia automáticamente a SINGLE_SWING_LEFT.
- Las ventanas tienen un atributo muy parecido, PartitioningType, pero actualmente el exportador de Revit no soporta este atributo. Se exporta siempre como NOTDEFINED.
Cimentación | ||
Zapata aislada | IfcFooting | PAD_FOOTING |
Zapata continua o corrida | IfcFooting | STRIP_FOOTING |
Encepado | IfcFooting | PILE_CAP |
Viga de cimentación | IfcFooting | FOOTING_BEAM |
Pozo de cimentación | IfcFooting | CAISSON_FOUNDATION |
Losa de cimentación | IfcSlab | BASESLAB |
Hormigón de limpieza, solera | IfcSlab | BASESLAB |
Estructura | ||
Pilar/Columna | IfcColumn | COLUMN |
Pilastra/Pilar decorativo | IfcColumn | PILASTER |
Forjado | IfcSlab | FLOOR |
- Los zunchos o vigas de borde, modelados con la herramienta Borde de losa, se exportarán siempre como IfcBuildingElementProxy.
- Se recomienda usar la herramienta viga para estos elementos.
Muros | ||
Muro cortina | IfcCurtainWall | NOTDEFINED |
Panel de muro cortina | IfcPlate | CURTAIN_PANEL |
Montante de muro cortina | IfcMember | MULLION |
Muro genérico | IfcWall | NOTDEFINED |
Particiones interiores | IfcWall | PARTITIONING |
Muros de fábricas (de ladrillo, de hormigón…) | IfcWall | SOLIDWALL |
Antepechos, pretiles | IfcWall | PARAPET |
Mamparas y tabiques móviles | IfcWall | MOVABLE |
Muros de acabados | IfcCovering | CLADDING |
Muros de contención* | IfcWall | SHEAR |
Molduras en muros (Barridos de muro)** | IfcCovering | MOLDING |
Rodapié o zócalo | IfcCovering | SKIRTINGBOARD |
- *Según las notas de IFC, el término SHEAR puede dar lugar a confusión, porque no se refiere sólo a muros que soporten fuerzas cortantes, sino cualquier muro que soporte o contenga.
- En la versión 4.2 se incluyó el tipo RETAININGWALL, para que no haya confusión, pero todavía no está soportado por el exportador de Revit.
- ** Si modelamos molduras con la herramienta barridos de muro, siempre se va a exportar como IfcBuildingElementProxy.
- Podemos modelar las molduras con otra herramienta como muros o barandilla, y así clasificarlas como queramos.
Cubiertas | ||
Imposta** | IfcCovering | MOLDING |
Cielo raso | IfcCovering | CEILING |
Cristalera (cubierta) | IfcRoof | NOTDEFINED |
Cubierta* | IfcRoof | NOTDEFINED |
Canalón | IfcPipeSegment | GUTTER |
Acabados de cubierta | IfcCovering | ROOFING |
Falsos techos | IfcCovering | CEILING |
- *Si exportamos las cubiertas con la entidad IfcRoof, Revit las exportará como un elemento con subelementos.
- La cubierta en su conjunto como IfcRoof.
- Cada cara de la cubierta se exportará como IfcSlab tipo ROOF.
- Si queremos exportar la cubierta como un único elemento sin subelementos, sólo hay que elegir otra entidad que no sea IfcRoof, normalmente IfcSlab tipo ROOF.
- Esto no funciona con las cristaleras, siempre se exportan cómo IfcRoof.
- *En IFC, las cubiertas tienen 13 tipos predefinidos, que dependen de la forma (Plana, un agua, dos aguas, cuatro aguas, abuhardillada, cúpula…)
- https://standards.buildingsmart.org/IFC/RELEASE/IFC4_1/FINAL/HTML/schema/ifcsharedbldgelements/lexical/ifcrooftypeenum.htm
- Pero por la forma en que Revit modela cubiertas, este valor cambiaría con cada ejemplar, y por otro lado tampoco aporta información muy útil.
- Por eso elijo NOTDEFINED para todas las cubiertas.
- ** Impostas modeladas con la herramienta de impostas no hacen caso a la configuración de IfcExportAs. Se exportan siempre como IfcBuildingElementProxy.
- Podemos personalizar el tipo pero no funciona en todos los visores.
- También podemos modelar impostas con las herramientas muro o barandilla, que si exportan correctamente la configuración.
Otros revestimientos | ||
Suelos de acabado | IfcCovering | FLOORING |
Aislamiento en muros, suelos, techos… | IfcCovering | INSULATION |
Aislamiento en conductos y tuberías | IfcCovering | SLEEVING |
Circulación | ||
Escalera* | IfcStair | NOTDEFINED |
Escalera mecánica | IfcTransportElement | ESCALATOR |
Tramo escalera* | IfcStairFlight | NOTDEFINED |
Desembarco escalera | IfcSlab | LANDING |
Arranque escalera | IfcSlab | LANDING |
Descansillo escalera | IfcSlab | LANDING |
Zancas y estructuras de soporte de escaleras | IfcMember | STRINGER |
Ascensor | IfcTransportElement | ELEVATOR |
Barandilla con función sólo de pasamanos. | IfcRailing | HANDRAIL |
Barandilla con función de prevenir caídas en escaleras y rampas | IfcRailing | GUARDRAIL |
Barandilla con función de prevenir caídas en bordes de suelos (balcón) | IfcRailing | BALUSTRADE |
Rampa** | IfcRamp | NOTDEFINED |
- *Tanto las escaleras como sus tramos tienen muchos tipos ifc predefinidos según la forma:
- Escaleras: un tramo recto, dos tramos rectos sin giro, dos tramos a 90º, dos tramos a 180º, tres tramos, espiral…
- Tramos: recto, compensado, espiral, curvo y forma libre.
- Estas clasificaciones dependerían de cada ejemplar, pero el exportador las detecta (casi todas y casi siempre correctamente) automáticamente.
- En cualquier caso no es un dato que aporte mucho.
- **Con las rampas pasa lo mismo en el esquema IFC, pero en este caso el exportador de Revit no hace nada y hemos usado la herramienta rampa, se exportan siempre como IfcRamp NOTDEFINED,
- Lo que si podemos hacer es exportar suelos y plataformas de Revit con la entidad IfcRamp y el tipo que queramos.
Electricidad | ||
Bandeja de cables (canal) | IfcCableCarrierSegment | CABLETRAYSEGMENT |
Bandeja de cables (escalera) | IfcCableCarrierSegment | CABLELADDERSEGMENT |
Codo de bandeja | IfcCableCarrierFitting | BEND |
Te de bandeja | IfcCableCarrierFitting | TEE |
Cruz de bandeja | IfcCableCarrierFitting | CROSS |
Transición de bandeja | IfcCableCarrierFitting | REDUCER |
Tubo para cables | IfcCableCarrierSegment | CONDUITSEGMENT |
Mecánica | ||
Conducto | IfcDuctSegment | RIGIDSEGMENT |
Conducto flexible | IfcDuctSegment | FLEXIBLESEGMENT |
Tuberías | ||
Tubería | IfcPipeSegment | RIGIDSEGMENT |
Tubería flexible | IfcPipeSegment | FLEXIBLESEGMENT |
Lista fuera de ifcElement
Habitaciones, espacios y áreas | ||
Habitaciones y espacios en general | IfcSpace | SPACE |
Habitaciones y espacios relacionados con aparcamientos. | IfcSpace | PARKING |
Área construida bruta | IfcSpace | GFA |
Zona de climatización (Revit) | IfcZone | “no aplica” |
Zona (grupo de habitaciones con algo en común)* | IfcZone | “no aplica” |
Espacio especialmente protegido ante incendios** | IfcSpatialZone | FIRESAFETY |
Espacio libre para evacuación o reservado para labores de mantenimiento** | IfcSpatialZone | SECURITY |
- Actualmente Revit ignora toda configuración personalizada en habitaciones, espacios y áreas.
- Las exporta todas como IfcSpace, tipo SPACE.
- En habitaciones y espacios no es relevante, pero en áreas construidas me gusta tenerlas por separado.
- Usaría el parámetro IfcObjectType para poner GFA, pero cómo no funciona me tengo que conformar con que Revit crea grupos ifc para cada esquema de área.
- Con zonas de climatización pasa lo mismo. No se puede personalizar la exportación, pero tampoco hace falta a priori.
- * Revit no tiene una herramienta para agrupar habitaciones.
- Debemos crear estos parámetros de ejemplar para cada habitación (también funciona para áreas y espacios).
- ZoneName
- ZoneLongName
- ZoneDescription
- Name es lo que en Revit llamanos número, y LongName se refiere al nombre.
- Si queremos más de una agrupación para las mismas habitaciones, debemos crear más parámetros pero con un número al final: ZoneName 2, ZoneLongName 2, ZoneDescription 2, ZoneName 3….
- Se explica aquí, aunque está un poco desfasado al ser para IFC 2×3.
- Debemos crear estos parámetros de ejemplar para cada habitación (también funciona para áreas y espacios).
- ** Estos espacios los podemos modelar con masas u otras familias cargables,y asignarles estos atributos ifc.
Auxiliares | ||
Grúa | IfcConstructionEquipmentResource | ERECTING |
Excavadora | IfcConstructionEquipmentResource | EARTHMOVING |
Camión | IfcConstructionEquipmentResource | TRANSPORTING |
Bomba de hormigón | IfcConstructionEquipmentResource | PUMPING |
Encofrado | IfcConstructionProductResource | FORMWORK |
Andamio | IfcConstructionProductResource | USERDEFINED |
Equipos de protección colectiva | IfcConstructionProductResource | USERDEFINED |
Espacio de trabajo durante la obra | IfcSpatialZone | CONSTRUCTION |
- Actualmente Revit no soporta IfcConstructionEquipmentResource ni IfcConstructionProductResource.
- Se van a exportar como IfcBuildingElementProxy.
- Lo que si podemos hacer es poner USERDEFINED en todas y escribir qué objeto es en IfcObjectType.
- Los incluyo en el listado de todas formas para sepan de su existencia.
Hola Iván,
Primero muchas gracias por este listado y por las referencias, son muy útiles. Ya las estoy usando para mis exportaciones. Me he propuesto pasar todos los modelos que voy acumulando a IFC, así que esta tarea se hacía necesaria. Ahora yo también he creado mi propio listado de configuración.
Permíteme comentarte que pienso que en la línea abajo referida hay una errata, en lugar de SHELD debería ser SHELF.
Estante/Estantería IfcFurniture SHELF
Saludos
Correcto, errata. Corregido, muchas gracias.
Buen aporte
Hola Iván, seguí trabajando en mis exportaciones, espero que te parezcan oportunas.
Nombre común IfcExportAs IfcExportType
Cortina (Decoración) IfcFurniture USERDEFINED
Enchufes (Sockets o Outlets) IfcOutlet POWEROUTLET
Tomas de AFS y ACS IfcPipeFitting EXIT
Codos IfcPipeFitting BEND
Interruptores de la luz IfcSwitchingDevice CONTACTOR
Puntos de luz_Puntos IfcLightFixture POINTSOURCE
Puntos de luz_Lineales IfcLightFixture DIRECTIONSOURCE
Muros exteriores (mamposteria o HA) IfcWall SOLIDWALL
Tabiqueria / Particiones IfcWall PARTITIONING
Construido de elementos (Montantes y laminados) Placas YL IfcWall ELEMENTEDWALL
Los siguientes han sido declarados con un nuevo IFC class y Type en el listado de exportación del Revit y guardado su archivo.
Techos suspendidos IfcCovering CEILING
Toma de datos IfcOutlet DATAOUTLET
Un apunte posterior a las pruebas de exportación.
Ninguno de los “types” de IfcWall: MOVABLE, PARAPET,… excepto USERDEFINED (en el caso de los ejemplares, no de los tipos), se exporta al IFC.
Al menos así me ha ocurrido en Revit 2018.
No sé si alguien tiene otra experiencia en esta u otras versiones de Revit.
Hola Álvaro, con Revit 2021 y el exportador en versión 21.2.0.0, si que funcionan todas, excepto las nuevas incorporadas en IFC4.2 y 4.3 (RETAININGWALL y WAVEWALL).
Muchas gracias por tu aporte, Alvaro.
En cuanto tenga un rato, las probaré todas a ver si exportan bien o si neceistan alguna aclaración extra, y las añadiré a las tablas.
Saludos
Estoy revisando todo esto:
IfcWall ELEMENTEDWALL está marcado como obsoleto a partir de IFC 4.1, así que estaría incluido dentro de IfcWall PARTITIONING. Aunque en la última versión oficial (4.0.2.1) sigue estando vigente.
El resto todo ok, lo voy incorporando a ratos.
Saludos y gracias de nuevo.
En relación a las preocupaciones de este post, sugiero un vistazo a los anejos 3 y 4 del estándar eCOB. Un trabajo más que notable en esa dirección y referencia cada vez da más entidades del sector. Consultad la web ecobject.com
Gran aporte, Ferran, añado los links al post. Gracias.
Hola Iván, gracias por tu contenido.
Tengo un problema. Estoy intentando asignarle a un muro en IfcExportAs el tipo IfcCovering y en IfcExportType estoy metiendo CEILING. No hay forma de que luego el elemento salga exportado con ese tipo de IFC. Sabes si hay algún problema con esto o que puedo estar haciendo mal? Gracias
Hola Javier, prueba con la última versión del exportador (antes, los muros se exportaban siempre como ifcWall) https://github.com/Autodesk/revit-ifc/releases/tag/IFC_v21.2.1.0
Saludos
Fantástico post, muchas gracias por compartir.
Echo en falta la categoría “Structural Framing” para vigas, arriostramientos etc. IfcBeam.
Saludos