Python 控制台

    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.

    Python 控制台。

    视图菜单

    视图缩放

    增加/减小控制台文本的字体大小。

    Move to Previous Word Ctrl-Left

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

    Move to Next Word Ctrl-Right

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

    移动到行首 Home

    将光标移动到行首。

    移动到行尾 End

    将光标移动到行尾。

    控制台菜单

    清除全部

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

    清除行 Shift-Return。

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

    删除前一单词 Ctrl-Backspace

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

    删除下一个单词 Ctrl-Delete

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

    复制为脚本 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.

    复制选中文本。

    粘贴 Ctrl-V

    粘贴到命令行。

    缩进 Tab

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

    取消缩进 Shift-Tab

    取消选中行缩进。

    在历史记录中后退 Up

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

    在历史记录中前进 Down

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

    Autocomplete Tab

    更多信息见 。

    主视图

    键位绑定

    • Left / Right — 光标动作。
    • Ctrl-Left / Ctrl-Right — 光标动作,用文字。
    • Backspace / Delete — 擦除字符。
    • Ctrl-Backspace / Ctrl-Delete — 擦除文字。
    • Return — 执行命令。
    • Shift-Return — 添加到命令历史记录而不执行。

    别名

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

    • C: 快速访问 bpy.context
    • bpy: 顶层级Blender Python API模块。

    若要检查已经加载到了解释器环境的模块,请在提示符下键入 dir() 并执行。

    ../_images/editors_python-console_dir.png

    自动补全

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

    您会注意到 bpy 子模块的列表出现。这些模块作为一组非常强大的工具,封装了我们用Blender Python API能做的一切。

    让我们列出 bpy.app 模块的所有内容。

    注意在启用自动补全后,命令提示符上方的绿色输出。您看到的是自动补全功能列出的可能结果。以上列表中所列出的内容都是模块属性名称,但凡您看到的任何以 ( 结尾的名称都是函数。

    我们将充分利用这一点来帮助我们更快地学习API。既然您已经掌握了一些窍门,让我们继续研究 bpy 中的一些模块。

    小试牛刀前

    • 所有对象的都存在上下文,以及各种模式及其对应的操作。
    • 在任何情况下,只有一个物体处于活动状态,并且可以有多个选定对象。
    • 所有物体都是blend文件中的数据。
    • 存在创建和修改这些对象的操作/函数。

    对于以上所简要列出的内容 (并非全部列出, 请注意…) “bpy” 模块提供了访问和修改数据的相关功能。

    Note

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

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

    bpy.context.mode

    将打印当前3D视图所处于的模式 (物体、 编辑、 雕刻等)。

    bpy.context.object

    将获得对3D视图中当前活动对象的访问。

    将X位置数值更改为1:

    将物体从前一个X位置移动0.5个单位:

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

    修改X, Y, Z 位置:

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

    只修改X,Y分量:

    物体位置的数据类型:

    1. type(bpy.context.object.location)

    现在您可以访问到许多的数据:

    1. dir(bpy.context.object.location)

    bpy.context.selected_objects

    可以访问所有选定对象的列表。

    Type this and then press Tab:

    打印列表中第一个对象的名称:

    1. bpy.context.selected_objects[0]

    以下是一个比较复杂的示例……但是这会打印一个不包含当前活动对象的对象列表:

      bpy.data

      bpy.data 具有访问.blend文件中所有数据的函数和属性。

      你可以访问当前.blend文件中的以下数据: 对象、网格、材质、纹理、场景、窗口、 声音、 脚本等。

      所有内容汇总起来将会有相当多的数据。

      bpy.ops

      全部操作列表的API文档见 bpy.ops