La Console de Python

La Console de Python est un moyen rapide d’exécuter des commandes, avec accès à tout l’API Python, à l’historique des commandes et à l’auto-complétion. L’invite de commande est typique pour Python 3.x, l’interpréteur est chargé et est prêt à accepter des commandes à l’invite >>>.

La Console de Python est un bon moyen pour explorer les possibilités du Python intégré dans Blender. La console de Python peut être utilisée pour tester de petits bouts de code Python qui peuvent ensuite être collés dans des scripts plus grands.

../_images/editors_python-console_default.png

La Console de Python.

Interface

Menus de l’entête

Menu View

Zoom In / Zoom Out

Augmente/diminue la taille de la fonte du texte de la console.

Move to Previous Word Ctrl-Gauche

Déplace le curseur au début du mot précédent. Si le curseur est au milieu d’un mot, le curseur est déplacé au début du mot courant.

Move to Next Word Ctrl-Droite

Déplace le curseur à la fin du mot suivant. Si le curseur est au milieu d’un mot, le curseur est déplacé à la fin du mot courant.

Move to Line Begin Début

Déplace le curseur au début de la ligne courante.

Shift-Début : Sélectionne tout le texte entre le curseur et le début de la ligne courante.

Move to Line End Fin

Déplace le curseur à la fin de la ligne courante.

Shift-Fin : Sélectionne tout le texte entre le curseur et la fin de la ligne courante.

Menu Console

Clear All

Réactualise la console en donnant un nouveau départ à la vue. Notez que l’historique de cette commande n’est pas effacé.

Clear Line Maj-Entrée.

Supprime tout dans la ligne d’invite.

Delete Previous Word Ctrl-Ret.Arr.

Supprime tout entre le curseur et le début du mot suivant (séparé par des points). Si le curseur est au milieu d’un mot, il supprime tout jusqu’au début du mot suivant.

Delete Next Word Ctrl-Suppr.

Supprime tout entre le curseur et la fin du mot suivant. Si le curseur est au milieu d’un mot, cela supprime tout jusqu’à la fin du mot courant.

Copy as Script Maj-Ctrl-C

Copie tout le tampon de l’historique dans le presse-papier, ceci peut être collé dans un fichier texte pour être utilisé comme un script Python.

Cut Ctrl-X

Supprime le texte sélectionné et le copie dans le presse-papiers.

Copier Ctrl-C

Copier la sélection.

Paste Ctrl-V

Coller dans la ligne de commande.

Indent Tab

Insère un caractère tab au niveau du curseur.

Unindent Maj-Tab

Désindente la sélection.

Backward in History Haut

Change la commande courante en la commande précédente telles qu’elles apparaissent dans l’historique des commandes.

Forward in History Bas

Change la commande courante en la commande suivante telles qu’elles apparaissent dans l’historique des commandes.

Autocomplete Tab

Voir Complétion automatique pour plus d’informations.

Vue principale

Raccourcis clavier

  • LMB – Déplace le curseur le long de la ligne de saisie.

  • Gauche / Droite – Déplacement du curseur.

  • Ctrl-Gauche / Ctrl-Droite – Déplacement du curseur, par mot.

  • Maj-Gauche / Maj-Droite – Sélectionne les caractères à gauche/droite.

  • Ctrl-Maj-Gauche / Ctrl-Maj-Droite – Sélectionne les mots à gauche/droite.

  • Ctrl-A – Sélectionne tout le texte et l’historique du texte.

  • Ret.Arr. / Suppr. – Effacer des caractères.

  • Ctrl-Ret.Arr. / Ctrl-Suppr. – Effacer des mots.

  • Entrée – Exécuter la commande.

  • Maj-Entrée – Ajouter à l’historique des commandes sans l’exécuter.

Utilisation

Alias

Certains variables et modules sont disponibles pour des raisons pratiques :

  • C : accès rapide à bpy.context.

  • D : accès rapide à bpy.data.

  • bpy : module Top Level de l’API Python de Blender.

