Is there a way to create a new instance of an element and copy that into several locations(multiple times)?

Hello everybody,

I hope you’ve had a great weekend!

I’m pretty new at using Dynamo and Revit in general, just to put that out there. The problem I’ve been unable to remedy is how to take a single element, given an ID, and then copy that into multiple locations. I know I can use the element.setlocation node in the case of a single element, but is there something like this such that that instead of moving the source element, it copies it and moves these copies to a list of given points?

Here’s what I have so far:

I have a bunch of points and my element. I want to create a unique instance of the element at each one of these points. I tried the Springs set location node as well, but it doesn’t copy the instance either. One tangent idea that came up was duplicating the element a certain number of times and compiling a list of those duplicates, however I’m not sure how to go about that either. I dug around in some of the python nodes that exist with some packages for duplicating individual elements, but the python was far more than I could follow.

I spent quite a bit of time looking around to similar problems and didn’t find anything that worked for me; I apologize if a solution to this exists.

Any suggestions are appreciated!

MEPover has a node Copy element to location that takes points and Clockwork has a node Element.CopyByVector that takes vectors. Both should work for you.

If you want to create copies of a manual input:

1 Like

Thanks to both of you for getting back so quickly.

@Nick_Boyts, I tried the MEPover node, but it didn’t seem to work. It moved an object to one of the given points, and the rest were blank.

Here’s what it looks like.


And here’s what my Dynamo work looks like:

As for the clockwork node, the copied elements just translated from the original position by some unit vector. So I don’t think this one will work.

@3Pinter, thanks for the suggestion! This worked great for my local file. Do you think it would be compatible with one where I import the model element from a linked filed?

Thanks again to both of you.

Hi @BoraG, like @Nick_Boyts wrote above, you could try the MEPover with Copy element to location, it works just fine.

Hi @Ernesto_Pellegrino, thanks for stopping by!

You’re indeed right that the MEPover node works in that situation, but when I tried copying the element to multiple points that’s where it holds up. I might just have things messed up! Please let me know what you find. :grinning:


You can try using list levels or lacing to get the node to run for each point.

How did you calculate vectors for the new locations? You should be able to use Vector.ByTwoPoints with the original location and the new locations to translate the elements properly.

1 Like

@Nick_Boyts Good call on the lacing, that worked. I set it to cross product. It seems I missed up the vectors as well, you hit the nail on the head there. Thanks so much for your help, have a good one.