Console Python¶
The Python Console is a quick way to execute commands, with access to the entire Python API, command history and auto-complete.
É uma boa maneira de explorar as possibilidades, as quais então podem ser coladas em scripts maiores.
Introdução¶
Acessando o Console Python embutido¶
Pressionando Shift-F4 em quaisquer dos tipos de editor do Blender (Janela de visualização 3D, Linha do tempo, etc.) você pode alterná-lo para um editor de console.
O prontuário de comandos é típico para a linguagem Python 3.x, e o interpretador é carregado e estará pronto para receber comandos diretamente no prontuário >>>
.
Primeiro olhar sobre o ambiente de console¶
Para verificar o que foi carregado dentro do ambiente do interpretador, digite dir()
diretamente no prontuário e execute.
Completar automaticamente¶
Agora, digite bpy.
e então pressione Ctrl-Barra de espaço e você irá ver a funcionalidade de auto-completar no console (linha de comando) em ação.
Você irá notar que uma lista de sub-módulos presentes dentro do bpy
irá aparecer. Estes módulos encapsulam tudo o que podemos fazer com a API Python do Blender e são ferramentas bastante poderosas.
Vamos listar todos os conteúdos do módulo bpy.app
.
Notice the green output above the prompt where you enabled auto-completion.
What you see is the result of auto completion listing.
In the above listing all are module attributed names,
but if you see any name end with (
, then that is a function.
Nós faremos uso disto um bocado para ajudar você a aprender a nossa API mais rapidamente. Agora que você colocou as mãos e já tem uma noção sobre o assunto, vamos proceder com a investigação de alguns módulos presentes dentro do bpy
.
Antes de brincar um pouco com os módulos¶
If you look at the 3D View in the default Blender scene, you will notice three objects: Cube, Light and Camera.
- Todos os objetos existem em um contexto e podem haver diversos modos sob os quais eles poderão ser operados.
- Em qualquer instância, somente um objeto estará ativo e pode haver mais de um objeto selecionado.
- Todos os objetos são referenciados como dados dentro do arquivo Blender.
- Existem operadores e funções que criam e modificam estes objetos.
Para todos os cenários listados acima (nem todos foram listados, há mais e pense em quantos…) o módulo bpy
provê funcionalidade para acessar e modificar dados.
Exemplos¶
bpy.context¶
Nota
Para que os comandos listados abaixo mostrem a saída apropriada, certifique-se de ter objetos selecionados dentro da janela de visualização 3D.
Coloque as mãos na massa !¶
bpy.context.mode
- Irá imprimir o modo atual da janela de visualização 3D (Objeto, Edição, Escultura, etc.).
bpy.context.object
orbpy.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)
Altera somente os componentes X e Y:
bpy.context.object.location.xy = (1, 2)
The data type of object’s location:
type(bpy.context.object.location)
Agora, há bastante dados que fornecem a você acesso a:
dir(bpy.context.object.location)
bpy.context.selected_objects
- Irá fornecer acesso a uma lista de todos os objetos selecionados.
Digite isto e então pressione Ctrl-Bara de espaço:
bpy.context.selected_objects
Para imprimir o nome do primeiro objeto dentro da lista:
bpy.context.selected_objects[0]
A parte um pouco mais complexa… Mas isso imprime uma lista de objetos que não incluem o objeto ativo:
[obj for obj in bpy.context.selected_objects if obj != bpy.context.object]
bpy.data¶
bpy.data
possui funções e atributos que irão fornecer acesso a todos os dados dentro do arquivo Blender.
Você pode acessar os seguintes dados dentro do arquivo Blender atual: objetos, malhas, materiais, texturas, cenas, telas, sons, scripts, etc.
São bastante dados.
Coloque as mãos na massa !¶
bpy.ops¶
O sistema de ferramentas é construído em torno do conceito de operadores. Os operadores são tipicamente executados a partir dos botões ou menus que podem ser chamados diretamente também a partir da linguagem de programação Python.
Veja a documentação da API que explica os bpy.ops para uma lista de todos os operadores.
Utilização¶
Apelidos¶
Algumas variáveis e módulos estão disponíveis para conveniência:
C
: Fornece acesso rápido abpy.context
.D
: Fornece acesso rápido abpy.data
.bpy
: O módulo de nível mais alto da API Python do Blender.
Atalhos vinculados¶
- Seta p/ cima / Seta p/ baixo – Permite ciclar entre o histórico de comandos.
- Seta à esq. / Seta à dir. – Movimenta o cursor.
- Ctrl-Seta à esq. / Ctrl-Seta à dir. – Movimenta o cursor, saltando entre palavas.
- Backspace / Delete – Apaga os caracteres.
- Tab – Indentar.
- Shift-Tab – Remover indentação.
- Ctrl-Backspace / Ctrl-Delete – Apaga as palavras.
- Ctrl-Spacebar – Auto completar.
- Return – Execute command.
- Shift-Enter – Adiciona ao histórico de comandos sem executar.
- Ctrl-C – Copia a seleção.
- Ctrl-V – Cola na linha de comando.