Cómo elegir la mejor herramienta de automatización para su trabajo en Revit. Diseñadores vs programadores

Las nuevas herramientas de automatización llevan la planificación a un nuevo nivel de desarrollo.

¿Qué herramienta nos ahorrará miles de horas al automatizar los procesos BIM en Revit?


Por el momento, tenemos 4 opciones para automatizar el trabajo en Autodesk Revit:



  • Dynamo (programación gráfica de código abierto)
  • Rhino.Inside (beta, con Grasshopper es como Dynamo)
  • PythonShell o pyRevit (Python con Revit API)
  • C # (C # con Revit API)

En el gráfico, reuní mis pensamientos sobre este tema:



este diagrama puede ayudarlo a explicar a los gerentes en qué casos y qué debe aplicarse al planificar la automatización, teniendo en cuenta los parámetros trabajo_velocidad / tarea_tamaño / visualización_disponibilidad .

Cada solución tiene sus propias herramientas.


Por ejemplo: si está haciendo algún tipo de secuencia de comandos utilizando solo los nodos visuales en Dynamo por primera vez, la velocidad de su secuencia de comandos será alta. Pero en el caso de expandir los parámetros de la tarea y aumentar las condiciones: la velocidad de su script puede caer bruscamente.

Reemplazando Dynamo con Python (también puede usar IronPython en Dynamo), el script se verá más estable. Comienza a programar el script lentamente, pero en este caso, el crecimiento del script ya no causa problemas ni en la velocidad ni en el proceso de desarrollo (aunque a veces el script se vuelve tan grande que ya no puede trabajar con el código usando el editor estándar IronPython).

Cada solución tiene sus propias herramientas.




Al elegir una herramienta, debe mirar las ideas de "Perspectiva" .

Si su script es algo rápido y pequeño , entonces la programación visual es Dynamo o Grasshopper.

Para tareas medianas, las herramientas de Python son más adecuadas.

Si tiene una tarea grande con muchos datos y parámetros, es mejor usar C # (la misma tarea escrita en Dynamo funcionará 10 veces más lento).

Diseñadores vs programadores


A los programadores de BIM no les gustan las herramientas como Dynamo o Grasshopper porque para los programadores, los scripts en Dynamo se ven como "código de espagueti". Dichos desarrolladores escriben herramientas "relativamente limpias" (en realidad similares en calidad a Dynamo) para Revit - en C # (o RevitPythonShell).

El problema es que tales herramientas están escritas a pedido del departamento de planificación. Por lo tanto, la fuerte motivación intrínseca del diseñador entra en la motivación extrínseca artificial para el programador.



Como resultado del difícil trabajo de transferir la lógica del diseñador al código del programador, se crea un nuevo enlace en el proceso de planificación que, en mi opinión, puede ser reemplazado en el futuro por herramientas como #Dynamo o #Grasshopper.



Para las personas que han estado diseñando durante décadas, herramientas como Dynamo y Rhino. InSide es un soplo de aire fresco en un trabajo de planificación monótono.

Dios bendiga a la comunidad de código abierto y a los desarrolladores de herramientas como Dynamo y Grasshoper, PythonShell, pyRevit, Rhino.




Agradecería sus comentarios y nuevos contactos.

Descripción general de la herramienta


#Dynamo es una herramienta de programación visual que funciona con Revit. Dynamo amplía las capacidades de Revit al proporcionar acceso a la API de Revit (interfaz de programación de aplicaciones) de una manera más accesible. En lugar de ingresar código, en Dynamo crea programas manipulando elementos gráficos llamados "nodos". Este enfoque de programación es más adecuado para tipos orientados visualmente, como arquitectos, diseñadores e ingenieros.



# Rhino.Inside es un proyecto WIP de Rhino de código abierto que permite que Rhino y Grasshopper se ejecuten en otras aplicaciones de Windows de 64 bits como Revit, AutoCAD, etc. Con Rhino Inside Revit, también obtienes toda la funcionalidad de Rhino, incluyendo Grasshopper para Revit. Grasshopper es un lenguaje de programación visual que es similar en concepto a Dynamo (aunque existen algunas diferencias fundamentales).



C #: Autodesk #Revit proporciona una API enriquecida que puede usar para personalizar las características del producto existente o agregar otras completamente nuevas. Puede automatizar tareas repetitivas que consumen mucho tiempo y ampliar las funciones básicas sin salir del entorno de Autodesk Revit. El #API se puede usar para crear herramientas y características personalizadas que se conectan directamente a Autodesk Revit, ampliando su funcionalidad.



#RevitPythonShell: proporciona capacidades de secuencias de comandos para Autodesk Revit y el software Project Vasari. Los diseñadores tienen la capacidad de diseñar interactivamente y manipular elementos de Revit utilizando un algoritmo y una lógica computacional con código Python.


All Articles