Connaissez-vous vraiment Grasshopper ?
On ne présente plus Grasshopper… et pourtant, on devrait. En effet, beaucoup de nouveaux utilisateurs Rhino, probablement effrayés par son interface qui s’apparente à un tableau électrique, passent à côté de cet outil qui peut leur apporter beaucoup : la faute, d’une part, à une mise en avant incomplète de ses capacités ; et d’autre part, parce qu’on ne peut saisir sa principale force que si l’on possède déjà une bonne expérience en modélisation 3D.
Grasshopper est un module de programmation visuelle intégré à Rhinoceros. Plusieurs milliers de composants, qui s’apparentent aux commandes Rhino, permettent d’effectuer des tâches de modélisation similaires, de façon totalement paramétrique.

L’usage prépondérant est probablement l’application de motifs variables sur des surfaces complexes. Les techniques mises en œuvre dans ces productions conduisent à des résultats très visuels et ne sont pas extrêmement difficiles à réaliser, il est donc assez logique que les tutoriels et autres démonstrations s’appuyant sur ces exemples pullulent sur les réseaux comme des champignons. Et si ces applications restent tout à fait pertinentes, elles ne représentent qu’une infime partie des capacités de Grasshopper.
Il est d’ailleurs possible de créer des motifs similaires directement dans Rhino, en utilisant des plugins tels que Paneling Tools, ou plus simplement la commande Glisser pour une approche encore plus élémentaire. Grasshopper permet néanmoins d’aller plus loin en faisant appel à des lois mathématiques, des générateurs de hasard ou des algorithmes génératifs, allant de la simple fonction trigonométrique pour générer des effets de vagues à la simulation de réactions chimiques comme la diffusion de Gray-Scott, la nature étant souvent une excellente source d’inspiration pour les designers et d’amusement pour les mathématiciens.

Entre modélisation algorithmique et outils spécifiques
L’utilisation d’algorithmes semble sans limites. Que ce soit par le module d’optimisation Galapagos, le solver de contraintes Kangaroo ou pour les plus experts la possibilité de faire appel à du machine-learning voire de coder ses propres composants en s’appuyant sur toute la richesse des recherches mathématiques, Grasshopper peut être utilisé pour optimiser des formes, définir la meilleure géométrie répondant à un certain ensemble de contraintes.
Fait nécessaire au bon fonctionnement de ces algorithmes, Grasshopper incorpore de l’intelligence dans les modèles purement géométriques en offrant la possibilité de créer des relations entre des objets et les sélectionner selon le respect de certains critères. Trier des courbes par leur longueur ou des points par rapport à leur proximité à une référence : lorsqu’elles existent, ces lois permettent le traitement d’objets 3D en masse et évitent les tâches rébarbatives.
Grasshopper est aussi un outil de simulation, différents plugins permettent de réaliser du calcul de structures aux éléments finis (Karamba), des analyses énergétiques (HoneyBee) ou climatiques (LadyBug), simplement parce qu’il offre la possibilité d’importer et exporter des données de différentes sources.

Tout ceci vous semble à des années-lumière de votre pratique de Rhino ? Oui, il est vrai que les applications ci-dessus, qui sont pourtant celles le plus souvent mises en avant, visent des marchés de niche et peuvent sembler plus proches de la recherche scientifique que du design. Alors, revenons-en aux fondements de Grasshopper, un outil flexible mais dont l’intérêt principal, s’il ne devait en rester qu’un, est d’être paramétrique.
Le fait de pouvoir contrôler des géométries par le biais de paramètres permet de concevoir des configurateurs, c’est-à-dire des scripts dont l’objectif est de générer un élément ou ensemble d’éléments précis, et modifiables à souhait. Pensez que le même composant qui fractionne une courbe peut servir à faire varier le nombre d’étagères dans un meuble, l’entraxe des montants sur un garde-corps, ou la position de pierres sur une bague…
Tout ceci demeure néanmoins encore assez spécifique : il faut avoir le temps de créer ces définitions, et l’opportunité de les réutiliser sur des projets futurs. Alors, si les maths vous donnent des boutons, si aucun de vos projets ne ressemble au précédent, et si la logique d’optimisation n’est pas votre tasse de thé, devez-vous faire l’impasse sur Grasshopper ?
La force cachée de Grasshopper
Il y a quelques jours, je travaillais sur un modèle de bague assez simple pour lequel le besoin de Grasshopper ne se faisait absolument pas pressentir. Une forme très symétrique, sans motifs, avec peu d’éléments, tous différents : tout laisse à penser qu’une modélisation Rhino, pas à pas, est la bonne méthode à appliquer. Et pourtant…
Parmi ces éléments, trois griffes sont réalisées à partir d’un tuyau à rayon variable, le long d’un rail. Un élément en apparence simple, mais qui après plusieurs tentatives infructueuses et une bonne dose de frustration, m’a conduit à essayer d’accomplir la même tâche avec Grasshopper, et en particulier l’excellent plugin Peacock dédié à la bijouterie. L’occasion de mettre enfin des mots sur la raison première pour laquelle utiliser Grasshopper est, selon moi, un véritable plaisir, que je m’empresse de partager ici.

