import bpy class KnifeProjectOperator(bpy.types.Operator): """Knefe project from view selected objects to active""" bl_idname = "object.knife_project_operator" bl_label = "Knife Project Operator" @classmethod def poll(cls, context): return context.active_object is not None \ and context.selected_objects > 1 def execute(self, context): if context.mode == 'OBJECT': bpy.ops.object.editmode_toggle() bpy.ops.mesh.knife_project(cut_through=True) bpy.ops.object.editmode_toggle() return {'FINISHED'} def register(): bpy.utils.register_class(KnifeProjectOperator) def unregister(): bpy.utils.unregister_class(KnifeProjectOperator) if __name__ == "__main__": register()