Comment choisir le meilleur outil d'automatisation pour votre travail dans Revit. Concepteurs vs programmeurs

De nouveaux outils d'automatisation amènent la planification à un nouveau niveau de développement.

Quel outil nous fera gagner des milliers d'heures en automatisant les processus BIM dans Revit?


Pour le moment, nous avons 4 options pour automatiser le travail dans Autodesk Revit:



  • Dynamo (programmation graphique open source)
  • Rhino.Inside (beta, avec Grasshopper c'est comme Dynamo)
  • PythonShell ou pyRevit (Python avec Revit API)
  • C # (C # avec l'API Revit)

Sur le graphique, j'ai rassemblé mes réflexions sur ce sujet:



Ce diagramme peut vous aider à expliquer aux managers dans quels cas et ce qui doit être appliqué lors de la planification de l'automatisation, en tenant compte des paramètres vitesse de travail / taille de tâche / disponibilité de visualisation_ .

Chaque solution a ses propres outils.


Par exemple: si vous effectuez une sorte de script en utilisant uniquement les nœuds visuels dans Dynamo pour la première fois, la vitesse de votre script sera élevée. Mais dans le cas d'élargir les paramètres de la tâche et d'augmenter les conditions: la vitesse de votre script peut chuter fortement.

En remplaçant Dynamo par Python (vous pouvez également utiliser IronPython dans Dynamo), le script sera plus stable. Vous commencez à programmer le script lentement, mais dans ce cas, la croissance du script ne provoque plus de problèmes de vitesse ou de processus de développement (bien que parfois le script devienne si volumineux que vous ne pouvez plus travailler avec le code à l'aide de l'éditeur IronPython intégré standard).

Chaque solution a ses propres outils.




Lors du choix d'un outil, vous devez examiner les idées «Perspective» .

Si votre script est rapide et petit , la programmation visuelle est Dynamo ou Grasshopper.

Pour les tâches de taille moyenne, les outils Python conviennent mieux.

Si vous avez une tâche volumineuse avec beaucoup de données et de paramètres, il est préférable d'utiliser C # (la même tâche écrite dans Dynamo fonctionnera 10 fois plus lentement).

Concepteurs vs programmeurs


Les programmeurs BIM n'aiment pas les outils comme Dynamo ou Grasshopper car pour les programmeurs, les scripts dans Dynamo ressemblent à du "code spaghetti". Ces développeurs écrivent des outils "relativement propres" (en fait de qualité similaire à Dynamo) pour Revit - en C # (ou RevitPythonShell).

Le problème est que ces outils sont rédigés à la demande du service de planification. Ainsi, la forte motivation intrinsèque du concepteur se transforme en motivation extrinsèque artificielle pour le programmeur.



À la suite du travail difficile de transfert de la logique du concepteur dans le code du programmeur, un nouveau lien est créé dans le processus de planification, qui, à mon avis, peut être remplacé à l'avenir par des outils tels que #Dynamo ou #Grasshopper.



Pour les personnes qui conçoivent depuis des décennies, des outils comme Dynamo et Rhino. InSide est une bouffée d'air frais dans les travaux de planification monotones.

Que Dieu bénisse la communauté open source et les développeurs d'outils tels que Dynamo et Grasshoper, PythonShell, pyRevit, Rhino.




Je vous serais reconnaissant pour vos commentaires et nouveaux contacts.

Présentation de l'outil


#Dynamo est un outil de programmation visuel qui fonctionne avec Revit. Dynamo étend Revit en fournissant un accès à l'API Revit (Application Programming Interface) d'une manière plus accessible. Au lieu de saisir du code, dans Dynamo, vous créez des programmes en manipulant des éléments graphiques appelés «nœuds». Cette approche de programmation est mieux adaptée aux types à orientation visuelle tels que les architectes, les concepteurs et les ingénieurs.



# Rhino.Inside est un projet open source Rhino WIP qui permet à Rhino et Grasshopper de s'exécuter dans d'autres applications Windows 64 bits telles que Revit, AutoCAD, etc. Avec Rhino Inside Revit, vous obtenez également toutes les fonctionnalités de Rhino, y compris Grasshopper pour Revit. Grasshopper est un langage de programmation visuel dont le concept est similaire à Dynamo (bien qu'il existe quelques différences fondamentales).



C # - Autodesk #Revit fournit une API riche que vous pouvez utiliser pour personnaliser les fonctionnalités de produit existantes ou en ajouter de toutes nouvelles. Vous pouvez automatiser des tâches répétitives et chronophages et étendre les fonctions de base sans quitter l'environnement Autodesk Revit. #API peut être utilisé pour créer des outils et des fonctionnalités personnalisés qui se connectent directement à Autodesk Revit, élargissant ainsi ses fonctionnalités.



#RevitPythonShell - Fournit des capacités de script pour les logiciels Autodesk Revit et Project Vasari. Les concepteurs ont la possibilité de concevoir et de manipuler de manière interactive des éléments Revit à l'aide d'un algorithme et d'une logique de calcul avec du code Python.


All Articles