Voici la liste de certains des packages les plus populaires de la communauté Dynamo. Merci aux développeurs de compléter la liste. N'oubliez pas que Dynamo Primer est Open Source.
archi-lab est un ensemble de plus de 50 packages personnalisés qui étendent considérablement la capacité de Dynamo à interagir avec Revit. Les nœuds contenus dans le package archi-lab varient d'une liste d'opérations de base à des nœuds Analysis Visualization Framework avancés pour Revit. archi-lab est disponible dans le gestionnaire de packages.
BimorphNodes est un ensemble polyvalent de nœuds utilitaires puissants. Le package comprend notamment des nœuds d'intersection de géométrie et de détection des conflits très efficaces, des nœuds de conversion de courbes ImportInstance (CAO), et des collecteurs d'éléments liés qui résolvent les limitations dans l'API Revit. Pour en savoir plus sur la gamme complète des nœuds disponibles, consultez le dictionnaire BimorphNodes. BimorphNodes est disponible dans le gestionnaire de packages.
Bumblebee est un plug-in d'interopérabilité avec Excel et Dynamo qui améliore considérablement la capacité de Dynamo à lire et à écrire des fichiers Excel.
Clockwork est un ensemble de nœuds personnalisés dédiés à l'environnement de programmation visuelle Dynamo. Il contient un grand nombre de nœuds liés à Revit, mais également de nombreux nœuds permettant d'effectuer d'autres opérations, telles que la gestion des listes, les opérations mathématiques, les opérations de chaîne, les conversions d'unités, les opérations géométriques (principalement des zones de délimitation, des maillages, des plans, des points, des surfaces, des UV et des vecteurs) et la création de panneaux.
DataShapes est un package qui vise à étendre les fonctionnalités utilisateur des scripts Dynamo. Son objectif est d'ajouter des fonctionnalités supplémentaires au lecteur Dynamo. Pour en savoir plus, visitez le site https://data-shapes.net/. Vous souhaitez créer de fantastiques workflows de lecteur Dynamo ? Utilisez ce module.
DynamoSAP est une interface paramétrique pour SAP2000 reposant sur Dynamo. Le projet permet aux concepteurs et aux ingénieurs de créer et d'analyser de manière générative des systèmes de structures dans SAP, en utilisant Dynamo pour piloter le modèle SAP. Le projet prescrit quelques workflows courants, décrits dans les fichiers d'exemple inclus, et offre une large gamme d'opportunités d'automatisation des tâches types dans SAP.
Cette bibliothèque étend les fonctionnalités de Dynamo/Revit en permettant aux utilisateurs de déployer la géométrie de surface et de polysurface. La bibliothèque permet aux utilisateurs de convertir d'abord des surfaces en topologie de maillage par approximation planaire, puis de les déployer à l'aide des outils de protogéométrie dans Dynamo. Ce package inclut également des nœuds expérimentaux ainsi que quelques fichiers d'exemple de base.
Importez des motifs vectoriels à partir d'Illustrator ou du Web à l'aide du fichier .svg. Cela vous permet d'importer dans Dynamo des dessins créés manuellement pour des opérations paramétriques.
Energy Analysis for Dynamo permet de modéliser l'énergie paramétrique et d'effectuer des workflows d'analyse énergétique d'un bâtiment entier dans Dynamo 0.8. Energy Analysis for Dynamo permet à l'utilisateur de configurer le modèle énergétique dans Autodesk Revit, de le soumettre à Green Building Studio pour l'analyse d'énergie DOE2 et d'examiner les résultats renvoyés par l'analyse. Le module est développé par le studio CORE de Thornton Tomasetti.
Firefly est un ensemble de nœuds qui permettent à Dynamo de communiquer avec des périphériques d'entrée/de sortie, comme le micro contrôleur Arduino. Étant donné que le flux de données est "actif", Firefly ouvre de nombreuses opportunités de prototypage interactif entre les environnements numérique et physique, via des webcams, des téléphones mobiles, des contrôleurs de jeu, des capteurs, etc.
Genius Loci est un ensemble de nœuds pour Dynamo. Il se compose de nœuds utiles dont bénéficient les utilisateurs Revit. Installez le package pour explorer certaines des fonctionnalités, telles que l’interaction simplifiée avec les fichiers liés et les documents Revit.
Mantis Shrimp est un projet d'interopérabilité qui vous permet d'importer facilement la géométrie de Grasshopper ou Rhino dans Dynamo.
Le package Mesh Toolkit de Dynamo fournit un grand nombre d'outils utiles à la conception d'une géométrie de maillage. Les fonctionnalités de ce package permettent d'importer des maillages à partir de formats de fichiers externes, de générer des maillages à partir d'objets de géométrie Dynamo existants et de générer manuellement des maillages à l'aide de sommets et d'informations de connectivité. En outre, ce package comprend des outils permettant de modifier et de réparer la géométrie de maillage.
🧐 MONOCLE
Monocle est un outil d'agrandissement de l'affichage pour Dynamo 2.0.x. Il contient un ensemble d'outils utiles pour l'identification des packages, le nettoyage des graphiques, etc. Monocle vise à étendre les fonctionnalités de l'interface utilisateur Dynamo en toute transparence, comme si elles étaient intégrées à Dynamo. Monocle est disponible dans le gestionnaire de packages.
Optimo permet aux utilisateurs de Dynamo d'optimiser les problèmes de conception auto-définis en utilisant différents algorithmes évolutifs. Les utilisateurs peuvent définir l'objectif ou l'ensemble des objectifs du problème, ainsi que des fonctions de qualité spécifiques.
La bibliothèque de nœuds Rhynamo permet aux utilisateurs de lire et d'écrire des fichiers Rhino 3DM dans Dynamo. Rhynamo convertit la géométrie Rhino en géométrie Dynamo utilisable grâce à la bibliothèque OpenNURBS de McNeel, qui permet d'échanger facilement des géométries et des données entre Rhino et Revit. Ce package contient également des nœuds expérimentaux qui permettent un accès "en direct" à la ligne de commande Rhino.
Rhythm est un ensemble de nœuds utiles pour aider votre projet Revit à conserver un bon rythme avec Dynamo. En résumé, il s'agit d'un outil très efficace. Rhythm est open source et principalement intégré à C#. Il ajoute des nœuds Revit, des nœuds de base et un outil d'agrandissement de l'affichage à votre Dynamo. Rhythm est disponible dans le gestionnaire de packages.
Les nœuds Spring visent principalement à améliorer l'interaction de Dynamo avec Revit. L’objectif global est d’explorer tous les moyens permettant d’accélérer les workflows basés sur le BIM. Un grand nombre de nœuds utilisent IronPython ou DesignScript et servent de point de départ pour apprendre la syntaxe spécifique et les subtilités de ces deux outils. Les nœuds Spring sont disponibles sur le gestionnaire de packages.
L’activité de conception implique souvent l’établissement de relations visuelles, systémiques ou géométriques entre les différentes parties d’une conception. La plupart du temps, ces relations sont développées par des workflows qui permettent de passer du concept au résultat grâce à des règles. Sans le savoir, vous travaillez par le biais d'algorithmes, c'est-à-dire en définissant un ensemble d'actions progressives qui suivent une logique de base d'entrée, de traitement et de sortie. La programmation permet de travailler de cette façon, mais tout en appliquant des algorithmes.
Même s’il offre de puissantes opportunités, le terme algorithme peut véhiculer quelques idées fausses. Les algorithmes peuvent générer des éléments inattendus, imprévisibles ou sympas, mais ils ne sont pas magiques. Ils sont en réalité assez simples, tels qu'ils sont. Prenez un exemple concret comme une grue en origami. Tout d’abord, prenez une feuille de papier carrée (entrée), puis suivez une série d’étapes de pliage (actions de traitement) afin d’obtenir une grue (sortie).
Où est l’algorithme ? Il s’agit de l’ensemble d’étapes abstrait qu’il est possible de représenter de deux façons : textuellement ou graphiquement.
Instructions textuelles :
Tout d’abord, prenez une feuille de papier carrée, la partie colorée vers le haut. Pliez la feuille en deux et ouvrez-la. Ensuite, pliez la feuille en deux de l'autre côté.
Retournez la feuille, côté blanc vers le haut. Pliez la feuille en deux, marquez bien le pli et ouvrez la feuille, puis repliez-la dans l'autre sens.
En utilisant les plis que vous avez faits, placez les 3 coins supérieurs du modèle vers le bas. Aplanissez le modèle.
Pliez les rabats triangulaires supérieurs au centre, puis dépliez-lez.
Pliez la partie supérieure du modèle vers le bas, marquez bien le pli et dépliez.
Ouvrez le rabat supérieur du modèle en le ramenant vers le haut et en appuyant simultanément sur les côtés du modèle vers l'intérieur. Aplanissez et marquez bien le pli.
Retournez le modèle et répétez les étapes 4 à 6 de l'autre côté.
Pliez les rabats supérieurs vers le centre.
Répétez l'opération de l'autre côté.
Pliez les deux "jambes" du modèle vers le haut, marquez bien les plis, puis dépliez.
Ramenez les "jambes" vers l'intérieur le long des plis que vous venez de faire.
Ramenez les pointes à l'intérieur afin de créer une tête, puis pliez les ailes.
Vous obtenez une grue.
Instructions graphiques :
Ces séries d’instructions permettent toutes les deux de créer une grue, et si vous avez correctement suivi les étapes, vous avez appliqué un algorithme. La seule différence est la façon dont vous lisez l’application de cet ensemble d’instructions qui conduit à la programmation. La programmation, terme couramment employé pour la programmation informatique, consiste à formaliser le traitement d’une série d’actions dans un programme exécutable. Si vous écrivez les instructions susmentionnées (permettant de créer une grue) dans un format que votre ordinateur peut lire et exécuter, vous faites de la programmation.
La clé, mais aussi le premier obstacle de la programmation, est de s'appuyer sur une forme abstraite afin de communiquer efficacement avec son ordinateur. Cela prend la forme de n'importe quel langage de programmation, tel que JavaScript, Python ou C. Si vous pouvez écrire un ensemble d'instructions reproductibles, comme pour la grue en origami, vous n'avez besoin de le traduire que pour l'ordinateur. Vous êtes en passe de configurer l'ordinateur pour que ce dernier puisse créer une grue ou même une multitude de grues différentes où chacune varie légèrement. C’est la puissance de la programmation : l’ordinateur exécute plusieurs fois les tâches, ou ensembles de tâches, que vous lui affectez, sans délai ni erreur humaine.
Programmation visuelle définie
Téléchargez le fichier d’exemple en cliquant sur le lien ci-dessous.
Vous trouverez la liste complète des fichiers d'exemple dans l'annexe.
Si vous étiez chargé d'écrire des instructions de pliage afin de créer une grue en origami, comment procéderiez-vous ? Voulez-vous les créer sous forme de graphiques, de texte ou une combinaison des deux ?
Si votre réponse contenait des graphiques, alors la programmation visuelle est certainement pour vous. Le processus est pratiquement le même pour la programmation que pour la programmation visuelle. Elles utilisent le même cadre d'application ; cependant, vous définissez les instructions et les relations de votre programme par le biais d'une interface utilisateur graphique (ou "visuelle"). Au lieu de taper du texte lié par syntaxe, vous connectez des nœuds pré-intégrés ensemble. Voici une comparaison de l’algorithme « dessiner un cercle par point » programmé avec des nœuds ou du code :
Programme visuel :
Programme textuel :
Résultats de l’algorithme :
La caractéristique visuelle de la programmation permet de réduire les obstacles à l’entrée et de communiquer fréquemment avec les concepteurs. Dynamo est intégré dans le paradigme de la programmation visuelle, mais vous verrez plus tard qu'il est également possible d'utiliser la programmation textuelle dans l'application.
Dans cette section, vous trouverez des ressources supplémentaires pour repousser les limites de Dynamo. Nous avons également ajouté un index de nœuds importants, un ensemble de packages utiles et un référentiel des fichiers d’exemple de ce guide. N’hésitez pas à ajouter des informations dans cette section. N’oubliez pas que est open source.
ARCHI-LAB
BIMORPH NODES
BUMBLEBEE FOR DYNAMO
CLOCKWORK FOR DYNAMO
DATA|SHAPES
DYNAMO SAP
DYNAMO UNFOLD
DYNASTRATOR
ENERGY ANALYSIS FOR DYNAMO
FIREFLY FOR DYNAMO
GENIUS LOCI
MANTIS SHRIMP
MESH TOOLKIT
OPTIMO
RHYNAMO
RHYTHM
Nœuds Spring
« Ce wiki est destiné à vous familiariser avec le développement à l’aide de l’API Dynamo, qui prend en charge les bibliothèques et les outils. »
https://github.com/DynamoDS/Dynamo/wiki
Ce blog est la collection la plus récente d’articles de l’équipe Dynamo, qui traite des nouvelles fonctionnalités, des workflows et de tous les éléments de Dynamo.
Les langages de programmation sont créés pour exprimer des idées en utilisant généralement la logique et le calcul. Outre ces objectifs, le langage textuel Dynamo (anciennement DesignScript) a été créé pour exprimer des intentions de conception. Il est généralement admis que la conception informatique est exploratoire et Dynamo tente de soutenir cela : nous espérons que vous trouverez le langage flexible et assez rapide pour passer du concept à la conception, en passant par les itérations de conception, jusqu'à votre forme finale. Ce manuel est structuré de manière à permettre à un utilisateur qui ne connaît pas la programmation ou la géométrie architecturale de découvrir une variété de sujets dans ces deux disciplines croisées.
http://dynamobim.org/wp-content/links/DesignScriptGuide.pdf
Dynamo Primer est un projet open source, initié par Matt Jezyk et l’équipe de développement Dynamo chez Autodesk. Sa première version a été développée par Mode Lab. Pour contribuer, créez un fork du référentiel, ajoutez du contenu et soumettez une demande de tirage.
https://github.com/DynamoDS/DynamoPrimer
Cette page décrit le processus de développement d’un nœud Dynamo personnalisé en C# à l’aide de l’interface « Zero Touch ». Dans la plupart des cas, les classes et les méthodes statiques C# peuvent être importées sans modification. Si votre bibliothèque doit simplement appeler des fonctions et non construire de nouveaux objets, cela peut être facilement réalisé à l'aide de méthodes statiques. Lorsque Dynamo charge votre DLL, il supprime l’espace de noms de vos classes et expose toutes les méthodes statiques en tant que nœuds.
https://github.com/DynamoDS/Dynamo/wiki/Zero-Touch-Plugin-Development
Python est un langage de programmation interprété, interactif et orienté objet. Il intègre des modules, des exceptions, de la saisie dynamique, des types de données dynamiques de très haut niveau et des classes. Python combine une puissance remarquable avec une syntaxe très claire. Il possède des interfaces avec un grand nombre de bibliothèques et d'appels système, ainsi qu'avec divers systèmes de fenêtres, et est extensible en C ou en C++. Il est également utilisable comme langage d'extension pour les applications qui ont besoin d'une interface programmable. Enfin, Python intègre la portabilité : il s'exécute sur de nombreuses variantes Unix, sur Mac, et sur Windows 2000 et versions ultérieures. Le manuel du débutant Python donne des liens vers d’autres didacticiels et ressources d’introduction pour l’apprentissage de Python.
https://www.python.org/about/gettingstarted
AForge.NET est une structure C# open source conçue pour les développeurs et les chercheurs dans les domaines de la vision par ordinateur et de l’intelligence artificielle : traitement des images, réseaux neuronaux, algorithmes génétiques, logique approximative, techniques d’apprentissage automatique, robotique, etc.
http://www.aforgenet.com/framework/
MathWorld est une ressource mathématique en ligne, assemblée par Eric W. Weisstein avec l’aide de milliers de contributeurs. Depuis que son contenu est apparu en ligne pour la première fois en 1995, MathWorld est devenu un nexus d'informations mathématiques pour les communautés mathématiques et éducatives. Ses entrées sont largement référencées dans les journaux et les livres couvrant tous les niveaux d’enseignement.
« Ces publications portent principalement sur la plate-forme Revit, avec des recommandations sur la manière de l’utiliser. »
« Ce carnet tente de remédier à quelques lacunes en matière de ressources dans l’apprentissage et l’application de l’API Revit dans le contexte d’un workflow de conception »
http://wiki.theprovingground.org/revit-api
« RevitPythonShell ajoute un interpréteur IronPython à Autodesk Revit et Vasari. » Ce projet est antérieur à Dynamo et constitue une référence intéressante pour le développement de Python. Projet RPS :
https://github.com/architecture-building-systems/revitpythonshell
Blog du développeur :
http://darenatwork.blogspot.com/
Un catalogue complet de workflows d’API Revit, par l’un des experts les plus performants du BIM.