7 claves para crear la librería de Dynamo de tu oficina

En cada proyecto arquitectónico existen una gran cantidad de tareas repetitivas que nos consumen gran cantidad de tiempo diario y que no necesitan que alguien especializado esté realizándolas click a click… bien podríamos poner a un robot a hacerlas y sólo revisar el resultado final una vez que haya terminado. A lo que voy con esto es que un Arquitecto o Ingeniero debería estar menos tiempo ejecutando tareas que podría hacer un robot (o un script de Dynamo/Add In) y más tiempo resolviendo el proyecto o revisando la calidad del producto.

Una forma de ir reduciendo las horas que se consumen en cada proyecto con tareas repetitivas es crear una librería o repositorio de estas herramientas personalizadas que podemos crear con Dynamo. El objetivo será que la mayor cantidad de usuarios de Revit de la oficina deje de hacer estas tareas «a mano» y las haga mucho más rápido y con menos errores con estos scripts. Para facilitar la adopción y uso de estos procesos automatizados he detectado algunas claves que espero te ayuden:

0_Procesos documentados, entendidos y aplicados

Antes de pensar en automatizar procesos lo más importante es que todos los involucrados conozcan esos procesos y los sigan de la misma forma. Si en la oficina no hay procesos definidos, documentados e implementados acorde a la documentación, lo más seguro es que los esfuerzos por automatizarlos den un beneficio mínimo, casi nulo, ya que se harán scripts para automatizar una tarea hecha de x manera, pero unos usuarios estarán habituados a hacerla de x forma, otros de y forma y otros de z, etc. Esa automatización pasa de lo que podría ser ahorrarle tiempo a todos los usuarios de Revit de la oficina a ahorrarle tiempo a un porcentaje que lo hace de x forma.

Así que el primer paso, o mejor dicho el paso cero, el previo y necesario antes de querer automatizar, es definir, documentar e implementar homólogamente los procesos de la empresa.

1_No automatizar malas prácticas

Un error común, guiado por buenas intenciones y desconocimiento a profundidad de las herramientas o falta de experiencia es lanzarnos a automatizar todo lo que veamos posible de automatizar, sólo porque podemos, porque disfrutamos conectando nodos y viendo resultados multiplicados, sin detenernos a pensar si lo que estamos a punto de automatizar es un proceso adecuado, o es un proceso que genera resultados erróneos.

Automatizar un error sólo propaga el error más rápido.

2_No automatizar lo que viene automatizado «de fábrica»

Otro error en el que podemos caer al ir armando nuestro repositorio de automatizaciones, es crear scripts que hagan lo que ya hace una herramienta o un parámetro de sistema de Revit, es decir, gastar tiempo haciendo un script que automatice lo que ya estaba automatizado.

Un par de ejemplos que te puedo mencionar y que me ha tocado ver en muchas ocasiones son:

Crear un parámetro (innecesario sea compartido o de proyecto, da igual) en categorías de familias cargables, de tipo texto para rellenar «automáticamente» con Dynamo con el dato de la habitación en la que se encuentra cada ejemplar…

este dato Revit lo sabe en todo momento, Revit sabe en qué habitación se encuentra cada ejemplar de familia cargable, no necesitamos automatizar nada acá, lo único que necesitamos es saber cómo pedirle ese dato a Revit, escarbar un poco más para encontrar en el editor de familias el parámetro de tipo Sí/No Punto de cálculo de habitación que sólo tenemos que activarlo en las familias cargables para que cualquier tabla de planificación/cantidades nos muestre en que habitación se encuentra cada uno de estos elementos.

Te dejo acá el enlace a la ayuda de Autodesk donde enseña a activar y modificar el Punto de ´calculo de habitación:

https://knowledge.autodesk.com/es/support/revit/learn-explore/caas/CloudHelp/cloudhelp/2019/ESP/Revit-Model/files/GUID-FAA0F968-7290-4FEB-AAD6-9308369C1CEF-htm.html

Crearse parámetros (innecesarios) para organizar planos, «rellenarlos» con Dynamo y crear tipos de vista que después se asignan a cada vista según el plano en el que se encuentran sólo con el fin de organizar el navegador de proyectos…

esto nos lo podemos ahorrar aprovechando otro parámetro de sistema que Revit «rellena» automáticamente, que encontramos en todos los planos, y en todas ls vistas colocadas en un plano, el Número de Hoja, y que si aplicamos una numeración de hojas basada en los conjuntos de planos que necesita cada contratista y en la lógica (yo prefiero y recomiendo basarse en el United States National CAD Standard, para no estar inventando el hilo negro en este tema) será suficiente para tener un navegador de proyectos ordenado de forma lógica y constructiva en todo momento.

Aprovecho para dejarte el enlace al NCS, puedes descargarlo de forma completamente gratuita:

https://www.nationalcadstandard.org/ncs6/content.php

