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 típico de Python 3.x, el intérprete se carga y está listo para aceptar comandos en el indicador >>>
.
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
Izquierda / Derecha – Moviemiento del cursor.
Ctrl-Izquierda / Ctrl-Derecha – Movimiento del cursor, por palabra.
Retroceso / Suprimir – Borra caracteres.
Ctrl-Retroceso / Ctrl-Suprimir – Borra palabras.
Intro – Ejecuta el comando.
Mayús-Intro – Agrega al historial de comandos sin ejecutar.
Uso¶
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, escriba dir()
en el indicador y ejecútelo.
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
.
Fíjese en el resultado verde sobre el indicador donde habilitó la finalización automática. Lo que ve es el resultado de la lista de finalización automática. En la lista anterior, todos son nombres atribuidos a módulos, pero si ve que algún nombre termina con (
, entonces es una función.
Haremos mucho uso de esto para ayudarnos a aprender la API más rápido. Ahora que domina esto, procedamos 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 en el archivo-blend.
Hay operadores/funciones que crean y modifican estos objetos.
Para todos los escenarios enumerados anteriormente (no todos fueron enumerados, téngalo en cuenta…) el módulo bpy
proporciona 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]
La compleja… Pero esto imprime una lista de objetos sin incluir el objeto activo:
[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.
Puede acceder a los siguientes datos en el archivo-blend actual: objetos, mallas, materiales, texturas, escenas, pantallas, sonidos, guiones, etc.
Eso es un montón de datos.