Vous êtes sur la page 1sur 51

Programme de la Formation

Journée 1
▪ Interface, navigation et Architecture d’un programme dynamo
▪ Les bases de Dynamo
▪ Input et Watch
▪ Géométrie
▪ Code Block
▪ Maths
▪ listes
▪ Formatage conditionnelle
▪ Lien entre Revit et Dynamo
▪ Sélection d’objet revit sur dynamo
Programme de la Formation
Journée 2
▪ Nœuds Personnalisé
▪ Input
▪ Output
▪ Manipulation des paramètres d’une famille
▪ Placement de famille
▪ Import et export

Journée 3
▪ Les packages
▪ Les filtres
▪ Lecteur Dynamo
▪ Mise en situation et exercices
I. INTRODUCTION
Introduction
C’est quoi ?
Dynamo est un outil de programmation visuel développée par Autodesk. Il permet grâce à son
environnement de mettre en place facilement des routines ou des fonctions complexes de traitement.


Introduction

Oui, mais pour quoi faire


❑ Automatisations des taches répétitives

✓ Vérification de hauteur sous plafond

❑ Créations de formes complexe grâce à l’utilisation de formule ou d’équation mathématique

✓ Création d’une toiture dont la forme est basé sur une fonction mathématique

❑ Utilisation de fichier externes pour communiquer avec REVIT

✓ utiliser des coordonnées contenue dans un fichier excel pour implanter des piles de pont

❑ Extraction rapide de donnée de revit

✓ Extraction des surfaces de façade

❑ Etc
Introduction
Pour qui?

Architect Ingénieur Construction


• Etudier d’autre option de • Comprendre les systèmes et
• Etudier d’autre option de conception les assemblages
conception • La rationalisation du système • Comprendre les délais pour la
• Une meilleur • Créer plus facilement des API construction
communication avec les pour personnaliser leur • La rationalisation de système
clients conception • La récupération plus rapide
• Gérer le risqué et la créativité d’informations
• Plus de liberté dans le des clients
processus de conception
• Elargir la puissance de
revit
II. A la découverte de
Dynamo
❖ Interface utilisateur
❖ Anatomie d’un script dynamo
Interface utilisateur
L'interface utilisateur de Dynamo est organisée en cinq zones principales, la plus grande étant l'espace
de travail dans lequel les programmes visuels sont créer.

❖ Interface utilisateur

1.Menus
2.Barre d'outils
3.Bibliothèque
4.Espace de travail
5.Barre d'exécution
II. ANATOMIE D’UN PROGRAMME DYNAMO
II.1 Introduction

Un programme Dynamo est constituée de nœud et de fil


II. ANATOMIE D’UN PROGRAMME DYNAMO
II.2 les nœuds

Dans Dynamo, les nœuds sont les objets que vous connectez pour former un programme visuel. Chaque nœud effectue une
opération, parfois aussi simple que le stockage d'un nombre, ou plus complexe, comme la création ou l'envoi de requêtes à
une géométrie.
La plupart des nœuds de Dynamo sont composés de cinq éléments. Bien qu'il existe des exceptions, telles que les nœuds
Input,
L'anatomie de chaque nœud peut être décrite comme suit :

1-Nom : il est conforme à la convention de nommage des nœuds


Category.Name
2- Principal : corps principal du nœud. Cliquez ici avec le bouton
droit de la souris pour afficher les options au niveau du nœud entier
II. ANATOMIE D’UN PROGRAMME DYNAMO
II.2 les nœuds

3- Les ports:
Ce sont les points d’entrés et de sortie du Nœud: les données entrent par les ports à gauche et les résultats
sortent par les ports à droite.

4-L’icone de liaison:
Il indique l’option de liaison spécifiée pour les entrées de liste correspondantes.

5- Valeur par défaut:


Certains nœuds ont des valeurs par défaut que dynamo utilise si aucune donnée d’entrée n’est renseigné. Pour
voir la valeur par défaut d’un nœud il suffit de cliquer sur le bouton droit de la souris sur un port d’entrée.
II. ANATOMIE D’UN PROGRAMME DYNAMO
II.2 les différents états
d’un nœud

