Duplicating a single object with all the connected dependency

I have a complex connection setup that basically start with a single vertex being deformed and connected to Dynamic Paint. And with that single vertex being tracked with Drivers so whenever it got displaced, it will influence and trigger shape key of another master object, in which that single vertex is parented to.

Now, I want to duplicate this setup :ba: Is this possible? Or the only way is to import many times?


Can you post the BLEND of the described setup?

I assume you tried the obvious…just make a copy of the mesh and re-link it to a new object.

import bpy

ob = bpy.data.objects["MyComplexObject"]
me = ob.data
new_copy_of_mesh = me.copy()
ob_new = bpy.data.objects.new("MyComplexOBject.000", new_copy_of_mesh)

I just wonder if any of the driver stuff still remains linked with the copy of the mesh…?

or even simpler.

import bpy

ob = bpy.data.objects["MyComplexObject"]
ob_new = ob.copy()

This does duplicate modifiers applied to the source object as well.

Hi Atom,

Thanks for the reply.

Sure, the BLEND file is here:

That setup is based on my own experiment connecting different kind of things together. I discussed this with Liero and Liero indeed gave me some pointers, and he also tried scripting this using vertex constraint method.

Anyhow here is 2 of my posts talking about it:

Here is the result I am getting by manually importing the same setup few times:

I wonder if this setup can be scripted and applicable into Array of Faces, or Array of Object? If this request is too complex, perhaps just a way to append same thing multiple times, with slight offset each time.

The drivers do get duplicated using the above code. I think you will need a custom script to do what you want, however. Write the script to generate a single version of your complex object then just run it many times.

Or just do it by hand. That is often acceptable as well.