1 + 1
*
) :(10 + cos(3.14)) * 2
bpy
(BlenderPYthon).b
puis utilisez la touche TAB (tabulation) pour faire apparaître une série de mots-clés disponibles.b
vous ajoutez un p
(cela fait bp
) et que vous « tabulez », vous voyez que la console vous a complété automatiquement le mot bpy
en ajoutant également un point .
à la fin. Si vous poursuivez maintenant la « tabulation », vous voyez apparaître les « sous-catégories » de bpy
: app, context, data, etc…
bpy.context.object.location.x
X
de l'objet sélectionné.=
) suivi d'une valeur, par exemple 2
.bpy.context.object.location.x = 2
x=2
. object
dans la catégorie context
, nous pouvons récupérer l'objet sélectionné :bpy.context.object
bpy.data.objects['Plan']
data
de la catégorie object
, nous accédons au maillage de l'objet :bpy.context.object.data
mesh
stockée dans la catégorie meshes
:bpy.data.meshes['Plan']
Plan
(ici, le même que le nom de l'objet)vertices
), des lignes, des faces, entre autres.vertices
bpy.context.object.data.vertices
[
et ]
en spécifiant le numéro de l'élément auquel nous souhaitons accéder. Pour accéder au premier point, il faut donc écrire :bpy.context.object.data.vertices[0]
co
(abréviation de co
ordonnées :bpy.context.object.data.vertices[0].co
Vector((-1.0, -1.0, 0.0))
X
de ce point nous écrivons donc :bpy.context.object.data.vertices[0].co.x
-1.0
X
du premier point.=
ainsi :a = bpy.context.object.data.vertices[0].co.x
a
, et cette variable contient maintenant la valeur x
de ce point.entrée
:a
a
:-1.0
b
pour stocker cette nouvelle information. Vous remarquez que cette fois-ci nous accédons au deuxième point en spécifiant le numéro 1
dans la liste des vertices
: vertices[1]
(n'oubliez pas que les listes sont numérotées à partir de 0).b = bpy.context.object.data.vertices[1].co.x
x
du point b
:b
b
, ici :1.0
entrée
).a
et b
qui contiennent les coordonnées x
des deux premiers points.b - a
2.0
a
et b
sont horizontaux (leurs valeurs en y
sont les mêmes) nous pouvons dire que nous avons ainsi calculé la longueur de cette ligne.l = b - a
.py
, c'est l'extension que nous donnons aux fichiers Python.formules.py
l
que nous avons précédemment calculée.def
(abréviation de def
inition) puis nous choisissons le nom de la fonction, par exemple longueur
, enfin nous ajoutons deux parenthèses, dans lesquelles, plus tard, nous spécifierons les variables que nous voulons utiliser. Enfin, nous ajoutons deux points :
pour terminer.def longueur():
def longueur(val):
val
(pour « valeur »).TAB
sur une seconde ligne, le mot-clé print
suivi de la variable val
entre parenthèses :def longueur(val): print(val)
def
qui contient le nom de la fonction, les parenthèses (obligatoires même si elles sont « vides »), d'éventuels noms de variables, puis les deux points :
print(val)
.TAB
. Cette même touche qui nous sert à : (1) passer en mode édition et (2) faire une auto-complétion dans la console.TAB
nous sert à ajouter un espace, ou plutôt une série d'espaces (qui sont donc « invisibles »). Par défaut, la touche TAB
ajoute 4 espaces.entrée
à la fin de la ligne de définition def longueur():
pour écrire la suite du texte (enfin, du code en l'occurence) sur une nouvelle ligne.:
, puis sur chaque nouvelle ligne du corps de la fonction.print
qui, comme son nom l'indique en anglais, sert à « imprimer », c'est-à-dire à afficher quelque chose dans la console.Fenêtre
:def longueur(val): print(val)
longueur
va simplement afficher la valeur de la variable que nous spécifions quand nous « appelons » la fonction.print(val)
nous ajoutons une nouvelle ligne (toujours avec la touche entrée
)entrée
).longueur(10)
def longueur(val): print(val) longueur(10)
Fenêtre
(la console système).10
affiché dans cette console.distance
et définissons deux variables a
et b
.def distance(a,b):
ax = bpy.context.object.data.vertices[a].co.x bx = bpy.context.object.data.vertices[b].co.x
X
des deux points que nous stockons dans deux variables ax
et bx
d = bx - ax
print(d)
def distance(a,b): ax = bpy.context.object.data.vertices[a].co.x bx = bpy.context.object.data.vertices[b].co.x d = bx - ax print(d)
distance(0,1)
def distance(a,b)\ : ax = bpy.context.object.data.vertices[a].co.x bx = bpy.context.object.data.vertices[b].co.x d = bx - ax print(d) distance(0,1) distance(1,2)
object.data.vertices
), donc le numéro qui permet, en comptant à partir de zéro, d'accéder à l'élément dans la liste; pour visualiser ce numéro, il faut activer l'option « développeur » dans les préférences de Blender.Indices
Site sous licence Creative Commons BY-NC-ND v4.0 : Milovann
Yanatchkov