mercredi 10 février 2021

Revit 2021_Dynamo_Script Dynamo pour la génération de surfaces sinusoîdes_Exemple des rideaux

Objectif: Ecriture d'un script Dynamo pour la création de rideaux et autres surfaces sinusoïdes dans Revit. 

Lien vers la vidéo qui m'a inspirée pour ce tuto: Formula-Driven Surface Boundaries in Revit Using Dynamo - YouTube
_Famille et Script déposés sur HEXABIM

Nota: J'ai créé ce tuto suite à la vision de la vidéo de Pascal Camliti Architecte / Formateur Revit: Création de rideaux dans Revit: Comment créer un rideau avec REVIT ? Tutorial REVIT en Français  |  Architecte PACA, L'architecture sous toutes les coutures (architecte-paca.com)

_Méthode:
> Création d'une famille Volume métrique
> Script Dynamo
> Insertion de la famille dans le projet

V3D_1_

V3D_2_

01_Revit
_Famille volume métrique 
_La géométrie est entièrement issue du script Dynamo

02_Revit
_Famille volume métrique
_Importance du choix des unités (Unités Revit = Unités Dynamo)

03_Dynamo
_Script Dynamo: Des curseurs permettent de faire varier les valeurs
_Un groupe avec formule pour la sinusoïde pour la ligne du bas et la copie pour la ligne du haut
_Form.ByLoftCrossSections pour créer la surface entre les 2 sinusoïdes

04_Revit
_Famille > Volume métrique
C'est depuis ce cadre que le script Dynamo va être écrit 

05_Revit
_Famille > Volume métrique
_Choix des unités (Unités Revit = Unités Dynamo)

06_Dynamo
Script pour la ligne du bas
_Revit > Gérer > Dynamo > Nouveau

07_Dynamo
Script pour la ligne du bas
_Number Slider...

08_Dynamo
Script pour la ligne du bas
_Number Slider > Curseur permettant de paramétrer la longueur du rideau (Bas)

09_Dynamo
Script pour la ligne du bas
_Sequence...

10_Dynamo
Script pour la ligne du bas
_Number > Placer un number à chaque entrée de la sequence
Les numbers déterminent le début de la sequence > Start
et le pas > Step
_Relier le number slider Longeur à Amount

11_Dynamo
Script pour la ligne du bas
_Formula > ce noeud va permettre d'écrire la formule pour une sinusoïde

12_Dynamo
Script pour la ligne du bas
_Formula > A*(Sin(f*x))

13_Dynamo
Script pour la ligne du bas
_Placer 2 numbers sliders > Amplitude & Fréquence

14_Dynamo
Script pour la ligne du bas
_Relier le number slider Amplitude à A de Formula
_Relier le number slider Fréquence à f de Formula
_Relier Sequence à x

15_Dynamo
Script pour la ligne du bas
_ReferencePoint.ByCoordinates
Ce noeud va servir à disposer les données en X, Y et Z
_Relier Formula à Y

16_Dynamo
Script pour la ligne du bas
_Number slider > Hauteur (ce paramètre sert à positionner le bas de la ligne)
_Relier le number slider Hauteur à Z de ReferencePoint.ByCoordinates

17_Revit
Famille volume métrique: Les points Dynamo

18_Dynamo
Script pour la ligne du bas
_CurveByPoints.ByReferencePoints
_Relier ReferencePoint.ByCoordinates à Points

19_Dynamo
Script pour la ligne du bas
_Boolean
Boolean > True 
_Relier Boolean à isReferenceLine

20_Dynamo
(Grouper tous les noeuds sauf le number slider de la longueur)
Script pour la ligne du bas du rideau

21_Dynamo
Script pour la ligne du haut
_Copier le groupe > Ligne_Bas > Ligne Haut
_Modifier les paramètres des numbers sliders