Para evitar este error la recomendación es simple, antes de ponernos a crear parámetros y conectar nodos, investigar si existe una herramienta o parámetro de sistema que haga eso que necesitamos, investigar a profundidad, ya que quizá esta herramienta o parámetro no está en la superficie de Revit y hace falta escarbar un poquito, pero una vez que lo encontremos, ese conocimiento nos quedará para aprovecharlo en todos los proyectos futuros.

Habremos evitado gastar tiempo en un script que nunca fue necesario, y el resultado será más confiable ya que no estaremos agregando pasos extra al proceso, recordemos que cada paso de un proceso es una posibilidad de equivocarse, así que si podemos llegar al mismo resultado con 2 pasos o con 4, en la opción de 2 pasos tienes 50% menos de probabilidades de cometer un error.

3_Priorizar

Aún dentro de los procesos que sí nos generan resultados correctos, que sí deben aplicarse y que no los realiza ya de forma automática un parámetro de sistema… es decir, los que sí nos conviene automatizar, podemos encontrar una gran cantidad de ellos, así que como en todo, habrá que elegir, elegir dentro de la gran cantidad de posibles automatizaciones cuáles necesitamos primero, cuáles tienen mayor prioridad.

Para establecer estas prioridades hay dos puntos que me parecen fundamentales a revisar en cada uno de estos procesos que queremos automatizar:

  1. ¿Cuánto tiempo me va a llevar tener desarrollado el script?
  2. ¿Una vez listo el script, cuánto tiempo ahorraré en este proyecto al ejecutarlo?
  3. ¿Qué tan recurrente será que necesite este script, lo necesitaré sólo en este proyecto o lo necesitaré recurrentemente en todos los proyectos de la oficina?

Contestando estas preguntas nos iremos dando cuenta de a cuáles automatizaciones nos conviene dar prioridad y cuáles podemos dejar para después.

4_Repositorio al alcance de todos los usuarios de Revit

Una vez que tenemos claro qué es lo que necesitamos automatizar y se van generando los scripts necesarios, será muy importante el acceso a ellos, que el usuario final pueda acceder a ellos fácilmente es el primer requisito para que sí los utilice, y no queden en el abandono.

Para tener ese repositorio a la mano, podemos usar un servidor web local si todos los colaboradores trabajan físicamente en la misma oficina (cosa que vemos cada vez menos), un servidor NAS, con el que podemos colaborar a distancia, o desde Google Drive y su aplicación de escritorio.

Sea cual sea la opción que más nos convenga, es recomendable que haya un solo repositorio, centralizado, evitar estar enviando por email o algún otro medio los scripts y asegurarnos de que todos los usuarios tengan acceso a las versiones más recientes en todo momento. Además es necesario tener controlado con permisos la modificación de estos archivos para que sólo quien o quienes estén a cargo de las automatizaciones puedan alterarlos.

5_Ponlo fácil. Dynamo Player

Ningún script de Dynamo se va a «ejecutar él mismo», podemos tener una gran cantidad de automatizaciones que sabemos que pueden ahorrar gran cantidad de horas, pero si no convencemos a los usuarios de Revit de usarlos, y los ayudamos en esta transición, quedarán en el abandono, aquí es muy importante que quien desarrolle estos scrips, los configure para ser usados desde Dynamo Player, sin tener que abrir toda la interfaz de Dynamo y con la menor cantidad de botones (entradas de usuario) u opciones a configurar posible.

A continuación te comparto 3 videos que hice sobre Dynamo Player para explicar cuál es su utilidad y cómo se configura:

6_Seguimiento. Dudas, retroalimentación y actualizaciones

También será importante que quien desarrolle los scripts haga un «menú» donde explique qué hace cada script, para qué sirve y cómo se usa. Además de dar seguimiento, resolviendo dudas y actualizando los scripts cada que sea necesario ya sea por cambios en los procesos de la oficina o actualizaciones de Dynamo por parte de Autodesk.

Si no se da este seguimiento lo más probable es que las automatizaciones queden en el olvido, ya que no todos los usuarios de Revit entrarán en el prueba y error o investigar por su cuenta, y muchos se irá por el camino que ya se saben, aunque sea mucho más lento.

En conclusión, automatizar nuestros procesos requiere de más que sólo conectar nodos o escribir código, pero vale bastante la pena y podemos ver los resultados en poco tiempo sí tomamos en cuenta todos estos factores trabajamos en equipo y subimos a bordo a todo el equipo (clave extra, que quien va a ejecutar los scripts perciba un beneficio en realizar su trabajo en menos tiempo y mejor).

Espero te haya sido de interés el artículo, y si quieres hablar sobre el tema o intercambiar opiniones no dudes en escribir. Suscríbete al blog para que no te pierdas ninguno de los artículos que estaré compartiendo semanalmente.