Consola Python#
La consola de Python es una forma rápida de ejecutar comandos, con acceso a toda la API de Python, historial de comandos y autocompletado. El símbolo del sistema es el típico de Python 3.x, el intérprete se cargará y estará listo para aceptar comandos en el símbolo >>>
.
La Consola de Python es una buena forma de explorar las posibilidades de Python integrado en Blender. La consola de Python se puede usar para probar pequeños fragmentos de código de Python que luego se pueden pegar en secuencias de comandos más grandes.
Interfaz#
Vista Principal#
Atajos de Teclado
LMB – Moves the cursor along the input line.
Izquierda / Derecha – Moviemiento del cursor.
Ctrl-Izquierda / Ctrl-Derecha – Movimiento del cursor, por palabra.
Shift-Left / Shift-Right – Selects characters to the left/right.
Shift-Ctrl-Left / Shift-Ctrl-Right – Selects words to the left/right.
Ctrl-A Select all text and text history.
Retroceso / Suprimir – Borra caracteres.
Ctrl-Retroceso / Ctrl-Suprimir – Borra palabras.
Intro – Ejecuta el comando.
Mayús-Intro – Agrega al historial de comandos sin ejecutar.
Utilización#
Alias#
Algunas variables y módulos están disponibles para su comodidad:
C
: Acceso rápido abpy.context
.D
: Acceso rápido abpy.data
.bpy
: Módulo API Python de Blender de nivel superior.
Primer vistazo al entorno de la consola#
Para comprobar lo que se carga en el entorno del intérprete, escribir dir()
en el símbolo del sistema y ejecutarlo.
Finalización Automática#
Ahora, escriba bpy.
y luego presione Tab y verá la función de autocompletar de la consola en acción.
Notará que aparece una lista de submódulos dentro de bpy
. Estos módulos encapsulan todo lo que podemos hacer con Blender Python API y son herramientas muy poderosas.
Hagamos una lista de todos los contenidos del módulo bpy.app
.
Nótese el resultado en verde sobre el símbolo del sistema donde se habilitó la finalización automática. Lo que se ve es el resultado del listado de autocompletar. En la lista anterior, se muestran todos son nombres atribuidos a módulos, pero cuando se viera que algún nombre termina con (
, entonces se tratará de una función.
Se usará mucho esto para ayudar a aprender la API más rápido. Ahora que ya se domina esto, podremos proceder a investigar algunos de los módulos en bpy
.
Antes de Trastear con los Módulos#
Si observa la Vista 3D en la escena predeterminada de Blender, verá tres objetos: Cubo, Luz y Cámara.
Todos los objetos existen en un contexto y puede haber varios modos bajo los cuales se operan.
En cualquier instancia, sólo un objeto está activo y puede haber más de un objeto seleccionado.
Todos los objetos son datos del archivo .blend.
Hay operadores/funciones que crean y modifican estos objetos.
Para todos los escenarios listados arriba (no todos fueron listados, tenerlo en cuenta…) el módulo bpy
proporcionará funcionalidad para acceder y modificar datos.
Ejemplos#
bpy.context#
Nota
Para que los siguientes comandos muestren el resultado adecuado, asegúrese de haber seleccionado los objetos en la Vista 3D.
bpy.context.mode
Imprimirá el modo actual de la Vista 3D (Objeto, Editar, Esculpir, etc.).
bpy.context.object
obpy.context.active_object
Le dará acceso al objeto activo en la Vista 3D.
Cambia la ubicación X a un valor de 1:
bpy.context.object.location.x = 1
Mueve el objeto desde la ubicación X anterior en 0,5 unidades:
bpy.context.object.location.x += 0.5
Cambia la ubicación X, Y, Z:
bpy.context.object.location = (1, 2, 3)
Cambia sólo los componentes X, Y:
bpy.context.object.location.xy = (1, 2)
El tipo de datos de la ubicación del objeto:
type(bpy.context.object.location)
Ahora eso es una gran cantidad de datos a los que tiene acceso:
dir(bpy.context.object.location)
bpy.context.selected_objects
Dará acceso a una lista de todos los objetos seleccionados.
Escriba esto y luego presione Tab:
bpy.context.selected_objects
Para imprimir el nombre del primer objeto de la lista:
bpy.context.selected_objects[0]
The complex one… But this prints a list of selected objects not including the active object::
[obj for obj in bpy.context.selected_objects if obj != bpy.context.object]
bpy.data#
bpy.data
tiene funciones y atributos que le dan acceso a todos los datos en el archivo .blend.
Será posible acceder a los siguientes datos en el archivo .blend actual: objetos, mallas, materiales, texturas, escenas, pantallas, sonidos, scripts, etc.
Eso es un montón de datos.
bpy.ops#
El sistema de herramientas se basa en el concepto de operadores. Los operadores generalmente se ejecutan desde botones o menús, pero también se pueden llamar directamente desde Python.
Ver la documentación de la API bpy.ops para obtener una lista de todos los operadores.