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.verticesbpy.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 coordonné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.pyl que nous avons précédemment calculée.def (abréviation de definition) 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