1.Actif : les nœuds dont le nom est sur un arrière-plan gris foncé sont bien connectés et leurs entrées sont connectées
2.Inactif : les nœuds grisés sont inactifs et doivent être connectés avec des fils pour faire partie du flux du programme.
3.État d'erreur : le rouge indique que le nœud est dans un état d'erreur
4.Geler : un nœud transparent a l'option Geler activée, ce qui interrompt l'exécution du nœud
5.Sélectionné : les nœuds actuellement sélectionnés ont une bordure bleue
6.Avertissement : les nœuds jaunes ont l'état Avertissement, ce qui signifie qu'ils peuvent avoir des types de données incorrects
7.Aperçu de l'arrière-plan
II. ANATOMIE D’UN PROGRAMME DYNAMO
II.3 les fils
Les fils permettent de connecter les nœuds. Ils transportent les données d’un nœud A à un nœud B. Sachant que les ports
d’entrées se trouve sur le coté gauche du nœuds et ceux de sortie sur le coté droite, on dit généralement que le flux de données
sur Dynamo se déplace de la gauche vers la droite .
Comment créer un fil ?
Pour créer un fil il suffit de faire un clic gauche sur un port de sortie d’un nœud A, puis un deuxième clic gauche sur le port
d’entrée d’un nœud B. le chemin inverse est également possible ( port d'entrée vers port de sorti).
Comment Modifier un fil ?
▪ Pour connecter le fil a un port: Clic gauche sur le port de sorti puis clic gauche sur le nouveau port d’entrée;
▪ Pour supprimer le fil: clic gauche sur le port de sortie/d’entrée puis clic gauche sur l’espace de travail
Par défaut les fils sont des traits gris puis deviennent bleu quand le nœud sur le quel ils sont connectés est sélectionner. Le menu
Vue > connecteurs permet de configurer l’apparence de vos fils.
III- Dynamo: les bases
Les Bases de Dynamo: Introduction

Nous avons vus dans le chapitre précèdent qu’un programme dynamo était formé de fils et de nœuds. Le but de ce chapitre
est de découvrir les différents types de nœuds qui entrent dans la construction d’un programme dynamo.
Nous allons aborder particulièrement les blocs de nœuds suivant :
➢ Input
➢ Geometry
➢ List
➢ Maths
➢ String
➢ Script
I. Input
Ce sont des nœuds d’entrée. Certains ont des ports d’entrée d’autres pas. Il en existe 5 catégories.

Exercice d’applications: découvrir les différents nœuds présent dans la catégorie Input
II. Geometry
III.2.1 Le point
Un point est défini uniquement par une ou plusieurs valeurs, appelées coordonnées. Le nombre de valeurs de coordonnées
requises pour définir le point dépend du système de coordonnées ou du contexte dans lequel il se trouve.
Toutes les géométries sont créés sur dynamo en utilisant fonctions spéciales (nœuds) appelé constructeur,
La syntaxe d’un constructeur: « nom de la géométrie ». « by méthode »
Les points peuvent également exister dans un système de coordonnées bidimensionnel. La convention comporte différentes
lettres de notation selon le type d'espace avec lequel vous travaillez. Il se peut que vous utilisiez [X,Y] sur un plan ou [U,V]
pour une surface.

Exercice d’applications: découvrir les


différents nœuds permettent de créer un
point ou de déterminer les coordonnées d’un
point.

.(primer.dynamobim)
II. Geometry
III.2.2 Les courbes
La ligne, le cercle, la polyligne, l'arc, etc sont au sens de dynamo des courbes .
Techniquement, une courbe décrit tous les points possibles qui peuvent être trouvés
en saisissant "t" dans un ensemble de fonctions, pouvant aller des fonctions simples
(x = -1.26*t, y = t) aux fonctions comprenant du calcul. Quel que soit le type de
courbe sur lequel vous travaillez, ce paramètre appelé "t" est une propriété que vous
pouvez évaluer. En outre, quel que soit l'aspect de la forme, toutes les courbes ont
également un point de départ et un point d'arrivée, qui, de manière fortuite,
correspondent aux valeurs t minimale et maximale utilisées pour créer la courbe.
Cela permet de comprendre sa direction. (primer.dynamobim)
Il est important de noter que Dynamo suppose que le domaine des valeurs "t" d'une
courbe est compris entre 0.0 et 1.0.
Exercice d’applications: découvrir les différents nœuds permettent de créer les
courbes:
.(primer.dynamobim)
II. Geometry
III.2.2 Exercice d’application pour Les courbes
- Créer 4 points A, B, C, et D telque
A(0;0;0), B(0;5;0), C(10;10;0); D(15;0;0)
- Créer une liste contenant les 4 points
- Utiliser les nœuds suivants:
- Line.ByStartPointEndPoint
- NurbsCurve.ByControlPoint
- NurbsCurve.Point
- PolyCurce.ByPoints
- Transformation d’une courbe Dynamo en Courbe revit
- ModelCurve,ByCurve
II. Geometry
III.2.3 Les vecteurs
Un vecteur est un objet géométrique muni d’une direction et d’une
magnitude. Il peut être représenté comme une droite avec un point de
départ d’un côté et une flèche à l’autre extrémité. La longueur de la droite
représente la magnitude du vecteur et la flèche indique sa direction.

Exercice d’applications: découvrir les différents nœuds liées permettant de


créer et manipuler des vecteurs
A) Créer un vecteurs U de coordonnée (1,3,5)
B) Créer une ligne de longueur 5m ayant pour origine le point ( 0,2,1) et
pour direction le vecteur de la questions A.
II. Geometry
III.2.1 Les plans
Les plans sont des "assistants" abstraits 2D. Plus spécifiquement, les plans sont conceptuellement "plats", s'étendant de
manière infinie dans deux directions. En général, ils sont rendus sous la forme d'un rectangle plus petit près de leur origine.
Les plans sont utile par exemple dans la définition des plans de référence sur revit.

