Консоль Python – Python Console

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

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.

../_images/editors_python-console_default.png

Консоль Python – Python Console.

Інтерфейс – Interface

Меню Заголовків – Header Menus

Меню «Огляд» – View Menu

Призумування / Відзумування – Zoom In / Zoom Out

Збільшує/Зменшує розмір шрифту тексту консолі.

Переміститися до Попереднього Слова – Move to Previous Word Ctrl-Left

Переміщує курсор на початок попереднього слова. Якщо курсор є посередині слова, то цей курсор переміщується на початок поточного слова.

Переміститися до Наступного Слова – Move to Next Word Ctrl-Right

Переміщує курсор до кінця наступного слова. Якщо курсор знаходиться посередині слова, то цей курсор переміщується на кінець поточного слова.

Переміститися на Початок Рядка – Move to Line Begin Home

Переміщує курсор на початок поточного рядка.

Переміститися на Кінець Рядка – Move to Line End End

Переміщує курсор на кінець поточного рядка.

Меню «Консоль» – Console Menu

Зчистити Усе – Clear All

Освіжає консоль, давши огляду свіжий почин. Зауважте, що історія команд не зчищається.

Зчистити Рядок – Clear Line Shift-Return.

Вилучає все з рядка запрошення.

Видалити Попереднє Слово – Delete Previous Word Ctrl-Backspace

Видаляє все між курсором та початком попереднього слова (розділене крапками). Якщо курсор є посередині слова, то видаляє все до початку поточного слова.

Видалити Наступне Слово – Delete Next Word Ctrl-Delete

Видаляє все між курсором та кінцем наступного слова. Якщо курсор є посередині слова, то видаляє все до кінця поточного слова.

Копіювати як Скрипт – Copy as Script Shift-Ctrl-C

Copies the full history buffer to the clipboard, this can be pasted into a text file to be used as a Python script.

Копіювання – Copy Ctrl-C

Копіюється вибрання.

Вставляння – Paste Ctrl-V

Вставляється у командний рядок.

Відступ – Indent Tab

Вставляє символ табуляції у позиції курсора.

Зневідступ – Unindent Shift-Tab

Видаляє відступ для вибрання.

Назад в Історії – Backward in History Up

Змінює поточну команду на попередню команду, як вони з’являються в історії команд.

Уперед в Історії – Forward in History Down

Змінює поточну команду на наступну команду, як вони з’являються в історії команд.

Autocomplete Tab

Дивіться детальніше Auto Completion.

Головний огляд – Main View

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

  • Left / Right – Переміщення текстового курсора.

  • Ctrl-Left / Ctrl-Right – Переміщення текстового курсора по словах.

  • 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() у запит та виконайте його.

../_images/editors_python-console_dir.png

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

Now, type bpy. and then press Tab and you will see the Console auto-complete feature in action.

../_images/editors_python-console_completion.png

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.

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

Ми будемо використовувати це багато для чого, щоб допомогти собі вивчити цей API швидше. Тепер, як ви вивели це, воно допоможе перейти до дослідження деяких модулів у 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.

../_images/editors_python-console_bpy-context.png
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]

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

[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.