Dernière mise à jour le 25 avril 2021 par LMD
Suivre le tuto Parametric Bench

OBJECTIF
Modéliser un banc constitué de sections paramétrables à partir d’un volume importé de Rhino3D. Les sections seront produites dans Grasshopper et reliées par des tubes.
Étape 1_modéliser le solide.
Dessiner une boîte dans Rhino 3D grâce à l’outil « SolidptOn » pour pouvoir changer la forme de la boîte.
En sélectionnant et en déplaçant les points sur les coins de la boîte nous pouvons changer la hauteur ou la longueur de celui-ci. Ici, nous sélectionnons les points inférieurs et utilisons le manipulateur pour les mettre à l’échelle.
_Modifier le solide avec l’outil « Cage Edit » pour modifier le volume grâce à une boîte englobante.
Paramétrages de la fenêtre:
Pour « Select control object », on choisit « BoundingBox »,
Pour le « Coordinate system », on choisit « World »,
Pour les « Cage parameters » qui définissent le nombre de points en direction X, Y et Z, on choisit 5 points en direction X et 2 points en direction Y et Z, pour avoir une déformation lisse sur le solide.
Pour la « région à modifier », choisir Global. Maintenant, nous avons nos points de contrôle et nous pouvons les déplacer pour changer la forme. Une fois ces changements faits, nous pouvons désactiver les points de contrôle et supprimer la boîte limitative.
Pour donner à cette forme une certaine stabilité, nous pouvons extruder les deux extrémités du banc dans la direction X. Pour ce faire, nous maintenons Ctrl et Maj et nous cliquons sur la surface que nous voulons extruder. Ensuite, nous utilisons le manipulateur en cliquant sur le petit cercle dans la direction X et donnons la dimension d’extrusion voulue. Nous pouvons le faire pour les deux côtés du banc et nous avons la forme à utiliser dans Grashopper à partir d’un Brep.
Étape 2_ Produire une série de sections sur ce volume.
Dans Intersection > Mathématical, nous avons deux options : Contour et « Brep|Plane ». Ici, nous utilisons Brep|Plane. Le composant Contour a besoin d’un point de départ et d’une distance, donc si nous n’avons pas la longueur exacte du banc et ne définissons pas la distance en fonction de la longueur, la dernière section ne s’aligne pas avec l’autre côté du banc, et nous allons avoir une distance plus ou moins grande entre nos sections à la fin.
Le composant Brep|Plane a besoin de plans de section en entrée. Pour définir ces plans, nous devons d’abord tracer une ligne avec la longueur du banc dans Rhino. Importez cette ligne comme courbe dans Grasshopper. Dans l’onglet Curv, nous utilisons le composant « Perp Frames » qui génère des cadres perpendiculaires à la courbe donnée et utilise ces cadres comme plans de section pour le composant Brep|Plane.
Pour rendre ces sections plus lisses, nous allons utiliser le composant Fillet >Curve > Util. En augmentant le nombre que nous donnons à l’entrée Radius du composant Fillet, nous pouvons avoir des sections plus lisses.
Étape 3_ Définir les tuyaux.
Nous obtenons deux points symétriques pour le centre des tuyaux en utilisant le composant Miroir >Transformer > Euclidien.
Nous commençons par définir deux points en utilisant le composant Point. L’un correspond au centre de l’un des tuyaux et l’autre à l’origine d’un plan pour la symétrie.
Pour définir l’axe des tuyaux, nous allons utiliser le composant Line SDL > Curve > Primitive. Le point de départ sera les deux points, la direction sera la direction X en utilisant le composant Unit X, et pour la longueur, nous pouvons utiliser la longueur de la ligne de base que nous avions pour la section. Pour obtenir la longueur de cette courbe, nous pouvons simplement donner la courbe comme entrée au composant Number >Params > Primitive et l’utiliser pour la longueur de la ligne SDL.
Pour allonger ces lignes le long du banc paramétrique, nous utilisons le composant Extend Curve : Curve > Util. La saisie de début sera la longueur que nous avons donnée à la ligne SDL et la saisie de fin serait 0.
Pour transformer ces lignes en tuyaux, nous utilisons le composant Pipe : Surface > Freeform en donnant un rayon.
Ensuite, nous allons définir l’intersection entre ces tuyaux et les plans de section en utilisant le même composant Brep|Plane que nous avions auparavant, nous pouvons copier et coller le composant Brep |Plane que nous avons dans la définition mais cette fois-ci donner ces tuyaux comme Brep.
Étape 4_ Définir les surfaces des sections.
Nous avons maintenant les courbes limites des plans de section et les courbes d’intersection que nous devrions transformer en surface. Pour ce faire, nous pouvons utiliser le composant Boundary Surface >Surface > Freeform. Pour que ce composant fonctionne correctement, nous devons aplatir l’entrée.
Étape 5_ extruder les surfaces des sections de façon à ce que les plans de section se trouvent au milieu de l’extrusion.
Nous déplaçons ces plans de section dans la direction X. L’entrée de Move sera l’épaisseur divisée par 2. Nous pouvons donner un nombre arbitraire (par exemple 2.2) à l’entrée de facteur du composant Unit X, puis faire un clic droit sur l’entrée M du composant Move et lui donner une expression x/2. Nous extrudons la surface déplacée en utilisant le composant Extrude : Surface > Freeform. Comme l’extrusion se produit dans la même direction du déplacement des plans de section, nous devons faire un clic droit sur l’entrée D du composant Extrude et lui donner une expression –x.
Étape 6- longueur des tuyaux
Celle-ci est plus grande que le banc paramétrique. Nous devons diviser les tuyaux et ne garder que la partie médiane. Nous pouvons utiliser Split with brep avec le composant Brep >Intersect > Région et diviser l’axe des tuyaux à l’aide de la forme de base du banc paramétrique que nous avons importé de Rhino sous forme de Brep. Ensuite, nous devons utiliser le composant List Item>Sets > List pour choisir les parties centrales et les transformer en tuyaux.