Compartimos cinco recomendaciones para quienes están empezando a trabajar con Python y buscan incorporarlo a su flujo de trabajo en Revit.
Python es uno de los lenguajes de programación más utilizados del mundo. Se usa para desarrollar software de todo tipo, desde aplicaciones web hasta juegos y herramientas científicas, y se destaca tanto por su flexibilidad como por su sintaxis fácil de leer, lo que lo hace ideal para principiantes en programación.
En el ámbito de la arquitectura, y particularmente para aquellas personas que trabajan con Dynamo y Revit, dominar Python es una gran ventaja. En primer lugar, porque permite crear scripts personalizados para automatizar procesos y tareas repetitivas a través de Dynamo, ampliando significativamente las funciones nativas de la plataforma. Pero también porque nos ayuda como profesionales a obtener un mayor control sobre una herramienta que es central para los proyectos colaborativos basados en BIM.
A continuación voy a mencionar una serie de recomendaciones a tener en cuenta, especialmente para quienes están empezando a trabajar con Python y quieren incorporarlo a su flujo de trabajo en Revit.
Cinco tips de Python para flujos de trabajo BIM
Python puede ser un gran aliado de las herramientas de diseño paramétrico y modelado BIM. Si eres un profesional que quiere aprovechar las ventajas de Python para crear scripts personalizados que te ayuden a optimizar tu trabajo con Dynamo y Revit, aquí te damos cinco tips que te pueden ser útiles:
- Aprende los conceptos básicos de Python. Antes de lanzarte a escribir código para Dynamo y Revit, es importante que tengas una buena base de Python y que conozcas su sintaxis, sus estructuras de datos, sus funciones y sus módulos. Hay muchos recursos en línea para aprender Python desde cero, como cursos, libros y tutoriales. Un buen lugar para empezar es Python for beginners.
- Familiarízate con la API de Dynamo y Revit. La API (Application Programming Interface) es el conjunto de funciones y métodos que te permiten interactuar con una aplicación desde otro programa. Tanto Dynamo como Revit tienen su propia API, que puedes consultar en sus respectivas páginas web. La API de Dynamo está escrita en C#, pero puedes acceder a ella desde Python usando el módulo clr (Common Language Runtime). La API de Revit está escrita en .NET, pero puedes acceder a ella desde Python usando el módulo RevitServices, que viene incluido en Dynamo.
- Usa el editor de código integrado en Dynamo. Una forma sencilla de empezar a escribir scripts en Python para Dynamo y Revit es usar el editor de código que viene incorporado en Dynamo. Para ello, solo tienes que arrastrar un nodo de Python Script a tu lienzo y hacer doble clic sobre él para abrir el editor. Allí podrás escribir tu código en Python y ejecutarlo directamente desde Dynamo. El editor también te ofrece algunas opciones para depurar tu código, como mostrar los mensajes de error o los valores de las variables.
- Aprovecha las librerías externas de Python. Otra ventaja de usar Python para automatizar procesos en Dynamo y Revit es que puedes acceder a una gran variedad de librerías externas que amplían las funcionalidades del lenguaje. Por ejemplo, puedes usar la librería numpy para realizar operaciones matemáticas avanzadas, la librería pandas para manipular datos tabulares, o la librería matplotlib para crear gráficos y visualizaciones. Para instalar estas librerías, puedes usar el gestor de paquetes pip o el entorno virtual Anaconda.
- Crea tus propios nodos personalizados con Python. Si quieres ir un paso más allá y crear tus propios nodos personalizados con Python, puedes usar la herramienta PyRevit, que te permite crear extensiones para Revit usando Python. Con PyRevit puedes crear nodos que se integren en la interfaz de usuario de Revit y que se comuniquen con la API de Revit directamente, sin pasar por Dynamo. PyRevit también te ofrece un editor de código propio y un sistema de gestión de versiones para tus extensiones.
Estos son solo algunos tips para empezar, pero en verdad hay mucho por descubrir y aprender. Si quieres conocer algunas aplicaciones concretas, a continuación mencionamos una serie de rutinas que hemos desarrollado en echeverrimontes.
Rutinas de automatización de procesos para Revit
Las rutinas que mencionamos a continuación fueron desarrolladas en Python y pueden ejecutarse a través de Dynamo.
Rutina para recarga automática de familias
Este componente para Dynamo permite automatizar el proceso de actualización de familias en un modelo, facilitando su recarga desde una carpeta del computador una vez que han sido modificadas. Descarga la rutina en este link: Nodo de automatización del proceso de recarga de familias.
Rutina de georreferenciación
Este script fue diseñado para automatizar el proceso de adquisición de coordenadas georeferenciadas desde un plano DWG de entrada, para utilizarlo como referencia fundamental en la organización colaborativa del entorno digital de un modelo 3D. En el enlace que compartimos a continuación puedes descargar la rutina y ver un video explicativo para conocer cómo utilizarla: Ver rutina de georreferenciación.
Rutina para cálculo automatizado de PADS
Este nodo se ocupa de seleccionar todos los Pads existentes en un modelo 3D para luego desagregar su estructura compuesta y exportar los datos a un cuadro simple de Excel, automatizando el proceso de cálculo de volúmenes de las diferentes capas que lo componen. Descarga la rutina en este enlace: Ver rutina para cálculo de volúmenes de PADS.
Rutina de nomenclatura de parqueaderos
Este componente permite automatizar el proceso de nomenclatura de parqueaderos en un modelo. Se ocupa de analizar el tipo de parqueadero, la familia y la ubicación por nivel para generar la nomenclatura seriada en la planta correspondiente de un proyecto. En el enlace que sigue puedes descargar la rutina: Ver rutina de automatización del procesos de nomenclatura de parqueaderos.
Gestión y desarrollo de software para el sector AEC
En echeverrimontes trabajamos día a día para capitalizar el poder de la tecnología en pos de la calidad y la rentabilidad de los proyectos en los que participamos. A través de la automatización de procesos y los modelos de trabajo colaborativos, optimizamos tiempos y presupuestos de obra, interpretando las necesidades de la industria y desarrollando, cuando la situación lo requiere, soluciones personalizadas.
Trabajamos con programación visual en Dynamo y Grasshopper, y desarrollamos aplicaciones en C# y Python. Nuestro equipo trabaja con los Software Development Kits (SDKs) y Application Programming Interfaces (APIs) para implementar soluciones estables y eficientes que permitan interoperabilidad y flujo continuo de información en proyectos de arquitectura e ingeniería.