Carré

Dans le fichier texte shapes.py, à la suite de la fonction Rectangle

Ajouter une fonction square(x,y,w) permettant de générer des carrés de toutes tailles.

Utiliser la fonction square() pour ajouter un carré à côté des deux premiers rectangles.

Voir plus bas les détails de construction.

Détails

Par la suite, nous masquons les «contenus» que vous devez créer par ...

Arguments

La fonction doit prendre 3 arguments et utiliser la fonction Rectangle

Nom

Les objets créés par la fonction square() doivent être nommés square

Pour renommer les objets créés par la fonction rectangle()

Il faut modifier la fonction rectangle() pour qu'elle retourne la variable obj qui contient l'objet Pygram qu'elle a créé:

def rectangle(...):
...
return obj

Dans la fonction square() maintenant, récupérer l'objet et le stocker dans une variable obj

obj = rectangle(...)

Puis utiliser dans la fonction square() la fonction rename() des objets Pygram:

obj.rename("square")

Structure

Le fichier shapes.py doit donc maintenant contenir les éléments suivants:

Le module d'importation

import bpy Pygram = bpy.data.texts["pygram.py"].as_module()

La fonction rectangle()

def rectangle(...) : ...

Suivie des appels de fonctions que nous pouvons maintenant stocker dans des variables

r1 = rectangle(...) r2 = rectangle(...)

Ensuite, nous avons la fonction square()

Dans laquelle un appel de la fonction rectangle() a lieu

def square(...): ... obj = rectangle(...) ... return obj

Enfin, nous appelons la fonction square() et stockons l'objet dans une nouvelle variable:

sq = square(...)

Attention à ne pas nommer la variable contenant l'objet carré «square», car ce nom est déjà utilisé par la fonction square().

Objets

À chaque fois que nous essayons ce script, de nouveaux objets sont créés qui viennent se superposer sur les objets précédemment créés.

Ajoutons juste en dessous de la ligne d'importation de module la fonction suivante pour supprimer tous les objets avant chaque nouvelle utilisation du script:

Pygram.cleanup()