Exportar IFC a Excel

Convertir un archivo IFC a CSV usando IfcOpenShell

Autor: Andrei Savitski

Fecha de publicación: 21 de febrero de 2024

El formato IFC es un estándar en el sector de la construcción. A pesar de ello, aún no cuenta con un visualizador completo capaz de liberar todo el potencial de este formato como, por ejemplo exportar IFC a Excel para visualizar, de manera tabulada, cada uno de los elementos que componen un modelo.

Por eso, cuando en Bassal nos encontramos esta tesitura, no encontramos ninguna herramienta que nos permitiera hacerlo de manera nativa. Sólo encontramos plugins de visualizadores de IFC demasiado costosos para el uso puntual que les íbamos a dar.

Por eso, investigando otras vías alternativas para pasar un IFC a Excel, nos encontramos con la librería IfcOpenShell.

Usando esta librería de Python pudimos, a partir de modelos IFC, generar un archivo CSV y así leerlo en Excel.

Para facilitar la lectura del artículo, os mantenemos «plegadas» las secciones y así facilitaros la consulta de la página sin tener que hacer tanto scroll.

Es una biblioteca de código abierto desarrollada en Python para trabajar con archivos en el formato IFC (Industry Foundation Classes). Esta biblioteca permite a los desarrolladores leer, escribir y manipular modelos de información de construcción (BIM) basados en el estándar IFC.

IfcOpenShell proporciona una serie de herramientas y funciones que facilitan la extracción, manipulación y visualización de datos en archivos IFC. Esto es especialmente útil para aplicaciones que requieren interoperabilidad con el estándar IFC o para aquellas que desean realizar análisis avanzados de información de construcción.

Algunas de las características de IfcOpenShell incluyen la capacidad de leer y escribir archivos IFC, realizar consultas complejas en la información del modelo, convertir modelos a otros formatos, como OBJ o STL para su visualización en software de modelado 3D, y trabajar con geometría y propiedades de los elementos del modelo de construcción.

En resumen, IfcOpenShell es una herramienta útil para aquellos que necesitan trabajar con datos en formato IFC en sus aplicaciones o proyectos, ya que proporciona una manera conveniente de interactuar con la información de construcción en este estándar.

Pasos a seguir para exportar un IFC a Excel

1. Comprobar versión de Python

Como hemos dicho anteriormente, IfcOpenShell funciona con Python. De esta manera, debemos tener en cuenta la versión de Python que tenemos instalada para, posteriormente, descargar la versión de IfcOpenShell según esta versión.

Para comprobarlo, si tienes un sistema Windows, pulsa la combinación de teclas Win + R y escribe cmd en el prompt.

Captura de pantalla de la consola de comandos
En la ventana de la consola que aparece, introduce el comando (es importante que se respeten espacios y minúsculas):


py --version
 

Para versiones antiguas de Python, puede dar error. Si es así, prueba el comando:

 
python --version
 
Captura de pantalla de la ventana del Terminal

Si, como en la captura de arriba, tenemos una versión de Python, debemos descargar su versión correspondiente de IfcOpenShell. Para ello, puedes ir al paso 3.

Si, por el contrario, no tienes ninguna versión de Python instalada, puedes ir al paso 6. Te daremos un archivo comprimido con todo lo necesario para exportar modelos IFC a Excel.

Si deseas hacerlo por ti mismo, puedes seguir con el paso siguiente.

Si Python no está instalado, sigue este enlace Download Python | Python.org.

Asegúrate que la versión que descargas de Python es compatible con la última versión de IfcOpenShell.

Descarga de Python
Descarga de Python a través de https://www.python.org/downloads/

Con Python instalado en nuestro equipo, podemos pasar al paso siguiente.

Si el intérprete de Python está instalado, vamos a la página Installation – IfcOpenShell 0.7.0 documentation (blenderbim.org) y en la tabla de versiones buscamos el paquete según la versión de Python y sistema operativo.

Fuente: https://blenderbim.org/docs-python/ifcopenshell-python/installation.html

Una vez descargado, descomprimir y pasar al paso siguiente.

Puedes descartar el script aquí:

Una vez descargado, se debe descomprimir y ubicar en el directorio deseado y pasar al paso siguiente.

Copiamos la carpeta llamada «ifcopenshell» a la carpeta «Resources».

Copiar librería descargada a la carpeta "Resources".
Copiar librería descargada a la carpeta "Resources".

Cuando tengamos la carpeta «ifcopenshell» copiada, estamos listos para pasar a instalar Python, en el paso 7 (Sí, no hace falta pasar por el paso 6).

