Console de Python

La Console de Python est un moyen rapide d’exécuter des commandes, avec plein accès à l’API Python, un historique des commandes et une complétion automatique.

C’est une bonne manière d’explorer les possibilités, qui peuvent ensuite être collées dans des scripts plus grands.

Introduction

Accès à la Console intégrée de Python

En pressant Maj-F4 dans n’importe quel type d’éditeur de Blender (Vue 3D, Timeline, etc.) vous pouvez le changer en un Éditeur Console.

../_images/editors_python-console_default.png

L’invite de commande est typique pour Python 3.x, l’interpréteur est chargé et est prêt à recevoir les commandes à l’invite >>>.

Premier pas avec l’environnement de la Console

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

../_images/editors_python-console_dir.png

Complétion automatique

Maintenant tapez bpy. et ensuite pressez Ctrl-Espace 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 de bpy apparaît. Ces modules encapsulent tout ce que nous pouvons faire avec l’API Python de Blender et sont de très puissants outils.

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 figurent 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

If you look at the 3D View in the default Blender scene, you will notice three objects: Cube, Light and 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é le(s) objet(s) dans la Vue 3D.

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

Essayez-le !

bpy.context.mode
Va afficher le mode Vue 3D courant (Object, Edit, Sculpt, etc.).
bpy.context.object or bpy.context.active_object
Will give you access to the active object in the 3D View.

Change the X location to a value of 1:

bpy.context.object.location.x = 1

Move the object from previous X location by 0.5 unit:

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

Change the X, Y, Z location:

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

Changez seulement les composants X et Y

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

The data type of object’s location:

type(bpy.context.object.location)

Maintenant vous avez accès à beaucoup de données

dir(bpy.context.object.location)
bpy.context.selected_objects
Vous donnera accès à une liste de tous les objets sélectionnés.

Tapez ceci et ensuite pressez sur Ctrl-Espace:

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édez à 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.

Essayez-le !

../_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.

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

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 API Python Blender de haut niveau.

Raccourcis clavier

  • Haut / Bas – Défiler la commande historique.
  • Gauche / Droite – Déplacement du curseur.
  • Ctrl-Gauche / Ctrl-Droite – Déplacement du curseur, par mot.
  • Ret.Arr. / Suppr. – Effacer les caractères.
  • Tab – Indenter.
  • Maj-Tab – Désindenter.
  • Ctrl-Ret.Arr. / Ctrl-Suppr. – Effacer les mots.
  • Ctrl-Espace – Auto complétion.
  • Entrée – Exécuter la commande.
  • Maj-Entrée – Ajouter à la commande history sans exécution.
  • Ctrl-C – Copier la sélection.
  • Ctrl-V – Coller dans la ligne de commande.