Revit elements are not joining

Hello all,

I am working on a Dynamo script to joint only intersected elements, the flow of nodes seems to be fine and no errors or even warnings occurs. Everything is okay but the end the revit elements are not joining.

please see the image below, I used a when loop and am sure that I used it wrong or I missed something because am new to dynamo and programming.

every reply will be appreciated, Thank you

Check if you have multiple identical Revit elements in the same position.

Hi Vikram,

no there are no multiple identical Revit Elements in the same place, maybe the problem is by calling the custom node join geometry?!

Hi Ali,

I don’t know how to fix your script, but please find attached a possible solution using Python.


Multiple Join.dyn (6.0 KB)

Hi Gionanni,

Thank you I will try this python script.

Hi again Giovanni,

I tried it it’s working really well but there is something missing that I need is that I don’t want elements that are not clashing to join,that’s the main purpose of my script.

Thank you

Hi Ali,

Sorry for the late reply. Hope you already found another solution.

Here is mine: you can use Tool.GetSurroundingElements from Julien Benoit’s SteamNodes to filter the elements that are clashing and then run the Python Script that I posted before (which I forgot to mention is the Element.JoinGeometry from Clockwork Package) adapted to run through a list of elements.

It works when the element to be joined is at the beginning of the list (see screenshot) which it seems to always be the case.


Multiple Join Only Clashing.dyn (9.8 KB)

Hi Giovanni,

It really works thank you, I just filtered the intersecting elements as 2 separate list and then I used your dynamo script to complete my work that’s really helpful thank you.
one more thing if we can do it, it will be perfect. Can we specify the priority of joining according to category??
for example if we have a floor and a wall I need to cut from the wall not from floor, can we do that?

Hi Ali,

The quickest way I can think of is to re-run the script using the “switch join order” node (please see in the attached file).

You could combine the 2 python scripts together (join and switch join) to do it automatically.

Multiple Join Only Clashing.dyn (21.6 KB)

Hi Giovanni,

it worked Thank you