Blender:属性错误:“_RestrictContext”对象没有属性“场景”

问题描述 投票:0回答:1

运行我的脚本时,出现此错误:

AttributeError:“_RestrictContext”对象没有属性“scene”

我正在尝试创建一个优化脚本:

bl_info = {
    "name": "Empic Stone",
    "author": "Null",
    "version": (0, 0, 1),
    "blender": (2, 79, 0),
    "location": "VIEW3D > ADD > Mesh",
    "description": "Empic Stone",
    "warning": "",
    "wiki_url": "",
    "tracker_url": "",
    "category": "Add Mesh"
}

# Imports
import bpy

# Mesh - Create Cubic
bpy.ops.mesh.primitive_cube_add(location=(0.00, 0.00, 1.00))

def draw_item(self, context):
     self.layout.operator_context = 'INVOKE_DEFAULT'
     self.layout.operator(EpicStone.bl_idname, text="Epic Stone", icon="PLUGIN")

def register():
    bpy.utils.register_module(__name__)
    bpy.types.INFO_MT_mesh_add.append(draw_item)

def unregister():
    bpy.utils.unregister_module(__name__)
    bpy.types.INFO_MT_mesh_add.remove(draw_item)

if __name__ == '__main__':
     register()
python blender
1个回答
5
投票

指定此脚本适用于搅拌机可能会对人们有所帮助。我曾经使用过它,这是我认识它的唯一原因。无论如何,通常会发生这种错误,因为 Blender 限制对 bpy.context 和 bpy.data 的访问。这是来自文档

这样做是因为无法保证数据加载时 注册的插件将在用户使用时激活甚至存在 访问插件定义的运算符。 如果您看到这样的异常,则需要更新插件以在执行期间而不是注册时访问上下文:

现在不要“重新发明轮子”,请点击上面的链接并遵循他们的代码。

© www.soinside.com 2019 - 2024. All rights reserved.