3
$\begingroup$

With a linked duplicate object I can edit the mesh and have the change show up on all the duplicates. Can I completely replace the mesh of every duplicate instead, and in an easy and repeatable manner?

To be specific, I would like to create a chain out of a duplicated chain link, and I want to manually create each LOD mesh of said chain link. I would then like to replace the chain link mesh of all duplicates to make different LODs of the composite chain.

Note that the array modifier is not flexible enough for my purposes.

$\endgroup$
1
  • $\begingroup$ Thanks for the title edit, though I never mentioned selected objects. That being said, you bring up the interesting fact that one can select all objects with the same object data, so a solution involving all selected objects would work. $\endgroup$
    – Fax
    Jan 4, 2016 at 21:37

2 Answers 2

9
$\begingroup$

You can change the mesh assigned to an object in the data tab:

enter image description here

In order to change more objects you could use python:

import bpy

# the name of the mesh to copy to all selected objects
mesh = bpy.data.meshes["Cube"]

for o in bpy.data.objects:
    if o.select:
        o.data = mesh

For 2.8+

Python: Selecting object by name in 2.8

if o.select_get():
    o.data = mesh

$\endgroup$
3
  • $\begingroup$ Thanks. I was hoping to avoid scripting, but that's a good plan B. $\endgroup$
    – Fax
    Jan 4, 2016 at 21:28
  • $\begingroup$ I wish I can be as awesome as you, working around things by typing codes like a hacker. The code work instantly, thanks. $\endgroup$ Sep 8, 2016 at 10:42
  • 1
    $\begingroup$ @cppBeginner NP. Edited. Please feel free to do same in future on any of my posts, and I feel most others have no issue either, and would appreciate it. There are a dozen or so simple upgrade fixes that are well documented to look out for. btw for q case [o for o in context.selected_objects if o.type == 'MESH'] is a list of selected objects of type MESH. $\endgroup$
    – batFINGER
    Oct 13, 2020 at 12:43
2
$\begingroup$

Here is a solution without script.

Select all the objects you want to change and the object you want to change them to.

Ensure the object - that has the preferred mesh - is the last one selected so it is the active object.

Then, in the top bar, press Object > Make Links > Object Data.

enter image description here

Source : https://blenderartists.org/t/replacing-multiple-objects-with-one/608430

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .