Proyecto TFM: Programación aplicada al BIM

Proyecto TFM: Programación aplicada al BIM

Transformación Digital e Ingeniería 4.0
 14-sep-2023 | Daniel Cruz

¡Comparte con tus contactos!

Un artículo de TFM que explora a fondo la Programación Aplicada al BIM, analiza sus conceptos fundamentales y su aplicación. 

transformación digital

La Programación Aplicada al Building Information Modeling (BIM) es una disciplina en constante crecimiento que está transformando radicalmente la forma en que se conciben, diseñan y construyen edificios e infraestructuras en todo el mundo. En un mundo cada vez más digitalizado, el BIM se ha convertido en un estándar en la industria de la arquitectura, ingeniería y construcción (AEC), permitiendo a los profesionales crear modelos virtuales precisos y colaborativos de proyectos que abarcan desde pequeñas estructuras hasta megaproyectos a gran escala.

La Programación, por otro lado, se ha consolidado como una poderosa herramienta que complementa y potencia la eficiencia del BIM. Al combinar la capacidad de modelado tridimensional del BIM con la lógica de programación, los expertos pueden automatizar tareas repetitivas, optimizar procesos y aprovechar al máximo los datos generados en un proyecto BIM.

En este artículo sobre el Trabajo de Fin de Máster (TFM) de alumno Daniel Cruz del Máster en Programación Aplicada a BIM, exploraremos a fondo la Programación Aplicada al BIM, analizando sus conceptos fundamentales y su aplicación. 

TFM | Programación aplicada al BIM

La programación aplicada al BIM nos permite automatizar y optimizar procesos en cualquier fase del desarrollo de proyectos, lo que nos permite mejorar en gran medida la productividad en nuestro trabajo.

En el caso de Revit tenemos varias formas de incorporar la programación a nuestros flujos de trabajo, pudiendo hacerlo a través de:

Para este TFM he escogido dos de ellas:

  • En primer lugar, un plugin basado en el uso de piezas y montajes que permite automatizar el modelado y documentación de elementos industrializados o prefabricados en Revit.

  • En segundo lugar, un script de Dynamo que nos permite automatizar la creación de vistas y aplicación de configuraciones solares para la realización de estudios de soleamiento.

Plugin para panelado de piezas en Revit

Objetivo

La idea para plantear este plugin es crear una herramienta que nos permita automatizar todo el proceso de creación, división y documentación de piezas y montajes en cualquier modelo de Revit

El objetivo es poder procesar, de forma rápida y eficaz, cualquier material o conjunto de materiales presentes en el modelo, automatizando tanto la creación de paneles en base a un tamaño máximo establecido (ya sea una limitación de tamaño por fabricación o cualquier otro criterio) como la creación de toda la documentación necesaria para el montaje o fabricación de dichos paneles, según las necesidades de cada caso (vistas y planos de montajes y/o archivos CNC para fabricación).

Pretende ser una herramienta genérica que se pueda usar sobre cualquier material y en cualquier modelo sin alterar el entorno de datos del mismo. No añade parámetros ni inserta familias ajenas al modelo base durante su ejecución. Se apoya en parámetros propios de Revit y familias existentes en el modelo.

Pretende además ser una herramienta abierta que sirva de base para ser personalizada añadiendo comandos específicos para sistemas constructivos concretos.

Flujo de trabajo

01

El plugin

02

Modelo de partida

Como caso de estudio hemos elegido una vivienda unifamiliar con muros, suelos y cubiertas con estructura de CLT, siendo este el material elegido para procesarlo con el plugin.

03

04

1. Extracción de material o materiales

Esta fase de la ejecución del plugin es la que se encarga de extraer de nuestro modelo las piezas del material o materiales elegidos y prepararlas para poder trabajar con ellas. 

05

a. Crear piezas:

06

 

      • Datos:

07

      • Acciones:

        • Crea piezas en los muros, suelos y cubiertas que incluyen el material o materiales elegidos.

        • Crea la vista de trabajo.

        • Genera y asigna nombre a la vista creada (en este caso “Piezas_CLT”).

        • Aisla en la vista de trabajo las piezas del material o materiales elegidos.

        • Valida el tamaño de las piezas coloreando en rojo aquellas que superan el tamaño máximo escogido.

      • Resultado:

08

2. División y validación de piezas

Esta fase agrupa los comandos encargados de la división de piezas para la creación de los paneles.

09

a. Dividir piezas muros


10 (2)

      • Datos:

11 (2)
      • Acciones:

        • Divide todas las piezas del material o materiales escogidos que estén ubicadas en muros sin huecos en tantas piezas como permita el ancho elegido para la división.

        • Valida el tamaño de las piezas resultantes de la división.

      • Resultado

12 (2)

b. Colocar dinteles


13 (2)

      • Datos:

14 (2)
      • Acciones:

        • Coloca dinteles y antepechos en los huecos (ubicados en muros con piezas del material o materiales elegidos) que superen el área indicada.

        • Valida el tamaño de las piezas resultantes de la división.

      • Resultado

15 (2)

c. Colocar dintel por hueco


16 (2)

      • Punto de partida
17 (2)
      • Datos:

        • Selección en el modelo de la pieza en la que se ubica el hueco.

        • Selección en el modelo de las aristas superior e inferior del hueco en el que se colocarán dintel y antepecho.

        • Longitud de los apoyos de los dinteles sobre el muro (Solape).

      • Acciones:

        • Coloca dintel y antepecho en el hueco elegido, sólo dintel en el caso de puertas.

        • Valida el tamaño de las piezas resultantes de la división.

      • Resultado

18 (2)

d. Dividir piezas suelos


16 (3)

      • Punto de partida
17 (3)
      • Datos:

21 (2)

 

      • Acciones:

        • Divide todas las piezas de suelos del material o materiales elegidos, en cada una de las direcciones seleccionadas y en tantas piezas como permita el ancho elegido para cada dirección.
        • Valida el tamaño de las piezas resultantes de la división.
      • Resultado
22 (2)

e. Dividir pieza


23

      • Punto de partida
24
      • Datos:

Selección en el modelo de la pieza a dividir

25

 

      • Acciones:

        • Divide la pieza seleccionada en tantas piezas como permita el ancho elegido.

        • Valida el tamaño de las piezas resultantes de la división.

      • Resultado

26

 

f. Dividir pieza dos direcciones

27

      • Punto de partida

28

      • Datos:

Selección en el modelo de la pieza a dividir


29

      • Acciones:

        • Divide la pieza seleccionada en la dirección o direcciones elegidas y en tantas piezas como permita el ancho o los anchos elegidos.

        • Valida el tamaño de las piezas resultantes de la división.

      • Resultado

30

g. Dividir faldones

31

      • Punto de partida

32

      • Datos:

Selección de pieza de cubierta inclinada.

      • Acciones:

        • Divide la pieza de una cubierta inclinada generando una pieza por faldón.

        • Valida el tamaño de las piezas resultantes de la división.

      • Resultado

33


A partir de aquí, usando los dos comandos anteriores ("Dividir pieza" y "Dividir pieza dos direcciones"), podemos dividir cada uno de los faldones de la forma que necesitemos.

34

3. Creación de montajes y documentación

35

a. Generar documentación

36

      • Punto de partida

37

      • Datos:

38

      • Acciones:

        • CREACIÓN DE MONTAJES
          • Crea un montaje con las piezas que forman parte de cada uno de los elementos constructivos (muros, suelos, cubiertas) o un montaje para cada una de las piezas, en función de la opción elegida.

          • Asigna valores de Marca de tipo y Marca a los montajes creados.

          • Asigna nombre a  todos los tipos de montajes creados.

        • CREACIÓN DE VISTAS DE MONTAJES
          • Crea vistas de los montajes. Crea proyecciones frontal, superior, izquierda, y derecha aplicando la plantilla escogida, además genera también una vista 3D y una tabla de cómputo de materiales).

        • CREACIÓN DE PLANOS DE MONTAJES
          • Crea planos para las vistas de montaje.

          • Maqueta las vistas de montaje en los planos, adaptando la escala de las vistas al tamaño del plano.

          • Acota las vistas de los montajes.

        • EXPORTAR A PDF
          • Exporta a un único pdf todos los planos de montajes creados por el comando.

        • EXPORTAR A CNC
          • Generar, a partir de los montajes generados por el plugin, los archivos CNC necesarios para la fabricación de las piezas creadas.

      • Resultado

        • CREACIÓN DE MONTAJES
          • Montajes en los que cada uno de ellos contiene todas las piezas de un mismo elemento (muro, suelo o cubierta).

    • 39

