Консоль Python – Python Console
The Python Console is a quick way to execute commands,
with access to the entire Python API, command history and auto-complete.
The command prompt is typical for Python 3.x,
the interpreter is loaded and is ready to accept commands at the prompt >>>
.
The Python Console is a good way to explore the possibilities of Blender built-in Python. The Python Console can be used to test small bits of Python code which can then be pasted into larger scripts.
Interface – Інтерфейс
Main View – Головний Огляд
Клавіатурні Прив’язування – Key Bindings
LMB – Moves the cursor along the input line.
Left / Right – Переміщення текстового курсора.
Ctrl-Left / Ctrl-Right – Переміщення текстового курсора по словах.
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.
Backspace / Delete – Стирання символів.
Ctrl-Backspace / Ctrl-Delete – Стирання слів.
Return – Виконання команди.
Shift-Return – Додати в історію команд без виконання.
Usage – Використання
Псевдоніми – Aliases
Деякі змінні та модулі доступні для зручності:
C
: Швидкий доступ доbpy.context
.D
: Швидкий доступ доbpy.data
.bpy
: Модуль верхнього рівня Blender Python API.
Перший Погляд на Середовище Консолі – First Look at the Console Environment
Для перевірки, що завантажено у середовище інтерпретатора, уведіть dir()
у запит та виконайте його.
Авто Завершення – Auto Completion
Now, type bpy.
and then press Tab and you will see the Console
auto-complete feature in action.
You will notice that a list of submodules inside of bpy
appear. These modules encapsulate all
that we can do with Blender Python API and are very powerful tools.
Дозволяє вивести у списку всіх елементів модуля 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.
We will make use of this a lot to help our learning the API faster.
Now that you got a hang of this, lets proceed to investigate some of modules in bpy
.
Перед Возінням з Модулями – Before Tinkering with the Modules
If you look at the 3D Viewport in the default Blender scene, you will notice three objects: Cube, Light and Camera.
Усі ці об’єкти існують у контексті та можуть бути різні режими, в яких ними оперується.
У будь-якому випадку, тільки один об’єкт є активним та може бути виділено більше, ніж один об’єкт.
Усі об’єкти – це дані у blend-файлі.
Існують оператори/функції, що створюють та модифікують ці об’єкти.
Для всіх сценаріїв, перелічених вище (не все ще було перераховано, пам’ятайте…) модуль bpy
надає функціональність для доступу і модифікації даних.
Examples – Приклади
bpy.context
Примітка
For the commands below to show the proper output, make sure you have selected object(s) in the 3D Viewport.
bpy.context.mode
Will print the current 3D Viewport mode (Object, Edit, Sculpt, etc.).
bpy.context.object
абоbpy.context.active_object
Will give you access to the active object in the 3D Viewport.
Змінюється значення локації по X на значення 1:
bpy.context.object.location.x = 1
Переміщується об’єкт з попередньої локації по X на 0.5 одиниці:
bpy.context.object.location.x += 0.5
Змінюється локація по X, Y, Z:
bpy.context.object.location = (1, 2, 3)
Змінюються лише компонентів X, Y:
bpy.context.object.location.xy = (1, 2)
Тип даних локації об’єкта:
type(bpy.context.object.location)
Тепер, є багато даних, до яких ви маєте доступ:
dir(bpy.context.object.location)
bpy.context.selected_objects
Буде давати доступ до списку усіх вибраних об’єктів.
Type this and then press Tab:
bpy.context.selected_objects
Для виводу імені першого об’єкта у списку:
bpy.context.selected_objects[0]
The complex one… But this prints a list of objects not including the active object:
[obj for obj in bpy.context.selected_objects if obj != bpy.context.object]
bpy.data
bpy.data
має функції та атрибути, що дають вам доступ до усіх даних у blend-файлі.
Ви можете мати доступ до таких даних у поточному blend-файлі: об’єкти, сіті, матеріали, текстури, сцени, екрани, звуки, скрипти тощо.
Це багато даних.
bpy.ops
The tool system is built around the concept of operators. Operators are typically executed from buttons or menus but can be called directly from Python too.
See the bpy.ops API documentation for a list of all operators.