def execute(self, context): dm = context.scene.mv.dm obj = bpy.data.objects[self.object_name] if obj.parent: grp = None if obj.parent.mv.type == 'BPPRODUCT': grp = dm.get_product_group(obj) if obj.parent.mv.type == 'BPINSERT': grp = dm.get_insert_group(obj) if obj.parent.mv.type == 'BPPART': grp = dm.get_part_group(obj) if grp: #REMOVE OBJ FROM UI LIST for index, mesh in enumerate(grp.mv.Objects.col_mesh): if obj.name == mesh.name: grp.mv.Objects.col_mesh.remove(index) for index, empty in enumerate(grp.mv.Objects.col_empty): if obj.name == empty.name: grp.mv.Objects.col_empty.remove(index) for index, font in enumerate(grp.mv.Objects.col_font): if obj.name == font.name: grp.mv.Objects.col_font.remove(index) for index, curve in enumerate(grp.mv.Objects.col_curve): if obj.name == curve.name: grp.mv.Objects.col_curve.remove(index) for index, group in enumerate(grp.mv.Objects.col_group): if obj.name == group.name: grp.mv.Objects.col_group.remove(index) obj_list = [] #REMOVE ALL GROUPED OBJECTS IF OBJ IS BP if obj.mv.type == 'BPPART': grp_part = dm.get_part_group(obj) for obj1 in grp_part.objects: obj_list.append(obj1) if obj.mv.type == 'BPINSERT': grp_insert = dm.get_insert_group(obj) for obj1 in grp_insert.objects: obj_list.append(obj1) if obj.mv.type == 'BPPRODUCT': grp_product = dm.get_product_group(obj) for obj1 in grp_product.objects: obj_list.append(obj1) #DELETE OBJECT if len(obj_list) > 0: fd_utils.delete_obj_list(obj_list) else: bpy.ops.object.select_all(action='DESELECT') context.scene.objects.active = obj obj.hide_select = False obj.select = True bpy.ops.object.delete() return {'FINISHED'}
def __del__(self): """ Make sure the temp group is delete if the user canceled the command. """ if const.temp_group in bpy.data.groups: grp = bpy.data.groups[const.temp_group] obj_list = [] for obj in grp.objects: obj_list.append(obj) fd_utils.delete_obj_list(obj_list) bpy.data.groups.remove(grp)
def execute(self, context): grp_product = self.get_product(context.active_object) if grp_product: bpy.ops.object.select_all(action='DESELECT') obj_list = [] for obj in grp_product.objects: obj_list.append(obj) fd_utils.delete_obj_list(obj_list) return {'FINISHED'} bpy.ops.object.delete() return {'FINISHED'}
def execute(self, context): dm = context.scene.mv.dm grp = bpy.data.groups[self.group_name] obj_list = [] obj_bp = None for obj in grp.objects: if grp.mv.type == 'INSERT': if obj.mv.type == 'BPINSERT': obj_bp = obj elif grp.mv.type == 'PART': if obj.mv.type == 'BPPART': obj_bp = obj obj_list.append(obj) fd_utils.delete_obj_list(obj_list) return {'FINISHED'}