Objectif : Réaliser une table de chevet de 50cm*25cm

Résultat final

Résultat final

Création de la forme
La forme consiste en l’extrusion d’une forme de 8 suivant une direction. Pour réaliser cette forme j’ai d’abord dessiné le gabarit sur rhino à partir de trois courbes, transformé ensuite en surface sur grasshopper.

Réalisation des nervures
Pour les nervures longitudinales il a suffit de réaliser l’intersection entre la forme et des plans créés grâce à l’outils PFrames. Il y a 8 sections longitudinales.

Programmation Grasshopper de la forme en 8 et des sections longitudinales

RH forme et sections

Résultat Rhino

Les sections diagonales sont un peu plus compliquées. Premièrement il fallait définir l’axe à entrer dans la commande PFrames. J’ai choisi un axe orienté à 45°, divisé en trois parties espacées à interval régulier pour éviter les zones arrondies et ne couper que dans les parties droites.

Axes de base pour la réalisation des plans de section réalisés sur Rhino

Axes de base pour la réalisation des plans de section réalisés sur Rhino

J’ai ensuite réalisé un programme pour que les plans de section soient répartis uniformément malgré la discontinuité de l’axe de base. J’ai donc choisis un intervalle d’espacement des plans qui soit le plus proche possible de la distance entre les extrémités des axes.

Programmation Grasshopper des sections diagonales

Programmation Grasshopper des sections diagonales

Résultat Rhino

Résultat Rhino

Ce procédé nous donne des courbes qui sont transformées en surfaces grâce à l’outil Boundary Surfaces

Transformation des courbes en surfaces sur grasshopper et résultat dans rhino

Transformation des courbes en surfaces sur grasshopper et résultat dans rhino

On appelle « surfaces A » les surfaces des nervures longitudinales, et « surfaces B » les surfaces des nervures diagonales.

Modélisation des rectangles d’intersection
Le composant Intersection nous permet d’obtenir les segments d’intersection entre les nervures longitudinales et les nervures diagonales. Il s’agit ensuite de définir deux rectangles placés dans le plan de chaque nervures et dont les centres sont alignés depuis le milieu du segment. La largeur des rectangles doit correspondre à l’épaisseur du matériau que l’on souhaitera utiliser pour la maquette.
Il faut tout d’abord simplifier les données en sortie du composant Intersection. L’outil Simplify Tree nous permet de supprimer les coordonnées inutiles et de passer de 4 à 2 coordonnées pour décrire les segments. L’outils Path Mapper nous permet ensuite d’obtenir une liste à simple plutôt qu’une liste à double entrée.

Simplification des données

Simplification des données

Pour définir le rectangle nous avons besoin de trois informations : le plan dans lequel se trouve le rectangle, la longueur, et la largueur.
À partir de la liste d’informations obtenue, qui est la liste des segments d’intersection, on extrait d’un côté la longueur de chaque segment et d’un autre côté les points de début et de fin de chaque segment.
À partir des extrémités des segments on définit les plans dans lesquels vont se trouver les rectangles. On défini deux ensembles de plans : ceux qui ont pour origine le début du segment et qui sont dans le plan des nervures longitudinale et ceux qui ont pour origine la fin du segment et qui sont dans le plan des nervures diagonales.

Rectangles de section que l'on souhaite obtenir

Rectangles de section que l’on souhaite obtenir

L’outils Length permet d’extraire la longueur du segment qui sera la longueur L de notre rectangle en mm. On entre donc dans la borne Y du composant Rectangle un domaine AB compris entre x/2 et -x/2 afin d’avoir un rectangle centré par rapport à son origine. x représente la valeur d’entrée, ici, la longueur du segment. Dans la borne X, qui donne la largeur l du rectangle on défini un domaine qui représente l’épaisseur du matériau. On entre donc 1.5 dans la borne A du domaine et -1.5 dans la borne B du domaine pour obtenir une fente de 3 mm.

