Python 控制台

Python 控制台为测试代码片段和探索 Blender 的 API 提供了一种快捷方式。它会执行您在 >>> 提示符上输入的任何内容,并具有命令历史记录和自动完成功能。

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

将当前命令更改为命令历史记录中出现的上一个命令。

在历史记录中前进 Down

将当前命令更改为命令历史记录中出现的下一个命令。

自动补全 Tab

详见自动补全

主视图

键位绑定

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

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

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

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

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

  • Ctrl-A 选择所有文本和文本历史。

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

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

  • Return -- 执行命令。

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

用法

别名

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

  • C: 快速访问 bpy.context

  • D: 快速访问 bpy.data

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

初探控制台环境

要查看全局函数和变量列表,请键入 dir() 并按 回车 执行。

../_images/editors_python-console_dir.png

自动补全

控制台可以预览模块或变量的可用成员。例如,键入 bpy. 并按 Tab

../_images/editors_python-console_completion.png

子模块以绿色列出。属性和方法将以同样的方式列出,方法用尾部的 ( 表示。

示例

bpy.context

通过该模块可以访问当前场景、当前选中的物体、当前物体模式等。

Note

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

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

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

bpy.context.mode

获取活动物体:

bpy.context.object
bpy.context.active_object

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

bpy.context.object.location.x = 1

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

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

一次性更改所有三个位置坐标:

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

只更改 X 和 Y 坐标:

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

获取选中的物体:

bpy.context.selected_objects

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

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

bpy.data

让您可以访问 blend 文件中的所有数据,无论其当前是否处于活动状态或已被选中。

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

bpy.ops

“操作符” 是通常由按钮或菜单项触发的操作,但也可以通过编程调用。有关所有操作符的列表,请参阅 bpy.ops API 文档。