Table of Contents
Comprendre la dynamique pour Revit
Les processus de modélisation de l'information sur le bâtiment (MFI) dans Revit impliquent souvent des tâches manuelles répétitives qui ralentissent la réalisation des projets et augmentent le risque d'erreur humaine. Les architectes, les ingénieurs et les gestionnaires de MFI se retrouvent souvent à placer d'innombrables éléments, à mettre à jour les paramètres dans des centaines de familles ou à exporter des données pour les rendre compte.
Enter Dynamo, un environnement de programmation visuelle qui intègre directement avec Revit pour automatiser ces processus fastidieux. Dynamo permet aux utilisateurs de créer des scripts, appelés -graphs, en utilisant une interface basée sur des nœuds. Au lieu d'écrire du code à partir de zéro, vous faites glisser, déposez et connectez des nœuds qui représentent des éléments de Revit, des opérations géométriques, une logique mathématique ou des flux de données.
Qu'est-ce que Dynamo ?
Dynamo est une plateforme de programmation visuelle ouverte développée par Autodesk. Elle fonctionne comme un complément pour Revit (et d'autres outils Autodesk) et fournit son propre environnement d'exécution. Un graphique Dynamo est essentiellement un ensemble de nœuds câblés pour définir une séquence d'opérations. Chaque noeud reçoit des entrées, les traite et produit des résultats. Le graphique s'exécute de gauche à droite, et les résultats peuvent être repoussés dans le modèle Revit, par exemple, créer des murs, modifier des paramètres familiaux ou extraire des données d'éléments vers un tableur.
La plateforme prend en charge un vaste écosystème de paquets communautaires qui élargissent ses capacités. Ces paquets contiennent des nœuds prêts à l'emploi pour des tâches telles que la manipulation de listes avancées, des algorithmes d'optimisation ou l'intégration avec Excel et d'autres outils externes. Dynamo inclut également un nœud de script Python, vous donnant un accès complet à l'API Revit lorsque vous avez besoin de logique au-delà des blocs de construction visuelle.
Comment Dynamo s'intègre avec Revit
Dynamo fonctionne dans le même processus que Revit, ce qui signifie qu'il peut lire et modifier directement le document Revit actif. Lorsque vous ouvrez Dynamo à partir de l'onglet --Manage ou --Add-ins--, une fenêtre séparée apparaît au-dessus de l'interface Revit. Le graphique que vous construisez peut renvoyer n'importe quel élément du modèle courant par catégorie, famille, type ou paramètre. Vous pouvez également utiliser des nœuds de sélection pour sélectionner manuellement des éléments dans la vue Revit.
Cette intégration étroite signifie que tout changement apporté par Dynamo est immédiatement reflété dans le modèle Revit, comme si vous aviez fait le changement manuellement. Vous pouvez créer, supprimer ou modifier des éléments, définir des valeurs de paramètres et régénérer des vues. La même coordination et les mêmes avertissements qui s'appliquent aux modifications manuelles s'appliquent également aux modifications générées par Dynamo, de sorte que votre intégrité du modèle reste intacte.
Le paradigme de programmation visuelle
La programmation visuelle avec Dynamo diffère de la scriptage traditionnel. Au lieu d'écrire des lignes de code, vous construisez un diagramme de flux d'opérations. Chaque noeud a un nom (par exemple, -Wall.ByLocationAndHeight) et clairement étiqueté ports d'entrée et ports de sortie. Vous connectez des fils entre ports pour passer des données. Par exemple, vous pouvez alimenter une liste de courbes d'emplacement dans un noeud qui crée des murs, puis connecter la sortie à un autre noeud qui assigne un type mur.
Cette approche visuelle permet de comprendre facilement la logique en un coup d'oeil. Elle encourage également l'expérimentation : vous pouvez rapidement changer un nœud d'entrée ou échanger un noeud contre un autre sans réécrire le code. Pour la collaboration d'équipe, les graphiques peuvent être partagés comme des fichiers .dyn et réutilisés dans tous les projets.
Principaux avantages de Dynamo Automation
Adopter Dynamo pour l'automatisation Revit apporte des améliorations mesurables sur plusieurs dimensions. Ci-dessous sont les principaux avantages avec des exemples concrets.
- Épargnes de temps dramatiques:[ Les tâches qui nécessitent des heures lorsqu'elles sont faites manuellement peuvent être terminées en quelques secondes avec un graphique bien écrit. Par exemple, placer 500 dalles de plancher uniques avec des décalages et des paramètres variables peut prendre une journée manuellement; un graphique Dynamo peut finir en moins d'une minute.
- Constance inébranlable:[ Les processus manuels sont sujets à la surveillance – un élément ici avec un mauvais paramètre, un mur là non aligné sur la grille. Dynamo applique les mêmes règles à chaque fois, éliminant la variabilité.C'est essentiel pour le contrôle de la qualité dans les grands projets où plusieurs membres de l'équipe contribuent au même modèle.
- Géométrie complexe rendue facile:[ Certaines explorations de conception – comme les façades paramétriques, les formes de toit organiques ou les modèles de planchers à données – sont peu pratiques pour modéliser à la main. Les nœuds géométriques Dynamo=s combinés avec des outils robustes Revit=s vous permettent de générer des formes complexes algorithmiquement.
- La gestion des données streamlined: L'extraction d'informations d'un modèle Revit pour la déclaration, l'estimation des coûts ou la coordination est souvent fastidieuse. Avec Dynamo, vous pouvez exporter des horaires, des propriétés des éléments et des valeurs de paramètres directement vers des fichiers Excel ou CSV. Inversement, vous pouvez lire des données provenant de sources externes (p. ex., un tableur des exigences du programme de salle) et l'utiliser pour mettre le modèle à jour automatiquement.
- Repérabilité et réutilisabilité:[ Une fois que vous créez un graphique, vous pouvez le réutiliser sur n'importe quel projet avec une modification minimale.De nombreuses entreprises construisent des bibliothèques de graphiques standard pour des tâches communes, comme la mise en place de modèles de vue, la création de feuilles ou le nettoyage des fichiers CAO importés.
Commencer avec votre premier script
Pour commencer à automatiser les tâches dans Revit avec Dynamo, suivez les étapes ci-dessous. Le processus est le même que vous utilisiez Revit 2021 ou la dernière version.
Installation et configuration
Les versions récentes de Revit (2019 et suivantes) incluent Dynamo pour Revit en tant qu'add-in intégré. Vous pouvez le lancer directement depuis l'onglet -Manage , sous -Programme visuel > -Dynamo.- Si vous utilisez une version plus ancienne ou avez besoin de la dernière version de Dynamo, téléchargez l'installateur depuis le site officiel de Dynamo .- L'installateur est également livré avec le Dynamo Player, qui vous permet d'exécuter des graphiques sans ouvrir l'éditeur, grand pour les utilisateurs finaux qui ont juste besoin d'exécuter un script.
Navigation de l'interface Dynamo
Lorsque vous ouvrez Dynamo, vous voyez une toile espace de travail, un panneau de bibliothèque sur la gauche, et une barre d'outils en haut. Le panneau de bibliothèque classe tous les nœuds disponibles par bibliothèque (par exemple, -Geometry, -Revit, -Data, -Display). Vous pouvez rechercher des nœuds par nom. La barre d'outils comprend des boutons pour exécuter le graphique (automatique ou manuel), enregistrer et accéder au gestionnaire de paquets.
La toile est l'endroit où vous construisez votre graphique. Faites un clic droit sur la toile pour ajouter rapidement des nœuds, créer des blocs de code (pour les expressions Python ou DesignScript courtes) ou gérer des groupes. Une pratique efficace est de regrouper des parties liées de votre graphique avec un text superlay (un -group) pour documenter son but.
Construire un graphique simple
Un premier script classique : placer les niveaux sélectionnés avec des dalles de plancher.
- Ajouter un noeud --Catégories-- et sélectionner --Floors-- et -Levels-- à partir du menu déroulant.
- Utilisez - - Tous les éléments de la catégorie - pour obtenir tous les éléments de niveau dans le modèle.
- Extraire l'élévation de chaque niveau avec -Level.GetElevation.-
- Créez une courbe rectangle à chaque niveau en utilisant -Rectangle.ByWidthLength.-Raccordez l'altitude pour régler la hauteur du plan.
- Utilisez -OutlineTypeEtLevel pour créer une dalle de plancher pour chaque niveau. Fournissez un type de plancher (par exemple, -Generic 12-) en le sélectionnant à partir d'un noeud -Outline Types-Floor.
- Dynamo placera un plancher à tous les niveaux du modèle.
Ce graphique simple introduit le flux de données de base: obtenir des éléments → extraire des propriétés → créer la géométrie → repousser les résultats à Revit.
Essais et débogage
Avant d'appliquer un graphique à un projet en direct, testez-le sur une copie du modèle ou un petit échantillon. Dynamo fournit plusieurs aides de débogage : les nœuds de montre montrent les données passant par un fil ; les nœuds de gel suspendent temporairement l'exécution ; et les nœuds de contrôle -Is-I. Utilisez les fenêtres de prévisualisation -Watch 3D-I pour vérifier la géométrie avant qu'elle ne soit créée dans Revit.
Techniques d'automatisation avancées
Une fois que vous êtes à l'aise avec les graphiques de base, vous pouvez débloquer l'automatisation plus puissante en intégrant scripting, paquets tiers, et appels d'API directs.
Utilisation des nœuds Python Script
Dynamo comprend un noeud --Python Script-- qui vous permet d'écrire un code Python avec un accès complet à l'API Revit. Ceci est utile pour la logique qui serait encombrante ou impossible avec des nœuds visuels seuls – comme les ramifications conditionnelles complexes, les boucles sur les listes d'éléments avec des opérations personnalisées, ou les calculs à forte intensité de mémoire. L'environnement Python dans Dynamo comprend les bibliothèques standard (p. ex., maths, Json) et les importations RevitAPI et RevitAPUI. Vous pouvez également importer des modules personnalisés à partir de paquets Python si vous configurez l'environnement.
Par exemple, pour mettre à jour le paramètre -Update sur toutes les portes avec une condition spécifique, quelques lignes de Python dans un nœud de script peuvent être plus maintenables qu'un enchevêtrement de List.Filter et Code Block nœuds.
Tirer parti du gestionnaire de paquets Dynamo
Le Dynamo Package Manager héberge des centaines de paquets développés par la communauté qui prolongent les capacités de Dynamo. Les paquets populaires incluent:
- Clockwork:[ Fournit des nœuds supplémentaires pour les opérations de liste, la gestion des éléments Revit et la création de géométrie.
- DataShapes:[ Permet des formulaires avancés axés sur les données et l'interface utilisateur.
- Optimo: Pour l'optimisation évolutive et la recherche de la forme.
- Rhythme: Automates Revit vue et gestion des feuilles.
Pour installer un paquet, allez dans la barre d'outils Dynamo et sélectionnez -Packages -gt; -Rechercher un paquet.- Tapez le nom (par exemple -Clockwork), cliquez sur install et redémarrez Dynamo. Les nœuds de paquet apparaîtront dans la bibliothèque sous leur propre catégorie.
Travailler avec l'API Revit via Dynamo
Dynamo expose une grande partie de l'API Revit, mais toutes les méthodes ne sont pas disponibles en tant que nœud visuel. Les nœuds de script Python vous donnent un accès complet à l'API. Vous pouvez utiliser des transactions pour créer, supprimer ou modifier des éléments; vous abonner à des événements de l'interface utilisateur; ou même exécuter des processus externes. Par exemple, vous pouvez utiliser l'API Revit pour reproduire des vues avec des paramètres spécifiques, exporter des fichiers DWG en utilisant des options d'exportation personnalisées ou analyser des intersections d'éléments.
Un script Python typique dans Dynamo commence par obtenir la référence de document Revit:
Vous pouvez ensuite utiliser les méthodes standard d'API dans le cadre de transaction Dynamo , en enveloppant votre code dans une transaction. La sortie du noeud Python est renvoyée en tant qu'objet Dynamo.
Cas courants d'utilisation d'automatisation
Les exemples suivants montrent ce que Dynamo peut faire dans le travail quotidien de Revit.
Placement automatique au sol et au mur
Use cas vrac créer des chambres et des planchers: À partir d'un tableur Excel énumérant les noms, zones et niveaux de la salle, Dynamo peut lire les données, créer des chambres dans le modèle, et assigner des finitions de plancher à chaque pièce en fonction du type d'utilisation. De même, vous pouvez générer des murs le long de lignes de référence à des offsets spécifiés, en attribuant automatiquement le type de mur correct par zone.
Mises à jour des paramètres de lot
Un scénario commun: Un fabricant publie une nouvelle ligne de produits, et les familles Revit correspondantes ont besoin de leur numéro de modèle -, ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Extraction de données vers Excel
Pour rapporter et estimer les coûts, extraire les données des éléments – des plans de portes avec dimensions, matériaux, cotes d'incendie et jeux de matériel – vers Excel. Dynamo -Data.ExportCSV-Data ou les nœuds de paquets Excel peuvent écrire dans un tableur formaté. Vous pouvez également extraire les données d'Excel dans Dynamo pour piloter la géométrie, créant des éléments de visualisation des données comme des diagrammes de bulles ou des plans de plancher colorés basés sur les mesures de la pièce.
Nettoyage et vérification des modèles
Les modèles de grande taille Revit accumulent souvent des couches, des groupes ou des éléments non utilisés. Dynamo peut analyser le modèle pour déterminer les conditions telles que les murs recoupants, les éléments sans classification ou les groupes non purifiés. Il peut alors les supprimer ou les indiquer avec un paramètre partagé. Ceci est particulièrement utile pour la conformité BIM avant de soumettre un modèle à un client ou un modèle fédéré.
Meilleures pratiques pour les scénarios de production
Pour s'assurer que vos graphiques Dynamo sont fiables, durables et performants, suivez ces lignes directrices.
Contrôle et documentation des versions
Traiter les fichiers .dyn comme code : les stocker dans un système de contrôle de version (p. ex. Git) pour suivre les changements et collaborer. Utilisez les noms de groupes descriptifs et les annotations sur la toile pour expliquer le but et les entrées des graphes.
Gestion des erreurs
Les hypothèses codées en dur (p. ex., s'attendre à ce qu'un élément spécifique existe) peuvent faire échouer un graphique. Utilisez des nœuds comme -Object.IsNull et -List.FilterByBoolMask. Pour gérer les données manquantes gracieusement. Pour les scripts Python, enveloppez les sections critiques dans les blocs d'essai et retournez les messages d'erreur en sortie.
Optimisation des performances
Par exemple, évitez d'utiliser -All Elements of Category , dans une boucle si vous n'avez besoin que d'un sous-ensemble. Au lieu de cela, collectez tous les éléments une fois puis filtrez. Utilisez -List.Map. et -List.Combinez - au lieu de boucles imbriquées. Pour les listes de milliers d'éléments, envisagez d'utiliser Python pour combiner des opérations en une seule transaction plutôt que de nombreuses petites transactions.
Conclusion
Automatiser les tâches Revit avec Dynamo n'est pas seulement un hack de productivité, c'est un changement fondamental dans la façon dont les professionnels de BIM abordent leur travail. En remplaçant les processus manuels, les processus de détection d'erreurs par des workflows répétables et scriptés, vous libèrez l'énergie mentale pour l'innovation de conception et la coordination des projets.
Commencez petit. Choisissez une tâche répétitive que vous faites fréquemment – peut-être placer des grilles ou exporter des horaires – et construisez un graphique qui l'automatise. À mesure que votre confiance grandit, explorez le gestionnaire de paquets, plongez dans Python, et partagez vos graphiques avec votre équipe. La communauté autour de Dynamo est dynamique et utile; des ressources comme Dynamo Primer et Dynamo Forum sont d'excellents endroits pour apprendre et obtenir du soutien.
L'automatisation BIM n'est plus facultative dans une industrie compétitive. Dynamo vous offre les outils pour travailler plus intelligemment, pas plus dur, et fournir des modèles de qualité supérieure en moins de temps.