En bref
- Le composant Python 3 Script s’ajoute depuis le panneau `Script` de l’onglet `Maths` dans Grasshopper.
- Les paramètres d’entrée proposent trois modes d’accès : Item, List et Tree.
- Type Hint peut convertir les données d’entrée vers le type sélectionné avant l’exécution du script.
- Désactiver le paramètre de sortie standard inutilisé peut réduire le traitement superflu, en particulier dans les définitions comportant de nombreux composants.
Ce guide s’appuie sur les explications consacrées aux scripts Python dans Grasshopper, mises à jour le 29 septembre 2026 dans la documentation pour développeurs de Rhino. Il est possible d’ajouter dans Grasshopper un composant Python 3 ou IronPython 2 Script ; dans le composant Script générique, Python 3 peut également être sélectionné dans le menu des langages. Les étapes ci-dessous portent sur la bonne configuration des entrées, de l’accès aux données et des sorties avant la création de géométrie. La documentation précise que certaines options dépendent de la version de Rhino ; par exemple, l’option permettant de rendre un paramètre d’entrée obligatoire est disponible à partir de Rhino 8.14.
1. Ajouter et nommer le composant Script
Dans le canevas Grasshopper, ajoutez le composant Python 3 Script depuis le panneau Script de l’onglet Maths. Vous pouvez aussi placer le composant Script générique, puis sélectionner Python 3 dans le menu des langages. Un double-clic sur le composant ouvre l’éditeur de script ; la barre d’état de l’éditeur indique la version du langage Python utilisée.
Les scripts sont généralement intégrés au composant et ne sont pas enregistrés dans des fichiers séparés. Si la définition contient plusieurs scripts, renommez le composant pour décrire sa fonction. L’onglet Script et le panneau des points d’arrêt reprennent ce nom. Donnez également des noms explicites aux paramètres d’entrée et de sortie : la personne qui reprend la définition comprendra ainsi plus facilement quelles données sont attendues et quel résultat est produit.
2. Configurer le premier script avec des entrées et des sorties
Par défaut, le composant Script comporte les entrées x et y, ainsi que les sorties out et a. Ces paramètres peuvent être supprimés s’ils ne sont pas nécessaires. Les commandes d’ajout et de suppression des entrées et des sorties deviennent visibles lorsque le composant est suffisamment agrandi. Il est également possible de supprimer tous les paramètres d’un côté ; le composant représente alors ce bord différemment.
Pour un premier essai, additionnez deux nombres et affectez le résultat à la sortie a :
a = x + yEn Script-Mode, le composant définit les variables d’entrée avant l’exécution du script ; les valeurs affectées aux variables de sortie sont ensuite transmises aux sorties du composant. Dans cet exemple, les entrées x et y doivent être reliées à des valeurs compatibles. Si les entrées sont vides, leurs valeurs peuvent être None, et l’addition de ces deux valeurs provoquera une erreur à l’exécution. Comme Python n’est pas un langage à typage strict, les opérations incompatibles peuvent entraîner des problèmes pendant l’exécution du script.
3. Choisir le type d’entrée et le mode d’accès aux données
Définir un Type Hint par un clic droit sur un paramètre d’entrée permet de convertir les données reçues par le composant avant l’exécution du script. Dans l’exemple de la documentation, deux valeurs Line sont converties en valeurs numériques au moyen de l’indication de type float, puis additionnées par le script. Les options Type Hint sont disponibles pour les paramètres d’entrée comme de sortie. Il faut vérifier avec les données reliées que la conversion produit le résultat attendu.
L’option Parameter Access du menu du paramètre détermine la portée des données traitées par le script :
| Accès | Structure transmise au script | Quand l’utiliser ? |
|---|---|---|
| Item | Chaque élément est traité séparément | Pour traiter les éléments un par un |
| List | Les éléments d’une branche sont traités ensemble | Pour traiter collectivement la liste d’une branche |
| Tree | La structure de données entière est traitée ensemble | Pour travailler sur l’ensemble des branches et des éléments |
Avec l’accès Item, un nombre apparaît côté Python comme une valeur unique ; avec List, les valeurs d’une branche apparaissent sous forme de liste. L’accès Tree donne accès à l’arborescence de données Grasshopper. L’indication de type peut également aider à définir le type des éléments dans une structure DataTree générique. Avant de choisir le mode d’accès, déterminez si le script doit traiter un seul élément, une liste ou l’arborescence entière.
4. Gérer les sorties et les exigences des entrées
Le paramètre out récupère le texte produit par les appels print() du script. Par défaut, chaque ligne devient un élément de sortie distinct. Lorsque l’option Avoid Grafting Output Lines est activée, les lignes imprimées sont transmises sous la forme d’un seul élément. Si le script n’écrit rien dans la console, le paramètre out peut être désactivé via l’option Standard Output/Error Parameter du menu contextuel du composant.
Désactiver le paramètre out lorsqu’il n’est pas utilisé empêche le composant de récupérer et de traiter le texte imprimé. La documentation indique que le gain peut être faible pour un seul composant, mais que cette configuration peut avoir davantage d’intérêt dans les grandes définitions Grasshopper, où de nombreux composants sont exécutés des milliers de fois.
Au départ, les entrées de script sont facultatives. Si une entrée doit obligatoirement recevoir des données, utilisez l’option Required du menu contextuel du paramètre d’entrée. La documentation officielle précise que cette option est disponible à partir de Rhino 8.14. Signaler les entrées obligatoires, notamment avant de publier le script, réduit le risque d’exécution avec des données manquantes.
Utilisation dans les flux de travail d’architecture et de visualisation
Pour les architectes, les architectes d’intérieur et les équipes de visualisation, ces réglages contribuent à transformer des étapes de modélisation répétitives en définitions Grasshopper plus lisibles. Par exemple, préciser les données attendues à l’aide des noms de paramètres et définir le type d’entrée facilite la reprise de la définition par les membres de l’équipe. Le choix entre Item, List et Tree détermine également si l’opération s’applique à des éléments individuels ou à un groupe de données.
Pour les géométries plus complexes, ce guide ne suffit pas à lui seul : la source n’aborde pas les API de Rhino ou de Grasshopper et renvoie à une documentation distincte sur ces sujets. Commencez donc par valider le flux avec un script simple et un petit jeu de données, puis passez à la définition réelle. Ces sources ne fournissant aucune information sur les exigences en matière de poste de travail ou de licence, aucune recommandation supplémentaire concernant le matériel ou les coûts n’est formulée ici.
Erreurs fréquentes
Négliger les entrées vides et traiter des valeurs
None: vérifiez que les entrées sont connectées et qu’elles correspondent au type attendu.Ne pas choisir le mode d’accès aux paramètres en fonction des besoins du script : Item, List et Tree fournissent des structures de données différentes.
Laisser activé le paramètre
outalors qu’il n’est pas utilisé : si la sortie deprint()n’est pas nécessaire, ce paramètre peut être désactivé.Ne pas nommer clairement les paramètres : dans les définitions partagées notamment, cela rend la fonction des entrées et des sorties moins évidente.
Sources
1 sourceLes textes sources ne sont pas republiés ; les courtes citations sont signalées, le reste est notre propre résumé et commentaire.
Pour les agences d’architecture et de visualisation en Turquie, le principal intérêt des recommandations de cette documentation est moins de mettre à niveau le matériel que de rendre les définitions Grasshopper plus fiables et plus faciles à transmettre. Des noms de paramètres explicites, un accès aux données adapté et l’identification des entrées obligatoires peuvent faire gagner du temps, en particulier lorsque plusieurs membres d’une équipe utilisent la même définition.
L’effet de la désactivation du paramètre `out` peut être limité pour un seul composant ; toutefois, dans les définitions sollicitées qui comptent de nombreux composants, elle peut réduire les traitements inutiles. Il est important de tester les changements dans le flux de travail réel et de vérifier les options qui dépendent de la version de Rhino. Les sources ne contenant aucune information sur le matériel, les prix ou les licences, il faudra consulter d’autres documents officiels pour prendre des décisions sur ces sujets.
Questions fréquentes
Comment ajouter le composant Python 3 Script dans Grasshopper ?
Dans Grasshopper, le composant Python 3 Script s’ajoute depuis le panneau `Script` de l’onglet `Maths`. Si vous utilisez le composant Script générique, sélectionnez Python 3 dans le menu des langages.
Que signifient les modes d’accès Item, List et Tree dans Python pour Grasshopper ?
Item traite les données une par une, List regroupe les éléments d’une branche et Tree traite la structure de données entière. Le choix dépend de la manière dont le script doit traiter les données.
À quoi sert le paramètre out du composant Python dans Grasshopper ?
`out` récupère le contenu imprimé avec `print()` dans le script. Si la sortie console n’est pas utilisée, ce paramètre peut être désactivé depuis le menu contextuel du composant.



