Я хотел бы создать всплывающее окно с несколькими кнопками. Вот код:
import bpy
class MaxFloater(bpy.types.Operator):
"""Tooltip"""
bl_idname = "view3d.max_floater"
bl_label = "MAX Floater"
@classmethod
def poll(cls, context):
return context.active_object is not None
def execute(self, context):
return {'FINISHED'}
def invoke(self, context, event):
return context.window_manager.invoke_props_dialog(self, width = 400)
def draw(self, context):
row = self.layout.row()
row.operator("mesh.primitive_cube_add")
row.operator("object.modifier_add", text="MIRROR").type='MIRROR'
def register():
bpy.utils.register_class(MaxFloater)
def unregister():
bpy.utils.unregister_class(MaxFloater)
if __name__ == "__main__":
register()
Все в порядке, за исключением того, что он ожидает, что какой-то объект будет выбран или последний выбранный объект будет существовать. Если этот объект удален, оператор не работает. (и не появляется в окне поиска оператора). Я не могу понять, почему это так? Это оператор view3d, а не оператор объекта, не так ли?