Exercice d’applications: découvrir les différents nœuds permettant de créer et manipuler des plans
III. Les listes
Une liste est un ensemble d'éléments.
La plupart du temps manipuler des paramètres revit sur dynamo revient à manipuler des listes. Il est donc important de savoir:
- Créer une listes
- Trier une liste
- Extraire les éléments d’une liste
- Fusionner ou séparer une des listes
Exercice d’applications: Manipulation de liste sur dynamo
a) créer un plan passant par le point A (0,3,0) et perpendiculaire à l' axe y.
b) Sur le plan créé, ajouter un cercle de centre A, et de rayon 5 .
c) Déplacer le cercle d'une de 25 unités suivant l' axe y;
d) Créer 10 points équidistant sur chacun des cercles obtenus; puis les relier par des lignes;
e) Créer un nœuds qui compte le nombre de ligne créé
f) Sélectionner et afficher la 5e ligne
g) Augmenter les nombres de point et sur chaque point et relier les en sens inverse
III. Les listes
Correction de l'exercice d’applications: Manipulation de liste sur dynamo
IV. Maths
IV.1 opération simple et formule
La catégorie Maths contient les nœuds permettent de faire des opérations mathématique de base ( addition, soustraction,
etc ), de créer des fonctions mathématique ou de créer des tests de logique.

Exercice d’applications:
A-créer un script permettent de représenter la clothoïde dorée ayant pour équation :

B- utiliser le formatage conditionnelle pour créer un script qui colorie la clothoïde en fonction du nombre de point renseigner.
= et =

IV. Maths
IV.1 opération simple et formule-résultat de l'exercice d' application
= et =

IV. Maths
IV.2 La logique: formatage conditionnelle
L'instruction "If" est un concept clé de la programmation : "If" cet élément a la valeur True, voici le résultat, sinon autre
chose se produit. L'action résultant de l'instruction est déterminée par une valeur booléenne. Il existe plusieurs méthodes
pour définir une instruction "If" dans Dynamo :

.(primer.dynamobim)
IV. Maths
IV.2 La logique: formatage conditionnelle
Voici un bref exemple de chacun de ces trois nœuds en action à l'aide de l'instruction conditionnelle "If" :

.(primer.dynamobim)
IV- Relation Dynamo
Introduction
Dynamo for 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. Le lecteur Dynamo permet de faciliter d'avantage l'utilisation de dynamo sur revit. En effe il permet de lancer des script
dynamo sans avoir besoin de les ouvrir.

Grace à la communauté qui c'est créer autour de Dynamo on a accès gratuitement à de nombreux packages qui permette de
faciliter de nombreuse routine. Dynamo va également permettre à revit de lire et écrire sur des ficher Excel. etc
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.
Nous prendrons pour projet d' application l' un des projets exemples fourni dans l' installation de revit 2022.
I. Sélection sur revit à partir de dynamo
Il existe plusieurs méthodes permettant de sélectionner des objets sur revit depuis dynamo.
En effet on peut sélectionner les objet par catégorie, par niveau, par famille par type. Il est donc important de connaitre d’une
part les nœuds permettant d’afficher la liste des catégories, famille , types, …, disponibles d’autres part de connaitre les
nœuds permettant de faire des sélections
Exercices d’ applications:
En se basant du fichier rvt de la formation fourni :
1. sélectionner l’ensemble des murs du projet et les afficher sur dynamo
2. sélectionner le 2e élément de la liste des murs et afficher l' ensemble de ses paramètres
3. extraire la liste des murs porteurs, Puis les afficher sur dynamo
4. créer un script personnaliser qui donne en sorti la listes des éléments d’une catégorie sur un niveau précis,
5. Transformer le script précèdent en nœuds personnaliser
I. Sélection sur revit à partir de dynamo
Sélection mur structure

