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