用于创建工具架面板的 Blender 脚本没有给出任何结果

Kur*_*urt 5 python blender python-3.x blender-2.61

我找到了教程,并一直在尝试在工具架中创建我自己的面板,但我的面板无法工作,没有明显的原因。

我正在使用 Blender 2.63,并且我还在 Blender 2.58 和 2.56 中尝试了完全相同的脚本,两者都有完全相同的结果。没有什么。

我已经数不清这个脚本的次数了,我没有看到任何拼写错误或不正确的单词,但它仍然没有任何作用。更糟糕的是我没有收到任何错误消息。

当我单击文本编辑器中的“运行脚本”按钮时,我收到的唯一消息是我已运行该脚本。在工具架中,它以与添加立方体相同的方式将其显示在底部,只是对于立方体,您会获得一些选项,例如立方体的位置/比例等。它还在信息窗口中显示为:

bpy.ops.text.run_script()
Run Code Online (Sandbox Code Playgroud)

这就是我的代码的样子:

import bpy

class customToolshelfPanel(bpy.types.Panel):
    bl_space_type = "VIEW_3D"
    bl_region_type = "TOOLS"
    bl_context = "objectmode"
    bl_label = "Custom Toolshelf Panel"

    def draw(self, context):
        layout = self.layout
        col = layout.column(align=True)

        col.label(text="Add:")
        col.operator("mesh.primitive_plane_add", icon="MESH_PLANE")
        col.operator("mesh.primitive_cube_add", icon="MESH_CUBE")
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,因为 Blender 根本不知道是否有问题。

iKl*_*lsR 3

你需要注册该类..将其添加到脚本的底部

bpy.utils.register_class(customToolshelfPanel)
Run Code Online (Sandbox Code Playgroud)

并确保脚本在搅拌机关闭后被删除,您还需要取消注册它

bpy.utils.unregister_class(customToolshelfPanel)
Run Code Online (Sandbox Code Playgroud)

您可能还想在运行脚本后按几次 T 来更新界面。