Sélection élément par catégorie et par niveau


II. Manipulation des paramètres d’une famille

Exercices d’ applications 2: Ecrire un script qui permet de modifier la finition de sol d’une pièce en fonction de son nom
Recap Journée 1-a
▪ Sujet abordés
▪ Découvrir dynamo (Interface, anatomie d’un script, etc.)
▪ Créer des listes
▪ Modifier des listes
▪ Obtenir les paramètres d’un élément
▪ Modifier les paramètres d’un élément
▪ Manipulation de chaine de caractère
▪ Créer un nœuds personnaliser
▪ Faire des comparaison
Recap Journée 1-b
▪ Quel nœud permet de:
▪ Modifier la valeur du paramètre d’un élément: Element.SetParameterByName
▪ Obtenir la valeur d’un paramètre: Element.GetParameterByName
▪ Obtenir la carte d’identité d’un élément revit: Element.Parameter
▪ Obtenir la catégorie d’un élément: Element.GetCatégorie
▪ Obtenir le premier élément d’une liste ? Le dernier ? : List.FirstItem; List.LastItem
▪ Vérifier si une chaine de caractère contient une sous chaine particulière ? String.Contains
▪ Obtenir le type d’un objet ? Object.Type
▪ Filtrer une listes en utilisant une liste de vrai-faux ? List.FilterByBoolMask
▪ Additionner des listes ? List.Join
▪ Créer des listes : List.Create
Recap Journée 1-c
▪ Qu’est ce qu’un nœud personnalisé ?
▪ comment activé le code block?
▪ Quel est la différence entre « number » et « string »?
▪ A quoi sert le nœud List.Flatten ?
▪ Quel nœud permet de transformer un objet en chaine de carractére?
Journée 2
▪ Manipulation des paramètres d’une famille (suite)
▪ Placement de famille
▪ Import et export
II. Manipulation des paramètres d’une famille

Exercices d’ applications 1: Ecrire un script qui permet de numéroter les portes par niveau
II. Manipulation des paramètres d’une famille
Exercices d’ applications 1:
En se basant du fichier rvt de la formation fourni faire varier la hauteur des pièces en fonction de l’élevation des plafonds
II. Manipulation des paramètres d’une famille

Exercices d’ applications 2: Ecrire un script qui permet de numéroter les portes et fenêtres en suivant une sPline
II. Manipulation des paramètres d’une famille

Exercices d’ applications 4: Ecrire un script qui permet de créer des sols en se basant des information contenue dans
finition de sol
II. Manipulation des paramètres d’une famille

Exercices d’ applications 5: Ecrire un script qui permet de placer des poutres


III. Lien Revit-EXCEL

Exercices d’ applications 1:
En se basant du fichier rvt de la formation fourni :
1- sélectionner l’ensemble des pièces du niveau 1
2- extraire le nom, la surface et l’id de ces pièces
3- exporter ces fichiers dans un fichiers Excel
4- ajoutez une colonne dans le fichier Excel créé et y insérer le type de revêtement le nombres de personnes
5- importer le fichier Excel modifié et ajoutez les informations ajoutées sur Excel dans les pièces.
Recap Journée 2
▪ Import – export excel
▪ Element.Geométry
Programme de la Formation
Journée 3
▪ Les packages
▪ Placement de famille
▪ Gestion des vues et feuille
▪ Mise en situation/ exercices
III. Placement de famille

Exercices d’ applications 1: création de plinthe


Package : clockwork
III. Placement de famille

Exercices d’ applications 2: placer des fournitures dans les pièces en fonction du nom de la pièce

Package : clockworkype
III. Placement de famille

Exercices d’ applications : placer automatiquement les réservations

Package : clockwork
IV. Gestion des vues et Feuilles

Exercices d’ applications 5 : créations de filtre de vues

Package : clockworkype
IV. Gestion des vues et Feuilles

Exercices d’ applications 4 : créations de feuille

Package : clockworkype
IV. Gestion des vues et Feuilles

Exercices d’ applications 4 : dupliquer une vue


III. Packages

Quelque exemples de packages

Un Package est un ensemble de nœuds personnalisés open source développé par des
utilisateurs dynamo.
Il en existe plusieurs. On peut les télécharger directement sur dynamo ou sur le site:
https://dynamopackages.com/
Les plus utilisés sont présentés dans le lien suivant:
https://primer.dynamobim.org/fr/Appendix/A-3_packages.html

Vous aimerez peut-être aussi