Move 10,000 elements several Feet in one direction

I am in a situation where I need to move 10,000 elements in a MEP model that is a mix of hosted and none hosted elements. The details of this is that I have an MEP model with Linked architectural model. This linked architectural model is multiple phases and buildings. It has one portion of the building that will be sifted several feet in one direction. The problem that I face is when the shit is made this week some elements will move with the changes (hosted families) as other will not(none hosted). I have tested the below dynamo graph which select only none hosted elements and moves them a specified distance. The graph appears to work but takes a very long time to run on my test project of only 1000 items. My question to this community is am if I am doing this correctly or can some one suggest a more efficient method.

That would be how I would accomplish it, with perhaps a few different nodes that wouldn’t have that much impact on your runtime.

For large datasets it is sometimes worth dropping into the revit api directly. You can do this with a python node - you can prototype it out with dynamo but you’ll want to avoid the cost of converting back and forth between revit and dynamo location geometry for each element I would guess.


Thank you all for the feed back. I will still maintain the Dynamo route currently because I am not very strong in Python and do not have time to struggle creating custom python node due to timeline of the expected shift.

Hi @dmiller

What’s your system configuration?

@Kulkul I am using Revit 2018.3 and Dynamo 1.3.2. See screen shot below for computer information.


what package is the “Element.GroupByHost” from?

How about making the selection set with Dynamo, then doing Move with Disjoin in Revit?