Skip to main content
added 1589 characters in body
Source Link
Leander
  • 27.8k
  • 2
  • 46
  • 109

If you have a linked object from another scene, you won't be able to apply any modifiers to it. You will have to unlink it by clicking the unlink button in the object properties panel and possibly also in the data properties panel.

unlink object

If you have two objects, which reference to the same data, you will have to make them a single user. This is done by either clicking the users icon in the data context. This will make the data single user. Both objects will now be individual copies.

make single user

You can also press U in the 3D viewport, then select Object & Data. make single user with shortcut

Method of linking the objects back together

  • With the unedited object selected, set the mesh datablock in the Object Data section of the Properties Panel to the edit mesh.
  • Select the unedited objects, then select the edited object. Press Ctrl + L and select Object Data to link the objects to the same datablock.

linking objects

Apply Modifier to Multi User Python Script

I have added a script to do exactly what the question describes: *Apply All Modifiers to Multi-User Datablock.*

Just paste this in the text editor, when you want to apply all modifiers to a mesh, hit the run script button of the text editor.

You can resize the text editor until only the RUN SCRIPT button is visible to save space. If you want to add this functionality to Blender, check out how to add a python addon.

import bpy

def applyModifierToMultiUser(scene):
    active = scene.objects.active
    if (active == None):
        print("Select an object")
        return
    if (active.type != "MESH"):
        print("Select an mesh object")
        return
    mesh = active.to_mesh(scene, True, 'PREVIEW')
    linked = []
    selected = []
    for obj in bpy.data.objects:
        if obj.data == active.data:
                linked.append(obj)
    for obj in bpy.context.selected_editable_objects:
        selected.append(obj)
        obj.select = False
    
    for obj in linked:
        obj.select = True
        obj.modifiers.clear()
    active.data = mesh
    bpy.ops.object.make_links_data(type='OBDATA')
    
    for obj in linked:
        obj.select = False
    for obj in selected:
        obj.select = True
scn = bpy.context.scene
applyModifierToMultiUser(scn)

If you have a linked object from another scene, you won't be able to apply any modifiers to it. You will have to unlink it by clicking the unlink button in the object properties panel and possibly also in the data properties panel.

unlink object

If you have two objects, which reference to the same data, you will have to make them a single user. This is done by either clicking the users icon in the data context. This will make the data single user. Both objects will now be individual copies.

make single user

You can also press U in the 3D viewport, then select Object & Data. make single user with shortcut

Method of linking the objects back together

  • With the unedited object selected, set the mesh datablock in the Object Data section of the Properties Panel to the edit mesh.
  • Select the unedited objects, then select the edited object. Press Ctrl + L and select Object Data to link the objects to the same datablock.

linking objects

If you have a linked object from another scene, you won't be able to apply any modifiers to it. You will have to unlink it by clicking the unlink button in the object properties panel and possibly also in the data properties panel.

unlink object

If you have two objects, which reference to the same data, you will have to make them a single user. This is done by either clicking the users icon in the data context. This will make the data single user. Both objects will now be individual copies.

make single user

You can also press U in the 3D viewport, then select Object & Data. make single user with shortcut

Method of linking the objects back together

  • With the unedited object selected, set the mesh datablock in the Object Data section of the Properties Panel to the edit mesh.
  • Select the unedited objects, then select the edited object. Press Ctrl + L and select Object Data to link the objects to the same datablock.

linking objects

Apply Modifier to Multi User Python Script

I have added a script to do exactly what the question describes: *Apply All Modifiers to Multi-User Datablock.*

Just paste this in the text editor, when you want to apply all modifiers to a mesh, hit the run script button of the text editor.

You can resize the text editor until only the RUN SCRIPT button is visible to save space. If you want to add this functionality to Blender, check out how to add a python addon.

import bpy

def applyModifierToMultiUser(scene):
    active = scene.objects.active
    if (active == None):
        print("Select an object")
        return
    if (active.type != "MESH"):
        print("Select an mesh object")
        return
    mesh = active.to_mesh(scene, True, 'PREVIEW')
    linked = []
    selected = []
    for obj in bpy.data.objects:
        if obj.data == active.data:
                linked.append(obj)
    for obj in bpy.context.selected_editable_objects:
        selected.append(obj)
        obj.select = False
    
    for obj in linked:
        obj.select = True
        obj.modifiers.clear()
    active.data = mesh
    bpy.ops.object.make_links_data(type='OBDATA')
    
    for obj in linked:
        obj.select = False
    for obj in selected:
        obj.select = True
scn = bpy.context.scene
applyModifierToMultiUser(scn)
added 437 characters in body
Source Link
Leander
  • 27.8k
  • 2
  • 46
  • 109

If you have a linked object from another scene, you won't be able to apply any modifiers to it. You will have to unlink it by clicking the unlink button in the object properties panel and possibly also in the data properties panel.

unlink object

If you have two objects, which reference to the same data, you will have to make them a single user. This is done by either clicking the users icon in the data context. This will make the data single user. Both objects will now be individual copies.

make single user

You can also press U in the 3D viewport, then select Object & Data. make single user with shortcut

Method of linking the objects back together

  • With the unedited object selected, set the mesh datablock in the Object Data section of the Properties Panel to the edit mesh.
  • Select the unedited objects, then select the edited object. Press Ctrl + L and select Object Data to link the objects to the same datablock.

linking objects

If you have a linked object from another scene, you won't be able to apply any modifiers to it. You will have to unlink it by clicking the unlink button in the object properties panel and possibly also in the data properties panel.

unlink object

If you have two objects, which reference to the same data, you will have to make them a single user. This is done by either clicking the users icon in the data context. This will make the data single user. Both objects will now be individual copies.

make single user

You can also press U in the 3D viewport, then select Object & Data. make single user with shortcut

If you have a linked object from another scene, you won't be able to apply any modifiers to it. You will have to unlink it by clicking the unlink button in the object properties panel and possibly also in the data properties panel.

unlink object

If you have two objects, which reference to the same data, you will have to make them a single user. This is done by either clicking the users icon in the data context. This will make the data single user. Both objects will now be individual copies.

make single user

You can also press U in the 3D viewport, then select Object & Data. make single user with shortcut

Method of linking the objects back together

  • With the unedited object selected, set the mesh datablock in the Object Data section of the Properties Panel to the edit mesh.
  • Select the unedited objects, then select the edited object. Press Ctrl + L and select Object Data to link the objects to the same datablock.

linking objects

Source Link
Leander
  • 27.8k
  • 2
  • 46
  • 109

If you have a linked object from another scene, you won't be able to apply any modifiers to it. You will have to unlink it by clicking the unlink button in the object properties panel and possibly also in the data properties panel.

unlink object

If you have two objects, which reference to the same data, you will have to make them a single user. This is done by either clicking the users icon in the data context. This will make the data single user. Both objects will now be individual copies.

make single user

You can also press U in the 3D viewport, then select Object & Data. make single user with shortcut