40

          • Un montaje para cada una de las piezas.

    • 41

42

Parte de la tabla de planificación de montajes en la que vemos montajes de piezas provenientes de muros y suelos agrupados por su tipo y con su marca de ejemplar asignada.

43

          • CREACIÓN DE VISTAS Y PLANOS DE MONTAJES:

Plano de montaje formado por todas las piezas de un muro.

44

Plano de montaje formado por una única pieza de un muro.

45

Plano de montaje formado por todas las piezas de un suelo.

46

Video funcionamiento plugin para panelado de piezas en Revit

Script para realización de un estudio de soleamiento

Objetivo

El objetivo de esta parte del TFM es crear un script en Dynamo que permita la creación de estudios de soleamiento. El script automatiza la creación de vistas y la aplicación de una configuración solar determinada a partir de la introducción de las fechas y horas que nos interesen para el estudio.

El script se planteó de tal forma que su estructura fuera lo más clara posible, utilizando nodos de python que nos permiten estructurar el código de la forma más adecuada a nuestras necesidades. Esto nos permite tener pocos nodos y unas conexiones claras y ordenadas entre ellos.

47Otro objetivo en la creación del script fue maximizar la facilidad de su uso por parte de cualquier usuario aunque este sea ajeno a dynamo. Para ello se utiliza un Windows Form que agrupa todas las entradas de datos necesarias para la ejecución y permite al usuario interactuar con el script en un entorno conocido.

48

Entrada de datos

1. Ventajas del uso de Windows Forms

    • Entorno conocido para cualquier usuario.

    • Mayor variedad de opciones para configurar la entrada de datos, permitiéndonos configurar los inputs de la manera más apropiada en cada caso. Selección de fechas a través de un calendario, selección de horas, ListBox….

    • Control de la ejecución de todos los nodos a partir del resultado del cuadro de diálogo; podemos cancelar la ejecución desde el cuadro sin generar errores en los nodos posteriores.


2. Windows Form. Entradas

49 (1)

3. Windows Form. Salidas

50

Nodo creación de vistas

51

1. Entradas

    • DateTimes (fecha y hora para aplicar a la configuración solar de cada una de las vistas).

    • Vista a duplicar.

    • Nombres para las vistas (generados por el nodo anterior en base a las configuraciones de fecha y hora).

    • Resultado del cuadro de diálogo. Nos permite gestionar la ejecución del nodo en caso de cancelación.

2. Funciones que realiza

    • Crea tantos duplicados de la vista elegida como configuraciones solares hayamos introducido.

    • Asigna nombre a cada una de las vistas.

    • Aplica la configuración solar correspondiente a cada una de las vistas.

3. Salidas

    • Vistas creadas

52

Nodo creación de planos

53

1. Entradas

    • Vistas creadas por el nodo anterior.

    • Bloque de título para los planos.

    • Número de filas de vistas por plano.

    • Número de columnas de vistas por plano.

    • Resultado del cuadro de diálogo.

2. Funciones que realiza

    • Crea el número de planos necesario para albergar las vistas creadas, asignando a cada plano el número de vistas establecido.

    • Establece nombre (Estudio de soleamiento_0, Estudio de soleamiento_1, …) y número de plano (Sol_0, Sol_1,...) para cada uno de ellos.

    • Coloca las vistas en los planos en base al número de filas y columnas de vistas a colocar en cada plano.

    • En los casos en los que el tamaño del conjunto de vistas establecido para un plano supere el tamaño del mismo, el script ajusta la escala de las vistas hasta que estas encajen en el plano.