Pour l’origine on commence par définir des plans dont l’origine est placée au extrémités du segment d’intersection. Pour cela on utilise l’outil Plane Origin qui défini un nouveau plan par rapport à un plan de référence et l’origine souhaitée. Pour les rectangles A (B) on récupère les plans du composant PFrames utilisés pour construire les nervures A (B) et on choisi le point de début S (fin E) du segment d’intersection comme origine.  Pour les rectangles A la commande Deconstruct Plane nous permet d’extraire les informations relatives aux plans. On défini ainsi les plans à entrer dans la borne du composant rectangle.

Programmation des rectangles A sur grasshopper

Programmation des rectangles A sur grasshopper

Programmation des rectangles B sur grasshopper

Programmation des rectangles B sur grasshopper

Découpage des encoches dans les nervures

Encoches A
Comme les nervures A (en forme de huit) sont toutes identiques on peut se contenter de modéliser les encoches dans une seule surface qui nous servira de gabarit pour la découpe laser. Pour cela on extrait une des nervures grâce à la commande List item qui nous donne une surface que l’on décompose grâce à la commande Deconstruct Brep. On en extrait une face que l’on peut entrer dans la commande Solid Intersection. On récupère ensuite les 28 premiers rectangles de la liste des rectangles A (qui modélisent les intersections sur la nervure A traitée) grâce à l’outils List Item et le domaine AB défini entre  et 27. En théorie on devrait utiliser l’outils Region Difference pour soustraire les surfaces des rectangles à la surface de la nervure, mais la forme du 8 qui défini des espaces intérieurs, perturbe la compréhension d’intérieur et d’extérieur de cet outils et l’intersection se fait mal. L’outils Solid Intersection ne correspond pas en théorie à l’opération que l’on souhaite effectuer mais nous donne tout de même le résultat attendu. À l’issu de Solid Intersection nous obtenons une surface découpée. L’outils Deconstruct Brep nous permet d’extraire la courbe du contour de cette surface qui fera office de gabarit de découpe

GH courbes gabarit A

Programmation du découpage des encoches A par intersection entre les nervures A et les rectangles A

Surface découpée et courbe gabarit A

Encoches B
Dans le cas des encoches B l’outil Region Difference ne pose pas de problème car on réalise des intersection entre deux rectangles. En revanche il faut réorganiser l’ordre de la liste des rectangles. En effet, le programme réaliser pour modéliser les rectangles organise ces derniers dans l’ordre des surfaces A. Dans notre cas nous avons besoin que les rectangles se présentent dans l’ordre des surfaces B. On utilise alors l’outils List Item et on impose un ordre de passage grâce à l’outils Series. 

GH RH surface découpée et courbe gabarit B

Programmation du découpage des encoches B par intersection entre les nervures A et les rectangles B et résultat dans Rhino

Une fois les gabarits des nervures B découpées sont réalisés on effectue une rotation de 45° pour que les nervures se retrouvent dans le plan horizontale.

Réalisation des planches de découpe

La découpe laser nous permet d’utiliser du bois, du carton ou du plexiglas. Pour des raison esthétique mon choix s’est orienté sur matériau mat. Les types de bois utilisables dans la découpe laser étant très limité et très cher j’ai choisi du carton bois de 3 mm d’épaisseur. Le rapport entre l’épaisseur du carton bois (3 mm) et la dimension de mon objet (500 mm x 250 mm) me paraissait faible. J’ai donc décidé de faire non pas 8 sections longitudinales mais 16 que je collerai deux à deux pour augmenter l’épaisseur des sections transversales. Cette décision a modifié la largeur de mes encoches de nervures diagonales qui sont maintenant de 6 mm. Pour optimiser la répartition de mes nervures sur les planches j’ai diviser les sections en formes de 8 en cinq parties de deux manières différentes afin d’optimiser le collage et avoir un minimum de recouvrement entre les couches à coller.

Gabarit final

Principe de redécoupage des nervures longitudinales et disposition des gabarits de découpe

 

 

 

 

 

 

Maquette finale

DSC_0387recadre DSC_0388recadre