1_intro_GH - Architecturables / énsa-v

Transcription

1_intro_GH - Architecturables / énsa-v
Aurélie de Boissieu, François Guéna _ ENSA Paris la Villette, ENSA Versailles _ janvier 2012
[1] Grasshopper, introduction
(Définitions pour GH version 0.8.0006 du 28 février 2011)
En bref :
Un plugin est un logiciel qui en complète un autre. Grasshopper (GH) est un plugin de
Rhinoceros 3D.
GH permet de créer des modèles paramétriques sur Rhino grâce à de la programmation
graphique.
Un modèle paramétrique permet de contrôler la géométrie de son modèle par des paramètres et
des méthodes de construction. Une transformation locale effectuée sur le modèle est répercutée
de façon globale sur l’ensemble du modèle.
Un pluggin de Rhino
Grasshopper (GH) est un plugin de Rhino permettant de programmer de manière graphique. GH
définit un certain nombre de boîtes de traitement disposant de paramètres d'entrées et de valeurs
de sorties. Réaliser un programme avec GH consiste à disposer graphiquement des boîtes de
traitement et à les relier entre elles. Il s'agit de construire un graphe décrivant l'enchainement des
traitements et le flux des données nécessaires à la réalisation d'une tâche de modélisation.
Pour accéder aux fonctionnalités de GH il faut installer le plugin et activer la commande en tapant
« Grasshopper » dans la ligne de commande de Rhinoceros.
1_ modèle GH Vs Modèle Rhino
Un modèle paramétrique permet de contrôler la géométrie de son modèle par des paramètres et
des méthodes de construction. Une transformation locale effectuée sur le modèle est répercutée
de façon globale sur l’ensemble du modèle.
Ainsi, si l’on peut faire deux modèles identiques sur GH (A) et sur Rhino (B), c’est la façon dont on
peut les transformer qui est différentes.
(A) Rhino
(B) GH
_ Créer le modèle sur Rhino
(1) Créer une courbe d'interpolation dans le plan XoZ (courbe rouge) et créer un axe (courbe
bleue) de révolution joignant l'origine du repère à l'extrémité de la courbe rouge.
(2) Créer la surface de révolution
(3) Modifier la forme de la surface en déplaçant des points de contrôle.
_Créer le modèle Grasshopper
(1) Activer la commande Grasshopper sur Rhino (taper « Grasshopper » dans la ligne de
commande).
(2) insérer dans Grasshopper deux fois le composants Params/Geometry/Curve
(3) Insérer un composant Surface/FreeForm/Revolution et joignez les composants curve au
composant RevSrf.
(4) Cliquer avec le bouton droit de la souris sur le premier composant curve et sélectionner « Set
one Curve ». Désigner la courbe profil dans la scène Rhino. Refaire la même opération pour
associer l'axe au deuxième composant curve.
Maintenant quand on modifie les points de contrôle de la courbe profil dans la scène rhino la
surface de révolution est mise à jour (C).
1_ « Gherkin »
Dans cet exemple on s’intéresse à la forme du Gherkin construit par Foster+Partners à Londres.
Pour modéliser la forme de cet édifice on peut utiliser une surface de révolution comme dans
l'exemple précédent.
Mais pour contrôler plus finement la forme de la courbe profil nous allons introduire des
composants Vector/PointXYZ dans grasshopper
(1)
(2)
(3)
(4)
(5)
Nous allons ajouter 3 points dont on pourra faire varier les coordonnées à l'aide de paramètres et
à partir desquels on construira une courbe d'interpolation (courbe nurbs passant par ces points)
pour le profil. Les trois points seront situés dans le même plan XoZ passant par l'origine.
Autrement dit, la coordonnées Y pour tous ces points est égale à 0 (valeur par défaut des entrées
du composant pointXYZ.
(1) On insère trois fois le composant Vector/point/pointXYZ.
- Un premier point P0 situé au sol (Z=0) mais dont on pourra faire varier la coordonnée en X.
- Un deuxième point P1 situé à une hauteur Z variable et dont on pourra faire varier aussi la
coordonnée en X.
- Un dernier point P2 situé au sommet de la forme de coordonnée Z variable mais de
coordonnées X = 0.
(2) Pour chaque coordonnées variable on place un composant Params/Special/ NumberSlider qui
permet de faire varier une valeur dans un domaine donné.
Les plages de variation des valeurs des composants Params/NumberSlider sont éditables en les
désignant avec le bouton droit de la souris et en sélectionnant la commande Edit....
(3) On place ensuite un composant Curve/Interpolate et on relie la sortie des points à l'entrée V
du composant Curve/Interpolate. En tenant la touche majuscule enfoncée on peut placer
plusieurs fils sur une entrée d'un composant.
(4) Comme dans l'exemple précédent, on place un composant Surfaces/Revolution et un fil entre
la sortie C de la courbe profil et l'entrée P du composant.
(5) Il reste à définir l'axe de révolution. Placez un composant Curve/LineSDL, placez un
composant Vector/Point/PointXYZ qui par défaut est position à l'origine du repère de la scène
(X=0, Y=0, Z=0) et joignez la sortie du Point à l'entrée S de la ligne. Puis joignez la sortie L du
composant Line à l'entrée A du composant Surface de Révolution.
En faisant varier les valeurs des sliders on produit plusieurs formes pour le Gherkin.
2_ « London City Hall »
Ce modèle s'inspire de la forme du city-hall of London de Foster & Partners. Ce modèle utilise le
composant Surface/FreeForm/Sweep2 qui construit une forme par balayage d'un profil le long de
deux courbes guides. Le Profil sera considéré comme circulaire (composant Curve/Primitiv/Circle)
et placé sur le haut de deux courbes guides.
(1)
(2)
(3)
(1)
(1) Dans un premier temps on modélisera deux courbes interpolées à partir de points dont les
coordonnées seront définis par des sliders. Les composants sont les mêmes que dans l’exemple
2_ « Gherkin ».
(2) Puis on modélisera un cercle horizontal (donc compris dans le plan xoy) et dont le diamètre
est défini par les points les plus hauts des deux courbes précédentes. Pour cela on crée une ligne
entre ces points (Curve/primitive/line).
Puis on construit le milieu de la ligne. Pour cela on utilise le composant Eval
(Curve/Analysis/EvaluateCurve). Ce composant permet d’évaluer un point à partir d’un paramètre
t compris entre 0 et 1 (0= point d’origine de la ligne, 1= point de fin). Il faut entrer la valeur 0.5 au
composant t. Pour cela clic droit sur l’input t, puis « set Number » = 0.5.
Enfin on construit un cercle (Curve/primitive/Circle) qui prend comme « plan » le point
précédemment évalué et comme rayon la longueur de la ligne /2 (pour cela clic droit sur R, puis
dans « Expression », taper « R/2 »).
(3) Enfin on créer la
(Surface/Freeform/sweep2).
surface
de
balayage
grâce
au
composant
Sweep2