Puedes descartar el script aquí:

Este archivo es una carpeta comprimida con todo lo necesario para que vosotros también tengáis la capacidad de exportar IFC a Excel.

Con el archivo comprimido descargado, lo podéis descomprimir y pasar al siguiente paso.

Si no lo tenéis instalado, podéis hacerlo desde el archivo descargado en el paso 2. Si no habéis pasado por el paso 2, no os preocupéis. En el archivo comprimido descargado del paso anterior con todos los recursos necesarios, hemos incluido un ejecutable para instalar una versión de Python.

Cuando se nos termine de instalar, pasamos al siguiente paso.

Si ya tenéis uno, podéis obviar este paso.

Si no, os explicamos que, cuando nos referimos a IDE, nos referimos a una herramienta que permite editar código.

Si estás muy metido en la metodología BIM, usar un editor de código es cada vez más frecuente para realizar scripts que automaticen tu trabajo o te otorguen capacidades extra, como os estamos explicando en este post.

Un IDE que nosotros solemos usar es Visual Studio Code, el cual, podéis descargar a través de su portal web o clicando en la imagen.

Portal de descarga de Visual Studio Code.
Portal de descarga de Visual Studio Code: https://code.visualstudio.com/

Después de instalar VSC, pasamos al siguiente paso.

Con tabular nos referimos a los parámetros que aparecerán en el encabezado del archivo CSV que nos sacará el script.

Para este caso, os hemos preparado un ejemplo en el descargable con tres parámetros. Vosotros podéis cambiarlos por los parámetros que necesitéis. Estos parámetros serán los que aparezcan en el encabezado cuando exportéis vuestros modelos IFC a Excel.

Parte del código con los parámetros a incluir en como encabezado en el CSV.
Parte del código con los parámetros a incluir en como encabezado en el CSV.

Una vez elegidos nuestros parámetros, pasamos al siguiente paso.

En el caso del ejemplo de la captura, vamos a usar dos modelos:

Uno que simula un modelo de arquitectura sólo con muros, suelos, techos y ventanas y otro que simula un modelo de instalaciones que sólo tiene luminarias.

Si lo deseas, puedes descargar los modelos aquí.

Modelos IFC en la misma carpeta del script.
Modelos IFC en la misma carpeta del script.
Modelo de arquitectura con parámetros a tabular.
Modelo de arquitectura con parámetros a tabular.
Modelo de instalaciones con parámetros a tabular.
Modelo de instalaciones con parámetros a tabular.

Si abrís los modelos, veréis que tienen un conjunto de propiedades con los parámetros que hemos detallado anteriormente en el script.

Cuando estén copiados, podemos pasar a ejecutar el script.

Una vez que tenemos el código configurado y los modelos en la misma carpeta que el script, podemos pasar a ejecutarlo.

Ejecutar un script puede ser diferente según el IDE elegido. En Visual Studio Code sería en la pestaña «Run» y, después, en «Run Without Debuggin»:

Ejecución del script en "Visual Studio Code" para exportar IFC a Excel.
Ejecución del script en "Visual Studio Code" para exportar IFC a Excel.

Cuando se termine de ejecutar aparecerán, en la misma carpeta, dos archivos CSV nombrados de la misma manera que los modelos IFC:

Archivos CSV en la misma carpeta que el script y los modelos.
Archivos CSV en la misma carpeta que el script y los modelos.

Estos archivos CSV, son los que nos permiten exportar de IFC a Excel como detallamos a continuación.

Con el archivo CSV generado, ya podemos abrir Excel y cargar los datos como se indica en la imagen:

Acceso a la herramienta de importación de datos CSV en Excel.
Acceso a la herramienta de importación de datos CSV en Excel.
Previsualización de datos CSV en Excel.
Previsualización de datos CSV en Excel.
Datos tabulados en Excel a partir de modelos IFC.
Datos tabulados en Excel a partir de modelos IFC.

Conclusiones sobre la exportación de IFC a Excel

Cabe señalar que este script es una variante muy básica del uso de la biblioteca IfcOpenShell.

Tras haber probado esta librería hemos visto que, si sabes Python, podrás manipular el modelo editando no sólo sus parámetros, sino también la geometría de los elementos.

Por ahora, seguimos desarrollando el script para hacerlo más amigable para el usuario, descubriendo cada una de las ventajas que tiene para sacar todo el potencial a IFC.

¿Te ha interesado el artículo? ¿Quieres hacer alguna aportación?