22_Dynamo
Script pour la ligne du haut
_Number slider > Ajouter un number slider pour la longueur haute
_Relier le number slider longueur haute à Amount de la sequence_Haut
(Dans cet exemple, j'ai fait le choix d'utiliser 2 numbers sliders pour les longueurs des sinusoïdes, cela permet d'avoir des formes trapézoïdales)

23_Dynamo
Création de la surface entre la sinusoïde du haut et du bas
_List Create > Clic sur + pour ajouter une entrée
(List Create avec 2 entrées permet de classer les données des 2 sinusoïdes en 2 listes)

24_Dynamo
Création de la surface entre la sinusoïde du haut et du bas
_Form.ByLoftCrossSection

25_Revit
Famille volume métrique
La géométrie Dynamo

26_Revit
_Charger la famille dans le projet
(La famille volume métrique est un volume, par défaut elle ne sera pas visible dans le projet Revit, il faudra soit afficher les volumes dans Revit >  VV > Volumes; soit appliquer un mur par face dans le projet, suite à cela on peu désactiver les volumes, mais la géométrie ne permet pas toujours d'affecter un mur par face, il faudra alors activer les volumes, et dans la famille affecter un matériau)

27_Revit 
Projet Revit 
Message avertissant que les volumes sont activés

28_Revit
Projet Revit
_Mur par face > Sélectionner la famille > Architecture > Mur > Mur par face

29_Revit
Projet Revit
_Famille volume métrique

30_Revit
Projet Revit
_vv > Activation / Désactivation des volumes

31_Revit
Projet Revit
Mur par face

V3D_3_

samedi 23 janvier 2021

Revit 2021_Escaliers_Etiquettes longueur de volée, hauteur de volée, Hauteur totale

Objectif: Créer des étiquettes pour coter les escaliers: Hauteur de volée, Longueur de volée, Hauteur à franchir

Dernièrement j'ai eu à modifier des plans, une maquette Revit dite BIM, j'ai été assez surpris de constater qu'en lieu et place d'étiquettes d'escaliers, on avait placé des cotes avec modifications de texte de ce style:
Cote originale : 3.45 > cote modifiée: 15x23=3.45 (pas très BIM...)
Nota : les étiquettes ci-dessous s'appliquent à tous les escaliers, sauf les escaliers créés à partir d'esquisse

00_V3D_En jaune les différents types d'escaliers avec les étiquettes de cotes de longueur et hauteur de volée, et de hauteur à franchir
En rouge, escalier créé à partir d'une esquisse: seule, la hauteur à franchir est prise en compte > Nombre totale de hauteur x hauteur de marche; concernant les marches, l'étiquette indique le nombre de marches total, sans préciser la profondeur du giron 

01_Escalier de type coulé sur place, les types d'étiquettes:
_Longueur de volée
_Hauteur de volée
_Hauteur à franchir

02_Etiquette de type Longueur de volée

03_Etiquette de type Longueur de volée
Le paramètre Longueur de volée est un paramètre calculé:
_Nombre réel de marches * Profondeur réelle des marches

04_Etiquette de type Hauteur de volée

05_Comportement des étiquettes Longueur et Hauteur de volée sur les différents types d'escaliers
(Seul l'escalier créé à partir d'une esquisse n'accepte pas totalement les étiquettes)

06_Etiquette Hauteur totale / Hauteur à franchir

07_Etiquette Hauteur totale / Hauteur à franchir


dimanche 1 novembre 2020

Revit 2021_Dynamo_Renumérotation des pièces et autres places de parking

Objectif : Avec un script Dynamo, faciliter la renumérotation des pièces et autres places de parking 

Avant tout je dois remercier Pascal Camliti / Architecte-Formateur Revit pour ses tutoriels sur Revit et le BIM
Dernièrement j'ai été intéressé par le fait qu'il soit possible de renommer des places de parking ou des pièces à partir d'une spline Revit et d'un script Dynamo
Pour le script Dynamo, j'ai voulu tester par moi-même et j'ai particulièrement retenu le script de Belinda Carr, c'est un script simple, sans package
Merci à eux.
Il y a d'autres sources instructives:

_Dynamo || Practice 01 || Automation - Numbering Rooms by Line Direction > DynaMorphine


Méthode :
_Dans Revit les places de parking ou les pièces sont étiquetés
_Tracer une spline qui coupe les pièces à renuméroter (le 1er point de la spline correspond au début de la liste de pièces que l'on souhaite obtenir)
_Dans Dynamo on écrit 4 scripts : 
_Paramétrer la spline, 
_Lister les pièces, 
_Identifier les intersections entre les pièces et la spline
_Synthèse et renommage des pièces

00_Revit_Dynamo Player
Le renommage des pièces est facilité par le Dynamo Player

01_Revit
Projet avec pièces étiquetées

02_Revit
Tracer une spline coupant les différentes pièces à renommer
_Ligne de modèle...

03_Revit
Tracer une spline coupant les différentes pièces à renommer
_Ligne de modèle
_Spline...

04_Revit
Tracer une spline coupant les différentes pièces à renommer
_Spline
Le début de la spline correspond à la pièce qui sera le début de la liste de pièces
(Pour commencer, j'ai volontairement exclu la pièce n°8, voir point 18)

05_Revit
Ouvrir  Dynamo
_Gérer > Dynamo...

06_Revit_Dynamo
Script des pièces...
(il faut faire une liste des pièces)
(Dans son Script Belinda Carr utilise le nœud Geometry.BoundingBox, dans mon cas cela ne fonctionnait pas, mais cela fonctionne avec Element.BoundingBox)

07_Dynamo
Script des pièces
_Categories > Pièces (Toute les pièces sont listées) > Watch
_Element.BoundingBox > identifie les limites des pièces

08_Revit_Dynamo
Script de la spline
_Select Model Element > Sélectionner la spline dans Revit

09_Revit_Dynamo
Script de la spline

10_Dynamo
Script de la spline
_Number Slider > Ce nœud sert à paramétrer un nombre de point le long de la spline...
(Voir point 15 et suivants)

11_Dynamo
Script des points dans les pièces 
(Identification des intersections entre les pièces et la spline, à l'aide des points)

12_Dynamo
Script des points dans les pièces
Ce script fait la synthèse entre les données des pièces et de la spline
(Dans ce cas il n'y a que 6 pièces référencées...)

13_Dynamo
Script renumérotation des pièces
_Number > Start: N° de départ de la liste
_Number > Step: Incrément de la numérotation

14_Dynamo
Aperçu global des 4 scripts

15_Revit_Dynamo
(Réponse au point 10)
La pièce n° 3 n'a pas été prise en compte par Dynamo pour la numérotation,
Cela est du à la valeur trop faible du Number Slider > ici 20

16_Revit_Dynamo
(Réponse au point 10)
La pièce n°3 n'a pas été prise en compte par Dynamo pour la numérotation,
Cela est du à la valeur trop faible du Number Slider > ici 20
(il n'y a pas assez de points dans la dernière pièce)

17_Revit_Dynamo
(Réponse au point 10)
L'ex pièce n°3 est bien prise en compte par Dynamo pour la numérotation,
La valeur du Number Slider est de 25
(La pièce n° 8 n'est pas prise en compte car elle n'est pas coupée par la spline) 

18_Revit_Dynamo
En modifiant la spline l'ex pièce n° 8 est intégrée à la numérotation Dynamo

19_Revit_Dynamo
En modifiant la spline on peut également changer l'ordre des pièces

20_Revit_Dynamo
Script de renumérotation des pièces
_Number > Start : Permet de changer le premier n° de la liste

21_Revit_Dynamo
Préparation pour Dynamo Player
(Dynamo Player permet d'activer un script sans ouvrir Dynamo)
_Enregistrement du fichier Dynamo pour l'utiliser dans Dynamo Player

22_Revit_Dynamo Player
(Dynamo Player permet d'activer un script sans ouvrir Dynamo)
Lorsqu'on utilise Dynamo Player, Dynamo doit être fermé

23_Revit_Dynamo Player
Exécution du script depuis Dynamo Player

24_Revit_Dynamo
Paramétrage des données Dynamo pour l'utilisation dans Dynamo Player
_Sélectionner les données à inclure > Est une entrée

25_Revit_Dynamo
Paramétrage des données Dynamo pour utilisation dans Dynamo Player
_Sélectionner les données à inclure > Est une entrée

26_Revit_Dynamo Player
Exécution du script avec Dynamo Player

27_Revit_Dynamo Player
Exécution du script avec Dynamo Player