コード例 #1
0
    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'}
コード例 #2
0
 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'}
コード例 #3
0
 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)
コード例 #4
0
 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'}
コード例 #5
0
    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'}
コード例 #6
0
 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'}
コード例 #7
0
    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'}