Ce petit exemple, loin d’être un cas isolé, peut se généraliser ainsi : un modèle commence souvent par la construction d’objets de référence, généralement sous forme de courbes, sur lesquelles s’appuient des surfaces et des volumes. Or, il est souvent difficile de définir avec exactitude ces éléments de base sans poursuivre la modélisation jusqu’à un stade plus avancé : il est par exemple impossible de se rendre compte de certains soucis dimensionnels, de problématiques de collisions ou de continuités de surfaces, uniquement avec des courbes, sans épaisseur.
Cependant, lorsqu’on se rend compte de ces problèmes, il est déjà trop tard : toute modification des éléments de base se traduit généralement par la nécessité de tout refaire de zéro, et donc de répéter parfois plusieurs dizaines de commandes. L’enregistrement d’historique de Rhino, en plus d’être incomplet et difficile d’utilisation, est incapable de gérer d’aussi longues séquences, contrairement à Grasshopper, dont c’est finalement le cœur du fonctionnement.
En un mot, Grasshopper vous offre un droit d’une valeur inestimable : celui de vous tromper.
Si l’on appréhende cet outil sous cet aspect, le champ des possibilités est soudainement bien plus vaste. L’aspect paramétrique, bien que central, n’est pas une fin en soi, et sans pousser le travail jusqu’à un configurateur avec des options nombreuses et robustes, on peut utiliser Grasshopper comme un historique puissant, complet, qui permet de modifier une opération en amont, non pas par choix, mais parce que l’erreur est humaine.
Vous avez défini des congés et souhaitez finalement modifier leur valeur ? Une matrice rectangulaire requiert une rangée supplémentaire ? Ou plus généralement, une commande nécessite un élément que vous avez supprimé il y a une heure, pensant ne plus jamais en avoir besoin ? Dans Rhino les sources d’étourderies sont nombreuses, et rien n’est plus frustrant que de répéter plusieurs fois une commande simplement parce que l’on ne peut pas tout anticiper. Grasshopper offre la possibilité de corriger ces erreurs en ajustant le ou les paramètres problématiques, et de conserver une vision globale les étapes de modélisation.
Et c’est sans doute là, sa principale force, un atout incroyable et universel, qui répond à une problématique commune à tous les métiers de la 3D. C’est aussi le moyen de se donner les moyens de concevoir, de choisir parmi des options, de revenir sur des décisions en cours de projet ; là encore, sans que cela ne soit une finalité, mais plutôt un outil supplémentaire à votre arsenal. L’historique complet, les multiples paramètres, permettent d’explorer des variantes de design, sans polluer son fichier avec de multiples calques. Et une fois le design principal validé, libre à vous de revenir dans Rhino pour fignoler les derniers détails et préparer le rendu avec vos outils habituels.
Et si vous aussi, vous vous autorisiez le droit à l’erreur ?
Pour aller plus loin...
Maxime, mentor Form2Fab.
Abonnez vous sans tarder, toutes nos astuces sont sur notre chaîne Youtube : https://www.youtube.com/form2fab