3. Salidas

    • Planos generados

54

Nodo para Exportar a PDF

1. Entradas

    • Planos creados por el nodo anterior.

    • Opción de exportación a PDF (true/false).

2. Funciones que realiza

    • Crea un PDF con tantas hojas como planos se introduzcan.

    • Ubica el archivo en la misma carpeta en la que se ubica el RVT.

    • Nombra el archivo a partir del nombre del RVT y el sufijo “Estudio de soleamiento”

3. Salidas

    • Archivo pdf con todos los planos generados por el script.

Video funcionamiento Script para realización de un estudio de soleamiento

 

Conclusión

La utilización de la programación en entornos BIM nos permite, mediante la automatización, acortar en gran medida los tiempos de definición de un proyecto, tanto utilizando este recurso en la creación o colocación de elementos en el modelo, como en la elaboración de documentación o en la extracción y utilización de datos de dicho modelo.

Los sistemas de construcción prefabricados e industrializados, al tratarse de elementos previamente definidos y colocados en el modelo en base a criterios preestablecidos, son claros beneficiarios de las ventajas de utilizar la programación en todas las fases del desarrollo, desde el modelado hasta la elaboración de toda la documentación de montaje o fabricación para dichos elementos.


Reseña del autor:

Fotos Contenidos (13)Mi nombre es Daniel Cruz Fernández, Máster en Programación aplicada al BIM impartido por Structuralia y avalado por la Universidad Isabel I (2023) y Arquitecto por la Escuela Técnica Superior de Arquitectura de la Universidade da Coruña (ETSAC).

Arquitecto cuya actividad se centra principalmente en temas relacionados con la metodología BIM, desde el modelado (Revit, Infraworks) hasta la automatización de flujos de trabajo en Revit mediante programación de scripts con Dynamo y Python o la creación de plugins en C#. Otro ámbito de actividad es la visualización de modelos, tanto de edificación como de obra civil, utilizando las posibilidades que ofrece la combinación de datos GIS con herramientas BIM y programas de renderizado.

Testimonio del autor:

1. ¿Por qué elegiste Structuralia?

"En primer lugar, buscaba un máster online que pudiera compatibilizar con una jornada laboral a tiempo completo y que estuviese avalado por una titulación universitaria oficial.

En segundo lugar, me ayudó a tomar la decisión la referencia previa que tenía del director del máster, Javier Aramendía, a través de la realización de pequeños cursos relacionados con el tema de la programación aplicada al BIM."

2. ¿Qué es lo que más destacarías del máster?

"Resaltaría el amplio y bien estructurado temario que abarca desde la programación visual con Dynamo, ideal para iniciarse en el mundo de la programación, hasta la creación de aplicaciones web para Autodesk Forge, pasando por varios lenguajes de programación como Python, C# y MySQL."

3. ¿En qué te ha ayudado o crees que te podría ayudar en tu actual o futuro desarrollo profesional?

"Me ha permitido profundizar en el mundo de la programación y, a partir de unos conocimientos básicos previos de programación visual en Dynamo, dar el salto a la programación con código. Estos conocimientos me permitirán desarrollar, con garantías, programas que permitan optimizar flujos de trabajo en el desarrollo de proyectos, pudiendo abarcar desde la implantación de scripts de Dynamo y plugins de Revit en el desarrollo de mis propios proyectos hasta la creación de este tipo de herramientas para implantaciones de terceros."


New call-to-action

¡Comparte con tus contactos!

Quizá te puede interesar

Smart Data: La ventaja competitiva que buscan las empresas actuales

Descubre el gran potencial del Smart Data y el Big Data para las empresas de la actualidad.


Leer más >>

Descubre el prompt engineering: la profesión del futuro

Para los ingenieros especializados en Prompt Engineering espera un futuro lleno de oportunidades laborales, descubre por qué.


Leer más >>