Консоль 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.

../_images/editors_python-console_default.png

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

Інтерфейс – Interface

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

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

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

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

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

Moves the cursor to the beginning of the previous word. If the cursor is in the middle of a word, the cursor is moved to the beginning of the current word.

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

Moves the cursor to the end of the next word. If the cursor is in the middle of a word, the cursor is moved to the end of the current word.

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

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

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

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

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

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

Refreshes the console giving the view a fresh start. Note that command history is not cleared.

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

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

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

Deletes everything between the cursor and the beginning of the previous word (separated by periods). If the cursor is in the middle of a word, deletes everything to the beginning of the current word.

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

Deletes everything between the cursor and the end of the next word. If the cursor is in the middle of a word, deletes everything to the end of the current word.

Копіювати як Скрипт – 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.

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.

../_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]

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-файлі: об’єкти, сіті, матеріали, текстури, сцени, екрани, звуки, скрипти тощо.

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

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

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.