Premier pas avec l’environnement de la Console

Pour vérifier ce qui est chargé dans l’environnement de l’interpréteur, tapez dir() sur la ligne d’invite et exécutez-le.

../_images/editors_python-console_dir.png

Complétion automatique

À présent, tapez bpy. et ensuite pressez Tab et vous verrez en action la fonction de complétion automatique de la Console.

../_images/editors_python-console_completion.png

Vous remarquerez qu’une liste de sous-modules dans bpy apparaît. Ces modules encapsulent tout ce que nous pouvons faire avec l’API Python de Blender et sont des outils très puissants.

Listons tout le contenu du module bpy.app.

Notez la sortie en vert au dessus de l’invite où vous avez activé la complétion automatique. Ce que vous voyez est le résultat du listing de la complétion automatique. Dans le listing ci-dessus ce sont tous des noms attribués à des modules, mais si vous voyez un nom se terminant par (, alors c’est une fonction.

Nous ferons grand usage de cela pour accélérer notre apprentissage de l’API. Maintenant que vous avez compris cela, passons à l’étude de certains modules de bpy.

Avant de jouer avec les modules

Si vous regardez la Vue 3D dans la scène par défaut de Blender, vous remarquerez trois objets : Cube, Light et Camera.

  • Tous les objets existent dans un contexte et il peut y avoir divers modes dans lesquels ils opèrent.

  • Dans tous les cas, un objet et un seul est actif et il peut y avoir plus d’un objet sélectionné.

  • Tous les objets sont enregistrés comme données dans le fichier blend.

  • Il existe des opérateurs/fonctions qui créent et modifient ces objets.

Pour tous les scénarios susmentionnés (pas tous sont mentionnés, bien entendu…) le module bpy fournit des fonctions pour accéder et modifier les données.

Exemples

bpy.context

Note

Pour que les commandes ci-dessous affichent la sortie correcte, assurez-vous que vous avez sélectionné un ou des objets dans la Vue 3D.

../_images/editors_python-console_bpy-context.png
bpy.context.mode

Affichera le mode Vue 3D courant (Object, Edit, Sculpt, etc.).

bpy.context.object ou bpy.context.active_object

Vous donnera accès à l’objet actif dans la Vue 3D.

Changer la position X à une valeur de 1 :

bpy.context.object.location.x = 1

Déplacer l’objet de la position X précédente de 0.5 unité :

bpy.context.object.location.x += 0.5

Modifier la position X, Y, Z :

bpy.context.object.location = (1, 2, 3)

Changer seulement les composants X et Y :

bpy.context.object.location.xy = (1, 2)

Le type de donnée de la position de l’objet :

type(bpy.context.object.location)

À présent c’est beaucoup de données auxquelles vous avez accès :

dir(bpy.context.object.location)
bpy.context.selected_objects

Donnera accès à une liste de tous les objets sélectionnés.

Tapez ceci et ensuite pressez sur Tab :

bpy.context.selected_objects

Pour afficher le nom du premier objet dans la liste :

bpy.context.selected_objects[0]

Une ligne complexe… Mais ceci affiche une liste d’objets n’incluant pas l’objet actif ::

[obj for obj in bpy.context.selected_objects if obj != bpy.context.object]

bpy.data

bpy.data a des fonctions et des attributs qui vous donnent accès à toutes les données dans le fichier blend.

Vous pouvez accéder à toutes les données suivantes dans le fichier blend courant : objets, maillages, matériaux, textures, scènes, écrans, sons, scripts, etc.

C’est beaucoup de données.

../_images/editors_python-console_bpy-data.png

bpy.ops

Le système d’outils est construit autour du concept d’opérateurs. Les opérateurs sont typiquement exécutés avec des boutons ou des menus mais peuvent aussi être appelés directement depuis Python.

Voir la documentation sur bpy.ops de l’API pour une liste de tous les opérateurs.