Python 控制台

The Python Console offers a quick way to test code snippets and explore Blender’s API. It executes whatever you type on its >>> prompt and has command history and auto-complete.

../_images/editors_python-console_default.png

Python 控制台。

界面

标题栏菜单

视图菜单

视图缩放

增加或减少字体尺寸。

移动到前一个单词 Ctrl-Left

将光标移到前一个单词的开头。如果光标位于单词的中间,则光标将移动到当前单词的开头。

移动到后一个单词 Ctrl-Right

将光标移动到下一个单词的末尾。如果光标位于单词的中间,则光标将移动到当前单词的末尾。

移动到行首 Home

将光标移动到行首。

Shift-Home:选择光标和当前行开头之间的所有内容。

移动到行尾 End

将光标移动到行尾。

Shift-End:选择光标和当前行末尾之间的所有内容。

控制台菜单

清除全部

刷新控制台,使视图重新开始。请注意,这不会清除命令历史记录。

清除行 Shift-Return。

从提示符行中删除所有内容。

删除前一单词 Ctrl-回退键

删除光标和前一个单词开头之间的所有内容(按句号分隔)。如果光标位于单词的中间,则删除到当前单词开头的所有内容。

删除下一单词 Ctrl-Delete

删除光标和下一个单词末尾之间的所有内容。如果光标位于单词的中间,则删除到当前单词末尾的所有内容。

复制为脚本 Shift-Ctrl-C

将完整的历史记录缓冲复制到剪贴板,这可以粘贴到文本文件中,用作 Python 脚本。

剪切 Ctrl-X

复制选中的文本至剪贴板,随即将其删除。

复制 Ctrl-C

复制选中的文本至剪贴板。

粘贴 Ctrl-V

粘贴到命令行内。

缩进 Tab

在光标处插入一个制表符。

取消缩进 Shift-Tab

取消选中行缩进。

在历史记录中后退 Up

Changes the current command to the previous one from the command history.

在历史记录中前进 Down

Changes the current command to the next one from the command history.

自动补全 Tab

详见 自动补全

主视图

键位绑定

  • LMB — 沿着输入行移动光标。

  • Left / Right — 光标移动一个字符距离。

  • Ctrl-Left / Ctrl-Right — 光标移动一个单词距离。

  • Shift-Left / Shift-Right — 选择左/右侧的字符。

  • Shift-Ctrl-Left / Shift-Ctrl-Right — 选择左/右侧的单词。

  • Ctrl-A Selects all text and text history.

  • 回退键 / Delete — 擦除字符。

  • Ctrl-回退键 / Ctrl-Delete — 擦除单词。

  • Return — 执行命令。

  • Shift-Return — 添加到命令历史记录而不执行。

用法

别名

一些变量和模块可以方便使用:

  • C: 快速访问 bpy.context

  • D: 快速访问 bpy.data

  • bpy: 顶层级Blender Python API模块。

初探控制台环境

To see the list of global functions and variables, type dir() and press Return to execute it.

../_images/editors_python-console_dir.png

自动补全

The Console can preview the available members of a module or variable. As an example, type bpy. and press Tab:

../_images/editors_python-console_completion.png

The submodules are listed in green. Attributes and methods will be listed in the same way, with methods being indicated by a trailing (.

示例

bpy.context

This module gives you access to the current scene, the currently selected objects, the current object mode, and so on.

Note

要使以下命令显示正确的输出,请确保在3D视图中有选中的物体。

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

获取当前3D视图的模式 (物体、 编辑、 雕刻等):

  1. bpy.context.mode

获取活动物体:

  1. bpy.context.object
  2. bpy.context.active_object

将活动物体 X 坐标更改为 1:

  1. bpy.context.object.location.x = 1

将活动物体沿 X 轴移动 0.5:

  1. bpy.context.object.location.x += 0.5

Change all three location coordinates in one go:

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

Change only the X and Y coordinates:

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

获取选中的物体:

  1. bpy.context.selected_objects

获取除了活动项以外的选中物体:

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

bpy.data

Gives you access to all the data in the blend-file, regardless of whether it’s currently active or selected.

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

bpy.ops

“Operators” are actions that are normally triggered from a button or menu item but can also be called programmatically. See the bpy.ops API documentation for a list of all operators.