Консоль Python – Python Console

Консоль Python – Python Console – це швидкий спосіб виконання команд з доступом до всього Python API, історії команд та авто-завершення.

Це добрий спосіб досліджувати можливості, які можуть далі бути вставлені у більші скрипти.

Вступ – Introduction

Доступ до Вбудованої Консолі Python – Accessing Built-in Python Console

Натискання Shift-F4 в області будь-якого типу редактора Blender’а (3D Огляд – 3D View, Часолінія – Timeline тощо) дає змогу змінювати його на Редактор Консолі – Console Editor.

../_images/editors_python-console_default.png

Командний рядок або запрошення команд є типовим для Python 3.x, інтерпретатор завантажується і є готовим для прийняття команд у запиті >>>.

Перший Погляд на Середовище Консолі – First Look at the Console Environment

Для перевірки, що завантажено у середовище інтерпретатора, уведіть dir() у запит та виконайте його.

../_images/editors_python-console_dir.png

Авто Завершення – Auto Completion

Далі, уведіть bpy., а потім натисніть Ctrl-Spacebar та ви побачите функцію авто-завершення Консолі у дії.

../_images/editors_python-console_completion.png

Ви помітите, що з’явився список під-модулів всередині bpy. Ці модулі містять все, що ми можемо зробити за допомогою Blender Python API, та є дуже потужними засобами.

Дозволяє вивести у списку всіх елементів модуля bpy.app.

Зверніть увагу на зелений вивід над запитом, де ви викликали авто-завершення. Те, що ви бачите, – це результат списку авто-завершення. У списку вище – все це імена атрибутів модуля, але якщо ви бачите у кінці якогось імені (, то це є функція.

Ми будемо використовувати це багато для чого, щоб допомогти собі вивчити цей API швидше. Тепер, як ви вивели це, воно допоможе перейти до дослідження деяких модулів у bpy.

Перед Возінням з Модулями – Before Tinkering with the Modules

Якщо ви подивитеся на 3D Огляд у стандартній сцені Blender’а, то ви помітите три об’єкти: Куб – Cube, Освітлювач – Light та Камеру – Camera.

  • Усі ці об’єкти існують у контексті та можуть бути різні режими, в яких ними оперується.
  • У будь-якому випадку, тільки один об’єкт є активним та може бути виділено більше, ніж один об’єкт.
  • Усі об’єкти – це дані у blend-файлі.
  • Існують оператори/функції, що створюють та модифікують ці об’єкти.

Для всіх сценаріїв, перелічених вище (не все ще було перераховано, пам’ятайте…) модуль bpy надає функціональність для доступу і модифікації даних.

Приклади – Examples

bpy.context

Примітка

Для команд нижче, щоб отримати правильний вивід, переконайтеся, що ви вибрали об’єкт(и) у 3D Огляді.

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

Спробуйте!

bpy.context.mode
Буде виводити поточний режим 3D Огляду (Об’єкта – Object, Редагування – Edit, Ліплення –Sculpt тощо).
bpy.context.object or bpy.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)

Зміна лише компонентів X, Y:

bpy.context.object.location.xy = (1, 2)

The data type of object’s location:

type(bpy.context.object.location)

Тепер, є багато даних, до яких ви маєте доступ:

dir(bpy.context.object.location)
bpy.context.selected_objects
Буде давати доступ до списку усіх вибраних об’єктів.

Уведіть це та далі натисніть Ctrl-Spacebar:

bpy.context.selected_objects

Для виводу імені першого об’єкта у списку:

bpy.context.selected_objects[0]

Складніше… Але це виводить список об’єктів, що не включають активний об’єкт:

[obj for obj in bpy.context.selected_objects if obj != bpy.context.object]

bpy.data

bpy.data має функції та атрибути, що дають вам доступ до усіх даних у blend-файлі.

Ви можете мати доступ до таких даних у поточному blend-файлі: об’єкти, сіті, матеріали, текстури, сцени, екрани, звуки, скрипти тощо.

Це багато даних.

Спробуйте!

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

bpy.ops

Система засобів побудована на концепції операторів – operator. Оператори типово виконуються за допомогою кнопок або меню, але можуть бути викликані також безпосередньо з Python.

Дивіться документацію про список усіх операторів API тут – bpy.ops.

Використання – Usage

Псевдоніми – Aliases

Деякі змінні та модулі доступні для зручності:

  • C: Швидкий доступ до bpy.context.
  • D: Швидкий доступ до bpy.data.
  • bpy: Модуль верхнього рівня Blender Python API.

Клавіатурні Прив’язування – Key Bindings

  • Up / Down – Циклічний перехід по історії команд.
  • Left / Right – Переміщення текстового курсора.
  • Ctrl-Left / Ctrl-Right – Переміщення текстового курсора по словах.
  • Backspace / Delete – Стирання символів.
  • Tab – Відступ.
  • Shift-Tab – Скасування відступу.
  • Ctrl-Backspace / Ctrl-Delete – Стирання слів.
  • Ctrl-Spacebar – Авто завершення.
  • Return – Виконання команди.
  • Shift-Return – Додати в історію команд без виконання.
  • Ctrl-C – Копіювати вибрання.
  • Ctrl-V – Вставити у командний рядок.