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.

../_images/editors_python-console_default.png

Consola de Python.

Interfaz

Menús de Cabecera

Menú Vista

Acercarse/Alejarse

Aumenta/Disminuye el tamaño de fuente del texto de la consola.

Mover a la Palabra Anterior Ctrl-Izquierda

Mueve el cursor al principio de la palabra anterior. Si el cursor está en medio de una palabra, el cursor se mueve al principio de la palabra actual.

Mover a la Siguiente Palabra Ctrl-Derecha

Mueve el cursor al final de la siguiente palabra. Si el cursor está en medio de una palabra, el cursor se mueve al final de la palabra actual.

Mover al Inicio de Línea Inicio

Mueve el cursor al inicio de la línea actual.

Shift-Home: Selects all text between the cursor and the start of the current line.

Mover al Final de la Línea Fin

Mueve el cursor al final de la línea actual.

Shift-End: Selects all text between the cursor and the end of the current line.

Menú Consola

Eliminar Todo

Actualiza la consola dando a la vista un nuevo comienzo. Tenga en cuenta que el historial de comandos no se borra.

Eliminar Línea Mayús-Intro.

Elimina todo lo de la línea de solicitud.

Borrar Palabra Anterior Ctrl-Retroceso

Elimina todo entre el cursor y el comienzo de la palabra anterior (separado por puntos). Si el cursor está en medio de una palabra, borra todo hasta el principio de la palabra actual.

Borrar Palabra Siguiente Ctrl-Suprimir

Elimina todo entre el cursor y el final de la siguiente palabra. Si el cursor está en medio de una palabra, borra todo hasta el final de la palabra actual.

Copiar como Script Mayús-Ctrl-C

Copia el búfer del historial completo en el portapapeles, esto se puede pegar en un archivo de texto para usar como secuencia de comandos de Python.

Cortar Ctrl-X

Deletes the selected text and copies it to the clipboard.

Copiar Ctrl-C

Copia la selección.

Pegar Ctrl-V

Pega en la línea de comando.

Aumentar Sangría Tab

Inserta un carácter de tabulación en el cursor.

Quitar Sangría Mayús-Tab

Elimina la sangría de la selección.

Retroceder en Historial Arriba

Cambia el comando actual al comando anterior tal como aparecen en el historial de comandos.

Avanzar en Historial Abajo

Cambia el comando actual al siguiente comando tal como aparecen en el historial de comandos.

Autocompletar Tab

Ver Finalización automática para más información.

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.

  • Ctrl-Shift-Left / Ctrl-Shift-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.

Uso

Alias

Algunas variables y módulos están disponibles para su comodidad:

  • C: Acceso rápido a bpy.context.

  • D: Acceso rápido a bpy.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.

../_images/editors_python-console_dir.png

Finalización Automática

Ahora, escriba bpy. y luego presione Tab y verá la función de autocompletar de la consola en acción.

../_images/editors_python-console_completion.png

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.

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

Imprimirá el modo actual de la Vista 3D (Objeto, Editar, Esculpir, etc.).

bpy.context.object o bpy.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.

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

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.