Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Dynamo pour Revit étend la modélisation des données du bâtiment à l’environnement de données et de logique d’un éditeur d’algorithmes graphiques. Sa flexibilité, associée à une base de données Revit robuste, offre une nouvelle perspective pour le BIM.
Ce chapitre se concentre sur les workflows Dynamo pour le BIM. Les coupes sont principalement basées sur des exercices, car le passage immédiat à un projet est le meilleur moyen de se familiariser avec un éditeur d'algorithmes graphiques pour le BIM. Mais d'abord, voici les débuts du programme.
Comme Revit et Dynamo évoluent encore, il se peut que vous constatiez que la version de Revit sur laquelle vous travaillez n'est pas compatible avec la version de Dynamo pour Revit que vous avez installée sur votre ordinateur. Les versions de Dynamo pour Revit compatibles avec Revit sont répertoriées ci-dessous.
Avec une équipe de développeurs dédiée et une communauté passionnée, le projet est loin de ses débuts timides.
Dynamo a été créé à l'origine pour rationaliser les workflows AEC dans Revit. Bien que Revit crée une base de données solide pour chaque projet, il peut être difficile pour un utilisateur lambda d'accéder à ces informations en dehors des contraintes de l'interface. Revit héberge une API (Application Program Interface) complète, permettant aux développeurs tiers de créer des outils personnalisés. Les programmeurs utilisent cette API depuis des années, mais les scripts basés sur du texte ne sont pas accessibles à tous. Dynamo vise à démocratiser les données Revit via un éditeur d'algorithmes graphiques abordable.
En utilisant les principaux nœuds Dynamo conjointement avec des nœuds Revit personnalisés, un utilisateur peut considérablement étendre les workflows paramétriques pour l'interopérabilité, la documentation, l'analyse et la génération. Avec Dynamo, les workflows fastidieux peuvent être automatisés tandis que les explorations de conception peuvent se développer.
Dans un projet Revit ou un éditeur de familles, accédez à Compléments et cliquez sur Dynamo.*
*Dynamo s’exécute uniquement dans le fichier dans lequel il a été ouvert.
Lors de l’ouverture de Dynamo dans Revit, une nouvelle catégorie appelée Revit apparaît. Il s’agit d’un ajout complet à l’interface utilisateur qui offre des nœuds spécifiquement conçus pour les workflows Revit.*
*En utilisant la famille de nœuds propre à Revit, le graphique Dynamo fonctionne uniquement lorsqu’il est ouvert dans Dynamo pour Revit. Si un graphique Dynamo pour Revit est ouvert dans Dynamo Sandbox par exemple, les nœuds Revit sont manquants.
Revit étant une plate-forme qui fournit une gestion de projet robuste, les opérations paramétriques dans Dynamo peuvent être complexes et lentes à calculer. Si Dynamo prend du temps pour calculer des nœuds, vous pouvez utiliser la fonctionnalité de nœud « geler » pour interrompre l’exécution des opérations Revit lorsque vous développez votre graphique.
Pour en savoir plus sur le gel des nœuds, consultez la section Nœuds et fils.
Depuis que Dynamo a été créé pour le secteur AEC, sa vaste communauté dynamique est une excellente ressource pour apprendre et créer des liens avec des experts du secteur. La communauté de Dynamo est constituée d'architectes, d'ingénieurs, de programmeurs et de concepteurs dont la passion commune est de partager ce qu'ils font.
Dynamo est un projet open source en constante évolution et un grand nombre de développements sont liés à Revit. Si vous êtes nouveau, rendez-vous sur le forum de discussion et posez des questions. Si vous êtes programmeur et que vous souhaitez vous impliquer dans le développement de Dynamo, consultez le dépôt de github. En outre, le gestionnaire de packages Dynamo constitue une ressource très utile pour les bibliothèques tierces. Beaucoup de ces packages sont conçus pour le secteur AEC. Dans ce chapitre, vous étudierez les packages tiers pour la panélisation.
Dynamo maintient également un blog actif. Lisez les articles récents pour en savoir plus sur les derniers développements.
Version de Revit | Première version stable de Dynamo | Dernière version de Dynamo pour Revit prise en charge |
---|---|---|
2013
2014
2015
2016
2017
2018
2019
2020+
2.1.0 - Revit 2020+ inclut désormais Dynamo et reçoit les mises à jour comme Revit.
N/A
Dynamo est un environnement flexible, conçu pour s'intégrer à un large éventail de programmes, mais il a été créé pour être utilisé avec Revit. Un programme visuel crée des options robustes pour la modélisation des informations du bâtiment (BIM). Dynamo offre une suite complète de nœuds spécifiquement conçus pour Revit, ainsi que des bibliothèques tierces issues d'une communauté AEC dynamique. Ce chapitre porte sur les notions de base de l’utilisation de Dynamo dans Revit.
Une puissante fonction de Dynamo est la possibilité de modifier les paramètres d'un niveau paramétrique. Par exemple, un algorithme génératif ou les résultats d'une simulation peuvent être utilisés pour piloter les paramètres d'un réseau d'éléments. Ainsi, un jeu d'occurrences de la même famille peut posséder des propriétés personnalisées dans votre projet Revit.
Les paramètres d'occurence définissent l'ouverture des panneaux sur la surface du toit, allant d'un rapport d'ouverture de 0,1 à 0,4.
Les paramètres basés sur le type sont appliqués à chaque élément de la surface, car ils appartiennent au même type de famille. Le matériau de chaque panneau, par exemple, peut être piloté par un paramètre basé sur le type.
Si vous avez déjà configuré une famille Revit, n'oubliez pas d'affecter un type de paramètre (chaîne, nombre, cote, etc.) Veillez à utiliser le type de données correct lors de l'affectation de paramètres à partir de Dynamo.
Vous pouvez également utiliser Dynamo en combinaison avec les contraintes paramétriques définies dans les propriétés d'une famille Revit.
Pour rappel, Revit comprend des paramètres de type et des paramètres d'occurrence. Les deux peuvent être modifiés à partir de Dynamo, mais vous allez utiliser les paramètres d'occurrence dans l'exercice ci-dessous.
Lorsque vous découvrez l'application complète de paramètres de modification, vous pouvez modifier un grand nombre d'éléments dans Revit avec Dynamo. Il peut s'agir d'une opération coûteuse en ressources informatiques , ce qui signifie qu'elle peut être lente. Si vous modifiez un grand nombre d'éléments, vous pouvez utiliser la fonctionnalité de nœud "Geler" pour interrompre l'exécution des opérations Revit lorsque vous développez votre graphique. Pour plus d’informations sur le gel des nœuds, consultez la section « Gel » du chapitre Solides.
À partir de la version 0.8, Dynamo est fondamentalement sans unité. Dynamo reste ainsi un environnement de programmation visuel abstrait. Les nœuds Dynamo qui interagissent avec les cotes Revit font référence aux unités du projet Revit. Par exemple, si vous définissez un paramètre de longueur dans Revit à partir de Dynamo, le numéro de la valeur dans Dynamo correspondra aux unités par défaut dans le projet Revit. L'exercice ci-dessous utilise les mètres.
Pour une conversion rapide des unités, utilisez le nœud "Convert Between Units". Cet outil est pratique pour convertir des unités de longueur, de surface et de volume à la volée.
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.
L'exercice ci-dessous utilise les mètres.
Cet exercice est consacré à la modification d'éléments Revit sans effectuer d'opération géométrique dans Dynamo. Vous n'importez pas la géométrie Dynamo ici, mais modifiez simplement les paramètres dans un projet Revit. Il s'agit d'un exercice de base et pour les utilisateurs de Revit les plus avancés, notez qu'il s'agit de paramètres d'occurrence d'un volume, mais la même logique peut être appliquée à un réseau d'éléments à personnaliser à grande échelle. Cette opération est effectuée à l'aide du nœud "Element.SetParameterByName".
Commencez par utiliser l'exemple de fichier Revit pour cette section. Les éléments structurels et les fermes adaptatives de la section précédente ont été supprimés. Dans cet exercice, vous allez travailler sur une ossature paramétrique dans Revit et la manipuler dans Dynamo.
Lorsque vous sélectionnez le bâtiment dans Volume dans Revit, un réseau de paramètres d’occurrence s’affiche dans le groupe de fonctions Propriétés.
Dans Dynamo, vous pouvez récupérer les paramètres en sélectionnant l’élément de ciblage.
Sélectionnez le volume du bâtiment à l’aide du nœud « Select Model Element ».
Vous pouvez rechercher tous les paramètres de ce volume à l'aide du nœud "Element.Parameters". Cela inclut les paramètres de type et d’occurrence.
Faites référence au nœud Element. Parameters pour trouver les paramètres cibles. Vous pouvez également afficher le groupe de fonctions Propriétés de l'étape précédente pour choisir les noms de paramètres à modifier. Dans ce cas, vous recherchez les paramètres qui ont une incidence sur les grands déplacements géométriques sur le volume du bâtiment.
Modifiez l'élément Revit à l'aide du nœud Element.SetParameterByName.
Utilisez le nœud Code Block pour définir une liste de paramètres, avec des guillemets autour de chaque élément pour indiquer une chaîne. Vous pouvez aussi utiliser le nœud List.Create avec une série de nœuds "String" connectés à plusieurs entrées, mais le nœud Code Block est plus rapide et plus simple. Assurez-vous que la chaîne correspond au nom exact dans Revit, en respectant la casse :
{"BldgWidth","BldgLength","BldgHeight", "AtriumOffset", "InsideOffset","LiftUp"};
Vous devez également désigner des valeurs pour chaque paramètre. Ajoutez six "curseurs d'entier" à la zone de dessin et renommez-les en fonction du paramètre correspondant dans la liste. Définissez également les valeurs de chaque curseur tel qu'illustré ci-dessus. Dans l'ordre de haut en bas : 62,92,25,22,8,12
Définissez un autre bloc de code avec une liste de la même longueur que les noms des paramètres. Dans ce cas, nommez les variables (sans guillemets) qui créent des entrées pour le bloc de code. Connectez les curseurs à chaque entrée respective :
{bw,bl,bh,ao,io,lu};
Connectez le nœud Code Block à la valeur d'entrée "Element.SetParameterByName". Lorsque l'option Exécuter automatiquement est activée, les résultats sont automatiquement affichés.
* Cette démonstration fonctionne avec les paramètres d'occurrence, mais pas avec les paramètres de type.
Tout comme dans Revit, la plupart de ces paramètres sont dépendants les uns des autres. Il existe bien entendu des combinaisons dans lesquelles la géométrie peut être rompue. Vous pouvez résoudre ce problème avec des formules définies dans les propriétés des paramètres, ou bien configurer une logique similaire avec des opérations mathématiques dans Dynamo (ce défi supplémentaire est nécessaire si vous souhaitez développer l’exercice).
Cette combinaison donne une superbe nouvelle conception au volume du bâtiment : 100, 92, 100, 25, 13, 51
Découvrez maintenant comment modifier la façade à l’aide d’un processus similaire.
Copiez le graphique et concentrez-vous sur le vitrage de la façade qui va abriter le système de ferme. Dans ce cas, isolez quatre paramètres :
{"DblSkin_SouthOffset","DblSkin_MidOffset","DblSkin_NorthOffset","Facade Bend Location"};
De plus, créez des curseurs de numérotation et renommez-les en fonction des paramètres appropriés. Les trois premiers curseurs, de haut en bas, doivent être remappés avec un domaine de [0,10], tandis que le curseur final, "Facade Bend Location", doit être remappé avec un domaine de [0,1]. Ces valeurs, de haut en bas, doivent commencer par les valeurs suivantes (bien qu'elles soient arbitraires) : 2.68, 2.64, 2.29, 0.5
Définissez un nouveau nœud Code Block et connectez les curseurs :
{so,mo,no,fbl};
En modifiant les curseurs dans cette partie du graphique, vous pouvez rendre le vitrage de la façade beaucoup plus important : 9.98, 10.0, 9.71, 0.31
Bien que vous ayez précédemment étudié la modification d'un volume de construction de base, vous devez approfondir le lien Dynamo/Revit en modifiant un grand nombre d'éléments en une seule opération. La personnalisation à grande échelle devient plus complexe, car les structures de données nécessitent des opérations de listes plus avancées. Toutefois, les principes sous-jacents de leur exécution sont fondamentalement les mêmes. Examinez certaines possibilités d'effectuer des analyses à partir d'un ensemble de composants adaptatifs.
Imaginez que vous avez créé une série de composants adaptatifs et que vous souhaitez modifier les paramètres en fonction de leurs emplacements de point. Les points, par exemple, peuvent définir un paramètre d'épaisseur lié à la zone de l'élément. Ils peuvent aussi définir un paramètre d'opacité lié à l'exposition solaire tout au long de l'année. Dynamo permet la connexion de l’analyse aux paramètres en quelques étapes simples. Dans l’exercice ci-dessous, vous allez explorer une version de base.
Interrogez les points adaptatifs d’un composant adaptatif sélectionné à l’aide du nœud AdaptiveComponent.Locations. Cela vous permet de travailler avec une version abstraite d’un élément Revit pour l’analyse.
En extrayant l'emplacement des points des composants adaptatifs, vous pouvez exécuter une série d'analyses pour cet élément. Par exemple, un composant adaptatif à quatre points vous permet d'étudier l'écart par rapport au plan d'un panneau donné.
Utilisez la fonction de remappage pour mapper un jeu de données dans une plage de paramètres. Il s'agit d'un outil fondamental utilisé dans un modèle paramétrique, que vous allez découvrir dans l'exercice ci-dessous.
Avec Dynamo, vous pouvez utiliser les emplacements des points des composants adaptatifs pour créer un plan d'ajustement optimal pour chaque élément. Vous pouvez également interroger la position du soleil dans le fichier Revit et étudier l'orientation relative du plan par rapport au soleil en comparaison avec les autres composants adaptatifs. Étudiez ce cas dans l'exercice ci-dessous en créant un environnement de toiture algorithmique.
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.
Cet exercice fournit des informations sur les techniques présentées dans la section précédente. Dans ce cas, définissez une surface paramétrique à partir d’éléments Revit, instanciant des composants adaptatifs à quatre points, puis modifiez-les en fonction de l’orientation par rapport au soleil.
Sélectionnez d’abord deux arêtes avec le nœud « Select Edge ». Les deux arêtes sont les longues travées de l’atrium.
Combinez les deux arêtes dans une liste avec le nœud List.Create.
Créez une surface entre les deux arêtes avec un nœud surface.ByLoft.
À l’aide du nœud Code Block, définissez une plage comprise entre 0 et 1 avec 10 valeurs équidistantes :
0..1..#10;
Connectez le nœud Code Block aux entrées *u *et v d’un nœud Surface.PointAtParameter, puis connectez le nœud Surface.ByLoft à l’entrée surface. Cliquez avec le bouton droit de la souris sur le nœud et définissez la liaison sur Produit cartésien. Cette action permet de créer une grille de points sur la surface.
Cette grille de points sert de points de contrôle pour une surface définie de manière paramétrique. Vous devez extraire les positions u et v de chacun de ces points afin de pouvoir les relier à une formule paramétrique et conserver la même structure de données. Pour ce faire, vous pouvez interroger les emplacements des paramètres des points que vous venez de créer.
Ajoutez un nœud Surface.ParameterAtPoint à la zone de dessin et connectez les entrées comme indiqué ci-dessus.
Interrogez les valeurs u de ces paramètres avec le nœud UV.U.
Interrogez les valeurs v de ces paramètres avec le nœud UV.V.
Les sorties montrent les valeurs u et v correspondantes pour chaque point de la surface. Vous disposez à présent d’une plage de 0 à 1 pour chaque valeur dans la structure de données appropriée. Vous êtes prêts à appliquer un algorithme paramétrique.
Ajoutez un nœud Block Code dans la zone de dessin et entrez le code :
Math.Sin(u*180)*Math.Sin(v*180)*w;
. Il s’agit d’une fonction paramétrique qui crée un sinus à partir d’une surface plane.Connectez UV.U à l’entrée u et UV.V à l’entrée v.
Étant donné que l’entrée w représente l’amplitude de la forme, joignez-y un curseur de numérotation.
La liste des valeurs définies par l’algorithme est maintenant disponible. Utilisez cette liste de valeurs pour déplacer les points vers le haut dans la direction +Z. À l’aide de Geometry.Translate, connectez le nœud *Code Block *à zTranslation et le nœud Surface.PointAtParameter à l’entrée geometry. Les nouveaux points doivent s’afficher dans l’aperçu Dynamo.
Enfin, créez une surface avec le nœud NurbsSurface.ByPoints en connectant le nœud de l’étape précédente à l’entrée des points. Vous obtenez une surface paramétrique. N'hésitez pas à déplacer le curseur pour observer la taille du monticule diminuer ou augmenter.
En ce qui concerne la surface paramétrique, vous devez définir un moyen de la paneliser afin de mettre en réseau les composants adaptatifs à quatre points. Étant donné que Dynamo ne dispose pas de fonctionnalités prêtes à l’emploi pour la panelisation des surfaces, contactez la communauté pour des packages Dynamo utiles.
Accédez à Packages > Rechercher un package…
Recherchez « LunchBox » et installez « LunchBox for Dynamo ». Il s’agit d’un ensemble d’outils très utiles pour les opérations de géométrie telles que celle-ci.
Après le téléchargement, vous disposez maintenant d’un accès complet à la suite LunchBox. Recherchez « Quad Grid » et sélectionnez « LunchBox Quad Grid By Face ». Connectez la surface paramétrique à l’entrée surface et définissez les divisions U et V sur 15. Vous devriez voir apparaître une surface à quatre panneaux dans l’aperçu Dynamo.
Si vous souhaitez en savoir plus sur la configuration, cliquez deux fois sur le nœud Lunch Box pour voir comment il est créé.
Dans Revit, examinez rapidement le composant adaptatif utilisé ici. Pas besoin de suivre, mais c'est le panneau de toit à instancier. Il s’agit d’un composant adaptatif à quatre points, qui est une représentation grossière d’un système ETFE. L’ouverture du vide au centre se trouve sur un paramètre appelé « ApertureRatio ».
Étant donné que vous allez instancier un grand nombre de géométries dans Revit, veillez à définir le solveur Dynamo sur « Manuel ».
Ajoutez un nœud Family Types à la zone de dessin et sélectionnez « ROOF-PANEL-4PT ».
Ajoutez un nœud AdaptiveComponent.ByPoints à la zone de dessin, connectez les points Panel Pts de la sortie « LunchBox Quad Grid by Face » à l’entrée points. Connectez le nœud Family Types à l’entrée FamilySymbol.
Cliquez sur Exécuter. La création de la géométrie nécessite un peu de temps sur Revit. Si l’opération est trop longue, réduisez la valeur du bloc de code qui est égale à 15. Cela permet de réduire le nombre de panneaux sur le toit.
Remarque : si Dynamo prend trop de temps pour calculer les nœuds, vous pouvez utiliser la fonctionnalité « geler » du nœud pour interrompre l’exécution des opérations Revit lorsque vous développez votre graphique. Pour plus d’informations sur le gel des nœuds, consultez la section « Gel » du chapitre Solides.
Dans Revit, vous avez le réseau de panneaux sur le toit.
En zoomant, vous pouvez mieux observer leurs qualités de surface.
À partir de l’étape précédente, reprenez l’ouverture de chaque panneau en fonction de son exposition au soleil. Dans Revit, en zoomant et en sélectionnant un panneau, vous pouvez constater la présence d’un paramètre appelé « Aperture Ratio » dans la barre des propriétés. La famille est configurée de façon à ce que l’ouverture s’étende, approximativement, de 0,05 à 0,45.
Si vous activez la trajectoire d’ensoleillement, vous pouvez voir l’emplacement actuel du soleil dans Revit.
Vous pouvez référencer l’emplacement du soleil à l’aide du nœud SunSettings.Current.
Connectez l’entrée SunSettings à Sunsetting.SunDirection pour obtenir le vecteur solaire.
À partir des points Panel Pts utilisés pour créer les composants adaptatifs, ayez recours à Plane.ByBaestFitThroughPoints pour obtenir une approximation du plan du composant.
Interrogez la normale de ce plan.
Utilisez le produit scalaire pour calculer l’orientation du soleil. Le produit scalaire est une formule qui détermine la mesure selon laquelle deux vecteurs sont parallèles ou antiparallèles. Prenez donc la normale du plan de chaque composant adaptatif et comparez-la au vecteur solaire pour simuler l’orientation du soleil de façon approximative.
Prenez la valeur absolue du résultat. Cela permet de garantir que le produit scalaire est précis si la normale du plan est orientée vers l’arrière.
Cliquez sur Exécuter.
Le produit scalaire contient une grande quantité de nombres. Pour utiliser leur distribution relative, vous devez condenser les nombres dans la plage appropriée du paramètre Aperture Ratio à modifier.
L’outil Math.RemapRange est idéal pour cela. Il prend une liste d’entrée et remappe ses limites en deux valeurs cibles.
Définissez les valeurs cibles sur 0,15 et 0,45 dans un bloc de code.
Cliquez sur Exécuter.
Connectez les valeurs remappées à un nœud Element.SetParameterByName.
Connectez la chaîne « Aperture Ratio » à l’entrée parameterName.
Connectez les composants adaptatifs à l’entrée element.
Cliquez sur Exécuter.
Dans Revit, à partir d’une distance, vous pouvez définir l’impact de l’orientation du soleil sur l’ouverture des panneaux ETFE.
En zoomant, vous pouvez voir que plus les panneaux ETFE font face au soleil et plus ils sont fermés. L’objectif ici est de réduire la surchauffe de l’exposition au soleil. Si vous voulez laisser davantage de lumière en fonction de l’exposition solaire, vous devez simplement définir le domaine sur Math.RemapRange.
Revit est un environnement riche en données. Cet environnement vous offre de nombreuses possibilités de sélection allant bien au-delà du "pointer-cliquer". Vous pouvez interroger la base de données Revit et lier dynamiquement des éléments Revit à la géométrie Dynamo tout en effectuant des opérations paramétriques.
La bibliothèque Revit de l’interface utilisateur propose une catégorie « Selection » qui permet d’explorer plusieurs méthodes de sélection de géométrie.
Pour sélectionner correctement des éléments Revit, il est important de bien comprendre la hiérarchie des éléments Revit. Vous souhaitez sélectionner tous les murs d'un projet ? Effectuez une sélection par catégorie. Vous voulez sélectionner toutes les chaises Eames dans votre hall moderne du milieu du siècle ? Effectuez une sélection par famille.
Examinez rapidement la hiérarchie de Revit.
Vous vous souvenez de la taxinomie en biologie ? Règne, Embranchement, Classe, Ordre, Famille, Genre, Espèces ? Les éléments Revit sont classés de la même manière. À la base, la hiérarchie Revit peut être divisée en catégories, familles, types* et instances. Une instance est un élément de modèle individuel (avec un ID unique), tandis qu'une catégorie définit un groupe générique (tel que "murs" ou "sols"). La base de données Revit étant organisée de cette manière, vous pouvez sélectionner un élément et choisir tous les éléments similaires en fonction d'un niveau spécifié dans la hiérarchie.
* Les types définis dans Revit diffèrent des types de programmation. Dans Revit, un type fait référence à une branche de la hiérarchie plutôt qu'à un "type de données".
Les trois images ci-dessous décrivent les principales catégories pour la sélection d'éléments Revit dans Dynamo. Ces outils sont très utiles en association. Vous allez en découvrir certains dans les exercices suivants.
Pointer-cliquer est la méthode la plus simple pour sélectionner directement un élément Revit. Vous pouvez sélectionner un élément de modèle complet ou des parties de sa topologie (une face ou une arête, par exemple). Il reste lié dynamiquement à cet objet Revit, de sorte que lorsque l’emplacement ou les paramètres du fichier Revit sont mis à jour, l’élément Dynamo référencé est mis à jour dans le graphique.
Les menus déroulants permettent de créer une liste de tous les éléments accessibles dans un projet Revit. Vous pouvez utiliser cette option pour référencer des éléments Revit qui ne sont pas nécessairement visibles dans une vue. C’est un outil formidable pour rechercher des éléments existants ou en créer d’autres dans un projet Revit ou l’Éditeur de familles.
![](../.gitbook/assets/selecting _database_navigation_with_dynamo_nodes_02.png)
Vous pouvez également sélectionner des éléments Revit en fonction de niveaux spécifiques dans la hiérarchie Revit. Cette option est puissante pour personnaliser des réseaux de données volumineux en vue de la documentation ou de l'instanciation et de la personnalisation génératives.
Tout en gardant les trois images ci-dessus, vous allez étudier un exercice qui sélectionne les éléments d'un projet Revit de base en vue de les préparer aux applications paramétriques créées dans les autres sections de ce chapitre.
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.
Ce fichier d'exemple Revit contient trois types d'éléments d'un bâtiment simple. Utilisez ce fichier comme exemple pour sélectionner des éléments Revit dans le contexte de la hiérarchie Revit.
Volume de bâtiment
Poutres (ossature)
Fermes (composants adaptatifs)
Quelles conclusions pouvez-vous tirer des éléments affichés actuellement dans la vue du projet Revit ? Jusqu'à quelle distance de la hiérarchie devez-vous aller pour sélectionner les éléments appropriés ? Cette tâche est évidemment plus complexe lorsque vous travaillez sur un projet volumineux. De nombreuses options sont disponibles : vous pouvez sélectionner des éléments par catégories, niveaux, familles, instances, etc.
Puisque vous travaillez avec une configuration de base, sélectionnez le volume du bâtiment en choisissant « Mass » dans le nœud déroulant Categories. Vous le trouverez dans l'onglet Revit > Selection.
La sortie de la catégorie Mass est uniquement la catégorie elle-même. Vous devez sélectionner les éléments. Pour ce faire, utilisez le nœud "All Elements of Category".
À ce stade, aucune géométrie n'est visible dans Dynamo. Un élément Revit a été sélectionné, mais il n'a pas encore été converti en géométrie Dynamo. Il s'agit d'une distinction importante. Si vous sélectionnez un grand nombre d'éléments, vous ne souhaitez pas afficher un aperçu de tous ces éléments dans Dynamo, sous peine de ralentir le programme. Dynamo est un outil permettant de gérer un projet Revit sans avoir à effectuer des opérations de géométrie. Vous allez le découvrir dans la section suivante de ce chapitre.
Dans ce cas, vous travaillez avec une géométrie simple. Vous devez donc importer la géométrie dans l'aperçu Dynamo. Le nœud Watch ci-dessus affiche un numéro vert en regard de l’élément "BldgMass". Il représente l'ID de l'élément et vous indique que vous travaillez avec un élément Revit et non avec une géométrie Dynamo. L’étape suivante consiste à convertir cet élément Revit en géométrie dans Dynamo.
Le nœud Element.Faces vous permet d’obtenir une liste de surfaces représentant chaque face du volume Revit. Vous pouvez désormais voir la géométrie dans la fenêtre Dynamo et commencer à référencer la face pour les opérations paramétriques.
Voici une autre méthode : dans ce cas, vous ne pouvez pas effectuer de sélection via la hiérarchie Revit (« All Elements of Category ») et choisissez de sélectionner explicitement la géométrie dans Revit.
Utilisez le nœud "Select Model Element" et cliquez sur le bouton *"Select" *(ou "Change"). Dans la fenêtre Revit, sélectionnez l'élément souhaité. Dans ce cas, l'élément sélectionné est le volume du bâtiment.
Au lieu d'utiliser le nœud Element.Faces, vous pouvez sélectionner le volume complet comme géométrie solide à l'aide du nœud Element.Geometry. Cette opération permet de sélectionner toute la géométrie contenue dans ce volume.
Le nœud Geometry.Explode vous permet de récupérer la liste des surfaces. Ces deux nœuds fonctionnent de la même manière que Element.Faces, mais offrent d'autres options permettant d'explorer la géométrie d'un élément Revit.
Certaines des opérations de liste de base vous permettent d’interroger la face qui vous intéresse.
Tout d’abord, connectez les éléments sélectionnés précédemment au nœud Element.Faces.
Ensuite, le nœud List.Count indique que vous travaillez avec 23 surfaces du volume.
En faisant référence à ce nombre, définissez la valeur maximale d'un *curseur de type entier *sur "22".
À l'aide de List.GetItemAtIndex, entrez les listes et le *curseur d'entier *pour l'index. Faites glisser le curseur avec la sélection et arrêtez lorsque vous atteignez l'index 9 et que vous avez isolé la façade principale qui héberge les fermes.
L'étape précédente était un peu compliquée. Grâce au nœud "Select Face", cette opération est beaucoup plus rapide. Cela vous permet d'isoler une face qui n'est pas un élément en soi dans le projet Revit. La même interaction s’applique à « Select Model Element », sauf que vous sélectionnez la surface plutôt que l’élément entier.
Imaginez que vous souhaitiez isoler les murs de la façade principale du bâtiment. Pour ce faire, vous pouvez utiliser le nœud "Select Faces". Cliquez sur le bouton « Select », puis sélectionnez les quatre façades principales dans Revit.
Après avoir sélectionné les quatre murs, assurez-vous que vous cliquez sur le bouton « Terminer » dans Revit.
Les faces sont désormais importées dans Dynamo en tant que surfaces.
Examinez désormais les poutres sur l’atrium.
À l’aide du nœud « Select Model Element », sélectionnez l’une des poutres.
Connectez l'élément poutre au nœud Element.Geometry. La poutre apparaît dans la fenêtre Dynamo.
Vous pouvez effectuer un zoom avant sur la géométrie à l'aide d'un nœud Watch3D (si vous ne voyez pas la poutre dans Watch 3D, cliquez avec le bouton droit de la souris et sélectionnez "Zoom tout").
Question fréquente pendant les workflows Revit/Dynamo : comment sélectionner un élément et obtenir tous les éléments similaires ? Étant donné que l’élément Revit sélectionné contient toutes ses informations hiérarchiques, vous pouvez interroger son type de famille et sélectionner tous les éléments de ce type.
Connectez l’élément poutre à un nœud Element.ElementType.
Le nœud Watch indique que la sortie est désormais un symbole de famille plutôt qu'un élément Revit.
Element.ElementType est une simple requête, vous pouvez le faire dans le nœud Code Block aussi facilement avec
x.ElementType;
et obtenir les mêmes résultats.
Pour sélectionner les autres poutres, utilisez le nœud « All Elements of Family Type ».
Le nœud Watch indique que cinq éléments Revit ont été sélectionnés.
Vous pouvez également convertir ces cinq éléments en géométrie Dynamo.
Et si vous aviez 500 poutres ? La conversion de tous ces éléments en géométrie Dynamo serait très lente. Si Dynamo prend du temps pour calculer des nœuds, vous pouvez utiliser la fonctionnalité de nœud "geler" pour interrompre l'exécution des opérations Revit lorsque vous développez votre graphique. Pour plus d'informations sur le gel des nœuds, consultez la section "Gel" du chapitre Solides.
Dans tous les cas, si vous importiez 500 poutres, auriez-vous besoin de toutes les surfaces pour effectuer l'opération paramétrique souhaitée ? Ou pouvez-vous extraire les informations de base des poutres et effectuer des tâches génératives avec une géométrie fondamentale ? Gardez cette question à l'esprit à mesure que vous avancez dans ce chapitre. Prenez l’exemple du système de ferme suivant.
À l'aide du même graphique de nœuds, sélectionnez l'élément ferme plutôt que l'élément poutre. Avant de procéder ainsi, supprimez Element.Geometry de l’étape précédente.
Ensuite, extrayez des informations de base à partir du type de famille de fermes.
Le nœud Watch contient une liste de composants adaptatifs sélectionnés dans Revit. Étant donné que vous voulez extraire les informations de base, commencez par les points adaptatifs.
Connectez le nœud "All Elements of Family Type" au nœud "AdaptiveComponent.Location". Vous obtenez une liste de listes, chacune avec trois points qui représentent les emplacements des points adaptatifs.
La connexion d'un nœud "Polygon.ByPoints" renvoie une polycourbe. Celle-ci apparaît dans la fenêtre Dynamo. Cette méthode vous a permis de visualiser la géométrie d'un élément et de supprimer la géométrie du réseau d'éléments restants (qui peut être plus grand en nombre que dans cet exemple).
Conseil : si vous cliquez sur le numéro vert d'un élément Revit dans Dynamo, la fenêtre Revit effectue un zoom sur cet élément.
Vous pouvez créer un réseau d'éléments Revit dans Dynamo avec un contrôle paramétrique complet. Les nœuds Revit dans Dynamo permettent d'importer des éléments à partir de géométries génériques vers des types de catégorie spécifiques (tels que des murs et des sols). Dans cette section, nous allons nous concentrer sur l’importation d’éléments paramétriquement flexibles avec des composants adaptatifs.
Un composant adaptatif est une catégorie de famille flexible qui se prête bien aux applications génératives. Lors de l'instanciation, vous pouvez créer un élément géométrique complexe qui est contrôlé par l'emplacement fondamental des points adaptatifs.
Vous trouverez ci-dessous un exemple de composant adaptatif à trois points dans l’Éditeur de familles. Cela génère une ferme définie par la position de chaque point adaptatif. Dans l'exercice ci-dessous, vous allez utiliser ce composant pour générer une série de fermes sur une façade.
Le composant adaptatif est un bon exemple des meilleures pratiques d'interopérabilité. Vous pouvez créer un réseau de composants adaptatifs en définissant les points adaptatifs fondamentaux. Lors du transfert de ces données vers d'autres programmes, vous pouvez réduire la géométrie en données simples. L'importation et l'exportation avec un programme tel qu'Excel suivent une logique similaire.
Supposez qu'un consultant en façade souhaite connaître l'emplacement des éléments de ferme sans avoir à les analyser par le biais d'une géométrie entièrement articulée. Afin de se préparer à la fabrication, le consultant peut faire référence à l'emplacement des points adaptatifs pour régénérer la géométrie dans un programme tel qu'Inventor.
Le workflow que vous allez configurer dans l'exercice ci-dessous vous permet d'accéder à toutes ces données lors de la création de la définition pour la création d'éléments Revit. Grâce à ce processus, vous pouvez fusionner la conceptualisation, la documentation et la fabrication dans un workflow homogène. Cela permet de créer un processus plus intelligent et efficace pour l'interopérabilité.
Le premier exercice ci-dessous vous expliquera comment Dynamo référence les données pour la création d’éléments Revit. Pour générer plusieurs composants adaptatifs, définissez une liste de listes dans laquelle chaque liste comporte trois points représentant chaque point du composant adaptatif. Gardez cela à l’esprit lorsque vous gérez les structures de données dans Dynamo.
Une autre méthode d'importation de géométrie Dynamo paramétrique dans Revit consiste à utiliser DirectShape. En résumé, l'élément DirectShape et les classes associées permettent de stocker des formes géométriques créées en externe dans un document Revit. La géométrie peut inclure des solides ou des maillages fermés. DirectShape sert principalement à importer des formes à partir d'autres formats de données, tels que IFC ou STEP, où il n'y a pas assez d'informations pour créer un élément Revit "réel". Comme les workflows IFC et STEP, la fonctionnalité DirectShape fonctionne bien avec l'importation de géométries créées dans des projets Revit en tant qu'éléments réels.
Vous allez examiner et réaliser le deuxième exercice qui consiste à importer une géométrie Dynamo en tant que forme directe dans votre projet Revit. Cette méthode permet d'affecter une catégorie, un matériau et un nom de géométrie importée, tout en maintenant un lien paramétrique vers le graphique Dynamo.
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.
À partir du fichier d’exemple de cette section (ou en continuant avec le fichier Revit de la session précédente), vous obtenez le même volume Revit.
Il s’agit du fichier ouvert.
Il s'agit du système de ferme créé avec Dynamo et relié intelligemment au volume Revit.
Après avoir utilisé les nœuds "Select Model Element" et "Select Face", vous allez maintenant avancer plus loin dans la hiérarchie de la géométrie et utiliser "Select Edge". Lorsque le solveur Dynamo est défini pour exécuter la commande "Automatic", le graphique est constamment mis à jour en fonction des modifications apportées au fichier Revit. L'arête sélectionné est liée dynamiquement à la topologie des éléments Revit. Tant que la topologie* ne change pas, la connexion reste liée entre Revit et Dynamo.
Sélectionnez la courbe la plus haute de la façade du vitrage. Elle s'étend sur toute la longueur du bâtiment. Si vous ne parvenez pas à sélectionner l'arête, n'oubliez pas de choisir la sélection dans Revit en plaçant le curseur sur l'arête et en appuyant sur la touche "Tabulation" jusqu'à ce que l'arête souhaitée soit mise en surbrillance.
À l'aide de deux nœuds "Select Edge", sélectionnez chaque arête représentant le dévers de rail au milieu de la façade.
Procédez de la même manière pour les arêtes inférieures de la façade dans Revit.
Les nœuds Watch indiquent que vous avez désormais des lignes dans Dynamo. Cette opération est automatiquement convertie en géométrie Dynamo, car les arêtes elles-mêmes ne sont pas des éléments Revit. Ces courbes sont les références que vous allez utiliser pour instancier des fermes adaptatives sur la façade.
* Pour conserver une topologie homogène, faites référence à un modèle auquel aucune face ou arête supplémentaire n'a été ajoutée. Bien que les paramètres puissent en modifier la forme, la façon dont il est créé reste cohérente.
Vous devez d'abord joindre les courbes et les fusionner en une liste. De cette manière, vous pouvez « regrouper » les courbes pour effectuer des opérations de géométrie.
Créez une liste pour les deux courbes au centre de la façade.
Joignez les deux courbes dans une polycourbe en connectant le composant List.Create à un nœud Polycurve.ByJoiningCurves.
Créez une liste pour les deux courbes au bas de la façade.
Joignez les deux courbes dans une polycourbe en connectant le composant List.Create à un nœud Polycurve.ByJoiningCurves.
Enfin, joignez les trois courbes principales (une ligne et deux polycourbes) dans une liste.
Vous voulez tirer parti de la courbe supérieure, qui est une ligne, et représente la portée complète de la façade. Pour ce faire, créez des plans le long de cette ligne pour couper le jeu de courbes regroupées dans une liste.
Avec un nœud Code Block, définissez un intervalle en utilisant la syntaxe :
0..1..#numberOfTrusses;
Connectez un *curseur d'entier *à l'entrée du nœud Code Block. Vous l'aurez deviné, cette valeur représente le nombre de fermes. Le curseur contrôle le nombre d'éléments dans l'intervalle défini de *0 *à 1.
Connectez le nœud Code Block à l'entrée param d'un nœud "Curve.PlaneAtParameter" et connectez l'arête supérieure à l'entrée curve. Vous obtiendrez ainsi dix plans, répartis uniformément sur l'ensemble de la façade.
Un plan est un élément abstrait de la géométrie, représentant un espace 2D infini. Les plans sont idéaux pour le contour et l’intersection, à mesure que vous effectuez la configuration dans cette étape.
À l’aide du nœud Geometry.Intersect (définissez la liaison sur Produit cartésien), connectez le nœud Curve.PlaneAtParameter à l’entrée entity du nœud Geometry.Intersect. Connectez le nœud principal List.Create à l'entrée geometry. Les points sont maintenant affichés dans la fenêtre Dynamo. Ils représentent l'intersection de chaque courbe avec les plans définis.
Le résultat est une liste de listes. Trop de listes par rapport à vos besoins. Il convient ici d'effectuer un aplatissement partiel. Vous devez descendre d'un niveau dans la liste et aplanir le résultat. Pour ce faire, utilisez l’opération List.Map, comme indiqué dans le chapitre relatif aux listes du guide.
Connectez le nœud Geometry.Intersect à l’entrée de liste de List.Map.
Connectez un nœud Flatten à l'entrée f(x) de List.Map. Les résultats donnent 3 listes, chacune contenant un nombre égal au nombre de fermes.
Vous devez modifier ces données. Si vous souhaitez instancier la ferme, utilisez le même nombre de points adaptatifs que celui défini dans la famille. Il s'agit d'un composant adaptatif à trois points. Par conséquent, au lieu de trois listes contenant 10 éléments chacune (numberOfTrusses), vous souhaitez obtenir 10 listes contenant trois éléments chacune. De cette manière, vous pouvez créer 10 composants adaptatifs.
Connectez le fichier List.Map à un nœud List.Transpose. Vous disposez à présent de la sortie de données souhaitée.
Pour confirmer que les données sont correctes, ajoutez un nœud Polygon.ByPoints dans la zone de dessin et vérifiez deux fois l'aperçu Dynamo.
Mettez en réseau les composants adaptatifs de la même façon que vous avez créé les polygones.
Ajoutez un nœud AdaptiveComponent.ByPoints à la zone de dessin et connectez le nœud List.Transpose à l’entrée points.
À l'aide d'un nœud Family Types, sélectionnez la famille "AdaptiveTruss" et connectez-la à l'entrée FamilyType du nœud AdaptiveComponent.ByPoints.
Dans Revit, les dix fermes sont à présent espacées régulièrement sur la façade.
En ajustant le graphique, augmentez la valeur de numberOfTrusses de 30 en déplaçant le curseur. Beaucoup de fermes, peu réalistes, mais le lien paramétrique fonctionne. Une fois la vérification terminée, définissez la valeur de numberOfTrusses sur 15.
Pour le dernier test, en sélectionnant le volume dans Revit et en modifiant les paramètres d’occurrence, vous pouvez modifier la forme du bâtiment et observer la ferme. Souvenez-vous que ce graphique Dynamo doit être ouvert pour que cette mise à jour s’affiche, et que le lien sera supprimé dès sa fermeture.
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.
Ouvrez tout d’abord le fichier d’exemple de cette leçon : ARCH-DirectShape-BaseFile.rvt.
Dans la vue 3D, vous pouvez voir le volume de votre bâtiment de la leçon précédente.
Le long de l'arête de l'atrium se trouve une courbe de référence, que vous allez utiliser comme courbe à référencer dans Dynamo.
Le long de l’arête opposée de l’atrium se trouve une autre courbe de référence que vous allez également référencer dans Dynamo.
Pour référencer la géométrie dans Dynamo, utilisez Select Model Element pour chaque membre dans Revit. Sélectionnez le volume dans Revit et importez la géométrie dans Dynamo à l'aide de Element.Faces. Le volume doit maintenant être visible dans l'aperçu Dynamo.
Importez une courbe de référence dans Dynamo à l'aide de Select Model Element et CurveElement.Curve.
Importez l’autre courbe de référence dans Dynamo à l’aide de Select Model Element et CurveElement.Curve.
En zoomant et en vous déplaçant vers la droite dans l’exemple de graphique, vous apercevez un grand groupe de nœuds : il s’agit d’opérations géométriques qui génèrent la structure de toiture de treille visible dans l’aperçu Dynamo. Ces nœuds sont générés à l'aide de la fonctionnalité Nœud vers code, comme décrit dans la section dédiée au nœud Code Block du guide.
La structure est contrôlée par trois paramètres principaux : Décalage diagonale, Contre-flèche et Rayon.
Effectuez un zoom avant sur les paramètres de ce graphique. Vous pouvez les ajuster pour obtenir différentes sorties de géométrie.
Lorsque vous déposez le nœud DirectShape.ByGeometry sur la zone de dessin, vous voyez qu’il comporte quatre entrées : geometry, category, material et name.
La géométrie sera le solide créé à partir de la partie de création de géométrie du graphique
L'entrée de catégorie est sélectionnée à l'aide du nœud déroulant Categories. Dans ce cas, vous allez utiliser "Ossature".
Vous pouvez sélectionner l'entrée de matériau via le réseau de nœuds ci-dessus, bien qu'il puisse être plus simplement défini comme "Par défaut" dans ce cas.
Après avoir exécuté Dynamo, vous avez la géométrie importée sur le toit dans votre projet dans Revit. Il s'agit d'un élément d'ossature, et non d'un modèle générique. Le lien paramétrique vers Dynamo reste intact.
La modification des paramètres de la documentation suit les leçons apprises dans les sections précédentes. Dans cette section, vous allez découvrir les paramètres de modification qui n'affectent pas les propriétés géométriques d'un élément, mais qui permettent de préparer un fichier Revit pour la documentation.
Dans l'exercice ci-dessous, vous allez utiliser un écart de base par rapport au nœud Plane pour créer une feuille Revit pour la documentation. Chaque panneau de la structure de toit définie de façon paramétrique possède une valeur d'écart différente. L'objectif est de définir l'intervalle de valeurs à l'aide de couleurs et en planifiant les points adaptatifs à transmettre à un consultant, un ingénieur ou un entrepreneur responsable de la façade.
L'écart par rapport au nœud Plane permet de calculer la distance à laquelle l'ensemble de quatre points varie par rapport au plan ajusté au mieux entre eux. Il s'agit d'une méthode simple et rapide pour étudier la constructibilité.
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.
Commencez par utiliser le fichier Revit pour cette section (ou continuez à partir de la section précédente). Ce fichier contient un réseau de panneaux ETFE sur le toit. Faites référence à ces panneaux pour cet exercice.
Ajoutez un nœud Family Types à la zone de dessin et sélectionnez « ROOF-PANEL-4PT ».
Connectez ce nœud à un nœud de sélection All Elements of Family Type pour transférer tous les éléments de Revit dans Dynamo.
Recherchez l’emplacement des points adaptatifs pour chaque élément à l’aide du nœud AdaptiveComponent.Locations.
Créez un polygone à partir de ces quatre points avec le nœud Polygon.ByPoints. Vous avez maintenant une version abstraite du système à panneaux dans Dynamo sans avoir à importer la géométrie complète de l'élément Revit.
Calculez l'écart planaire grâce au nœud Polygon.PlaneDeviation.
Juste pour voir, comme dans l’exercice précédent, définissez le rapport d’ouverture de chaque panneau en fonction de son écart planaire.
Ajoutez un nœud Element.SetParameterByName à la zone de dessin et connectez les composants adaptatifs à l’entrée element. Connectez un nœud Code Block indiquant "Aperture Ratio" à l'entrée parameterName.
Vous ne pouvez pas connecter directement les résultats de l’écart à l’entrée value, car vous devez remapper les valeurs avec l’intervalle de paramètres.
A l’aide de Math.RemapRange, remappez les valeurs d’écart avec un domaine compris entre 0.15 et 0_._45 en saisissant
0.15; 0.45;
dans le nœud Code Bloc.Connectez ces résultats à l'entrée value de Element.SetParameterByName.
Dans Revit, vous pouvez donner un sens au changement d'ouverture sur la surface.
En zoomant, il apparaît plus clairement que les panneaux fermés sont orientés vers les coins de la surface. Les coins ouverts sont orientés vers le haut. Les coins représentent les zones de plus grand écart, tandis que le renflement présente logiquement une courbure minimale.
La définition du rapport d'ouverture n'indique pas clairement l'écart des panneaux sur le toit, et vous modifiez également la géométrie de l'élément réel. Imaginez que vous souhaitiez simplement étudier l'écart du point de vue de la faisabilité de la fabrication. Il conviendrait de colorer les panneaux en fonction de l'intervalle d'écart de la documentation. Pour ce faire, utilisez la série d’étapes ci-dessous et suivez un procédé très similaire à celui susmentionné.
Supprimez Element.SetParameterByName et ses nœuds d’entrée et ajoutez Element.OverrideColorInView.
Ajoutez un nœud Color Range à la zone de dessin et connectez-le à l'entrée color de Element.OverrideColorInView. Vous devez toujours connecter les valeurs d'écart à l'intervalle de couleurs pour créer le dégradé.
Placez le curseur sur l'entrée value. Vous pouvez voir que les valeurs d'entrée doivent être comprises entre 0 et 1 pour mapper une couleur avec chaque valeur. Vous devez remapper les valeurs d’écart avec cet intervalle.
À l’aide de Math.RemapRange, remappez les valeurs d’écart planaire sur un intervalle compris entre * 0* et 1 (remarque : vous pouvez utiliser le nœud "MapTo" pour définir également un domaine source).
Connectez les résultats à un nœud Color Range.
La sortie est un intervalle de couleurs, et non un intervalle de nombres.
Si vous avez défini le paramètre sur Manuel, cliquez sur Exécuter. À partir de ce point, vous devez être en mesure de choisir l'option Automatique.
Dans Revit, le dégradé est bien plus lisible, qui est représentatif de l'écart planaire basé sur l'intervalle de couleurs. Mais que faire si vous voulez personnaliser les couleurs ? Les valeurs d'écart minimal sont représentées en rouge, ce qui semble aller à contre-courant du résultat attendu. L'écart maximal doit être rouge, avec un écart minimal représenté par une couleur plus douce. Retournez dans Dynamo et corrigez le problème.
À l’aide d’un nœud Code Block, ajoutez deux nombres sur deux lignes différentes :
0;
et255;
.Pour créer une couleur rouge et une couleur bleue, connectez les valeurs appropriées à deux nœuds Color.ByARGB.
Créez une liste à partir de ces deux couleurs.
Connectez cette liste à l'entrée colors de Color Range et observez l'intervalle de couleurs personnalisé se mettre à jour.
Dans Revit, vous pouvez désormais mieux comprendre les zones d'écart maximal dans les coins. Rappelez-vous que ce nœud permet de remplacer une couleur dans une vue. Il serait donc utile si vous aviez une feuille particulière dans le jeu de dessins, axée sur un type particulier d’analyse.
Dans Revit, sélectionnez un panneau ETFE. Quatre paramètres d'occurrence sont disponibles : XYZ1, XYZ2, XYZ3 et XYZ4. Ils sont tous vides après leur création. Il s'agit de paramètres basés sur du texte et des valeurs requises. Utilisez Dynamo pour écrire les emplacements de points adaptatifs sur chaque paramètre. Cela permet d’assurer l’interopérabilité si la géométrie doit être envoyée à un ingénieur consultant en façade.
Voici une feuille d’exemple qui contient une nomenclature volumineuse et vide. Les paramètres XYZ sont des paramètres partagés dans le fichier Revit, ce qui vous permet de les ajouter à la nomenclature.
En zoomant, les paramètres XYZ restent à remplir. Les deux premiers paramètres sont pris en charge par Revit.
L’écriture de ces valeurs requiert une opération de liste complexe. Le graphique lui-même est simple, mais les concepts sont très élaborés à partir du mappage de liste, comme décrit dans le chapitre de liste.
Sélectionnez tous les composants adaptatifs à l’aide de deux nœuds.
Extrayez l'emplacement de chaque point à l'aide de AdaptiveComponent.Locations.
Convertissez ces points en chaînes. N'oubliez pas que le paramètre est basé sur du texte. Vous devez donc saisir le type de données correct.
Créez une liste des quatre chaînes qui définissent les paramètres à modifier : XYZ1, XYZ2, XYZ3 et XYZ4.
Connectez cette liste à l'entrée parameterName de Element.SetParameterByName.
Connectez Element.SetParameterByName à l'entrée combinator de List.Combine. Connectez les composants adaptatifs à list1. Connectez l'élément String d'Object à list2.
Vous obtenez ici une correspondance de liste, car vous écrivez quatre valeurs pour chaque élément, ce qui crée une structure de données complexe. Le nœud List.Combine définit une opération d'un pas vers le bas dans la hiérarchie de données. Par conséquent, les entrées element et value de Element.SetParameterByName restent vides. List.Combine connecte les sous-listes de ses entrées aux entrées vides de Element.SetParameterByName, en fonction de l'ordre dans lequel elles sont connectées.
Lorsque vous sélectionnez un panneau dans Revit, il y a désormais des valeurs de chaîne pour chaque paramètre. En réalité, vous créeriez un format plus simple pour écrire un point (X, Y, Z). Cela peut être effectué avec des opérations de chaîne dans Dynamo, mais ce thème n’est pas abordé ici pour ne pas sortir du cadre de ce chapitre.
Vue de l’exemple de nomenclature avec des paramètres remplis.
Chaque panneau ETFE possède désormais les coordonnées XYZ écrites pour chaque point adaptatif, représentant les coins de chaque panneau pour la fabrication.