Si no sabes qué es Dynamo
Empecemos desde el principio. En esta web ya hemos hablado largo y tendido sobre qué es Dynamo y cómo funciona. Por eso voy a dejarte por aquí los vínculos a esos artículos, por si te los hubieras perdido:
- ¿Qué es Dynamo para Revit?
- Nodos esenciales de Dynamo. Parte 1.
- Nodos esenciales de Dynamo. Parte 2. Nodos de operaciones con Listas
- Nodos esenciales de Dynamo. Parte 3. Nodos de operaciones con geometría.
- Python para Dynamo. Parte 1. Cuando los nodos no son suficiente.
- Preguntas frecuentes de Dynamo Like a Pro
- Ejemplo de dynamo para el día a día- entrevista con Luis Alonso Otero
¿Cuál es la forma de ejecutar la programación en Dynamo para Revit?
Ok. Una vez que ya tenemos claro qué es Dynamo y para qué sirve vamos al tema que nos ocupa: la forma en que se ejecuta Dynamo.
Caso más sencillo: ese dynamo en el que da igual su orden secuencial
Cuando estamos haciendo un Dynamo tenemos claro que empieza a ejecutarse desde las entradas de información, o inputs, y que termina en las salidas de información o outputs. Esto se entiende de manera muy sencilla con un Dynamo con una sola entrada y una sola salida.
En el ejemplo estamos tomando la información del modelo desde la entrada «Categories» y después «All elements of Category». La salida final del dynamo, donde converge el camino de acciones que vamos haciendo, el el «Element.SetParameterByName». En este caso hemos volcado la información de la suma de las áreas a las habitaciones.
Como el nodo final pide por un lado los elementos a los que volcar los valores, el nombre de los parámetros y los valores a volcar los caminos uno y dos da exactamente igual en qué orden se ejecuten. Ahora bien, el nodo final está buscando los todas esas entradas, hasta que las tres no estén completas y los caminos cerrados ésto no se ejecutará.
Caso donde tendríamos que modificar el orden de ejecución
Ahora bien, imaginemos otro caso. Imagina que en un modelo tienes habitaciones y pilares. Los pilares actúan como delimitadores de habitación. Lo que pretendes hacer es transformar las habitaciones en masa, pero para eso no pueden tener los pilares porque la masa no se modelaría. En este caso quieres programar lo siguiente:
- Coger las habitaciones.
- Coger los pilares.
- Quitar la opción de que los pilares sean delimitadores de habitación.
- Coger la geometría de las habitaciones sin tener en cuenta los pilares.
- Transformar esta geometría en masa.
Claro, si hacemos esto sin tener en cuenta el orden y cogemos las habitaciones Dynamo va a recordar su geometría inicial, con los pilares como delimitadores de habitación, y no habrá forma de hacérsela olvidar. Tenemos que recurrir a otras opciones para solucionar este problema.
Modificar el orden de ejecución en Dynamo con if o con pass throught de Clockwork
En este vídeo te enseño cómo modificar el orden de ejecución en el dynamo que veíamos como ejemplo más arriba.
Espero que te pueda servir para tus futuros desarrollos.
Pd. Lo dicho: abrimos Dynamo like a Pro el próximo 24 de Junio. Si quieres una plaza asegúrate de apuntarte a la lista de espera. 😀
Elegir el orden de ejecución en Dynamo por Especialista3D está licenciado bajo una Licencia Creative Commons Atribución-NoComercial 4.0 Internacional.