Exemple Dynamo : gestion de fichier au format SAT

Olivier Bayle Olivier Bayle 22/01/2016

3 min de lecture

Pour cet exercice, je vous demande un peu d’imagination. Voici la situation : vous devez réaliser la structure qui va soutenir une façade d'architecte par un réseau de poutres horizontales. L’architecte vient de vous envoyer l’enveloppe extérieure de la façade au format SAT que vous avez importé dans Revit et voici le résultat :

 

image

 

Heu..pas si simple me direz-vous ?

Si nous utilisons Dynamo, cela va être relativement facile :

– Import du fichier au format SAT dans l’interface Dynamo,

– Transformation de la surface en surface Dynamo,

– Création de plans horizontaux (où vont se positionner les poutres),

– Génération de réseaux de poutres horizontales aux intersections entre les plans et la surface.

Résultat :

 

image

image

 

Voici les explications pas à pas.

Important : j’ai utilisé la version Dynamo 0.8.1 car j’avais des problèmes avec la version 0.9 (notamment d’import SAT).

1- Import du fichier au format SAT dans Dynamo :

C’est très simple, il suffit d’utiliser deux fonctions :

– “File Path” : permet d’indiquer le chemin où se trouve le fichier au format SAT,

  • Geometry.ImportFromSAT” : importe le format SAT dans l’interface de Dynamo,

 

image

 

2- Transformation de la surface en surface Dynamo :

Il nous reste à transformer cette surface SAT en surface Dynamo en utilisant la fonction “PolySurface.ByJoinedSurfaces”.

 

image

 

Nota : si vous voulez rendre invisible la surface SAT: clic droit sur la fonction “Geometry.ImportFromSAT” et désactiver l’aperçu.

3- Création de plans horizontaux :

Il y a plusieurs moyens de créer des plans mais voici une des méthodes que j’ai utilisée:

La fonction “Plane.ByOriginNormal” permet de créer un plan en lui donnant les coordonnées d’un point ainsi qu’un vecteur normal au plan, c’est pour cette raison que je l’ai utilisée :

– “Point.ByCoordinates” : créé un point aux coordonnées x=y=z=0,

  • Vector.ZAxis” : vecteur orienté dans le sens des Z du repère général,

 

 

image

 

Maintenant, il  va falloir créer plusieurs plans parallèles à celui-ci , la fonction “Plane.Offset” va réaliser ce travail. Elle possède deux entrées :

 

image

 

– “plane” : nous allons utiliser celui que nous venons de réaliser.

– “dist” : il s’agit de la distance qui sépare le plan original du plan créé.

Dans ces conditions, nous allons utiliser un code block pour créer un suite de chiffres.

Double cliquez dans l’interface Dynamo pour créer un code block, puis rentrer la syntaxe suivante :

1..44,9..#nb” . Cela va générer une liste de chiffres entre les deux bornes [1 à 44,9] avec un nombre d’espacement égale à la variable “nb”.

L’objet SAT est d’une hauteur de 45,0 m donc je coupe un peu en dessous pour obtenir une intersection.

Enfin, j’utilise un “Number Sider” pour lequel j’initialise les bornes de 1 à 20 avec un pas de 1.

Résultat :

 

image

 

image

 

4- Génération de réseaux de poutres horizontales aux intersections entre les plans et la surface:

Dernière étape, nous allons trouver les intersections entre la surface et les différents plans créés ci-dessus.

Nous allons utiliser la fonction “Geometry.IntersectAll” et y connecter ce que nous avons créé précédemment.

Résultat :

 

image

 

Nota : la fonction “Geometry.IntersectAll” retourne des courbes de type “NurbsCurve”.

Pour créer le réseau de poutres, cela devient un jeu d’enfant en utilisant la fonction “StructuralFraming.BeamByCurve” que nous avons déjà utilisé dans des exercices précédents.

 

image

 

5 –Résultat final :

 

image

 

en changeant le nombre de coupes horizontales : le résultat est instantané.

 

image

image

 

Pas mal, non ?

6- Les données :

Si vous voulez reproduire ce que je viens de faire, vous trouvez ci-dessous :

Encore une fois, il s’agissait d'un exemple; à vous de l'appliquer (si besoin) ou adapter à vos besoins.

Abonnement e-mail