Join geometry

Hi all,
I’m trying to solve 6400 interference between walls and beams.
So i ask if any node is able to help me to join geometry from listA with list B
I start with this extraction of objects with their ids, any idea to continue my task?

NB : the code on the bottom is just a verification of wall surface before and after the join operation

thank you in advance


Search “Auto Join Walls and Columns” on the forum. You should find all you need there



Thank you Ben,

I have o experience with creating customised nodes, but i’ll try to do it

i must have any specifical library? installing some thing to do it?


Thank you

I try the same thing posted by Ben and Evely, but i find some problems and warnings :

On node, i read :

Warning: IronPythonEvaluator.EvaluateIronPythonScript operation failed.
Traceback (most recent call last):
File “<string>”, line 28, in <module>
TypeError: iteration over non-sequence of type int


Node :

import clr
from Autodesk.DesignScript.Geometry import *

import Autodesk

import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

import Revit
dataEnteringNode = IN

elementlistA = UnwrapElement(IN[0])
elementlistB = UnwrapElement(IN[1])

doc = DocumentManager.Instance.CurrentDBDocument

results = []

for elementA in elementlistA:
for elementB in elementlistB:
result = Autodesk.Revit.DB.JoinGeometryUtils.JoinGeometry(doc, elementA, elementB)
OUT = results

Latest clockwork update has join.geometry nodes.

Thank you for suggestion John

I downloaded it, but the node return only the statut True or false

And in my case, i want to join list A with list B, element by element

Any others nodes?


Please show what you are feeding into the python script first…if you are feeding in the element Id strings as you show in your intial post this will not work - based on the error message i would guess that is what is going on… You first need to convert those element ids into the actual revit elements (the ones that have the element id in green next to the name of the element in the node result pulldown)

Thank you Ben

i’m sorry, i have no experience in scripting

i try to improve my node

can you guide me to solution

thank you in advance

See image below.

First - the Join Geometry python script you created needs Revit elements as the List A and List B - you are sending Revit Element Ids formatted as either integers or strings (I cannot tell from you picture). Revit Elements in Dynamo always have the green Id number behind them and their name in front. I am not sure where the ID to Element node you have there is from, but the Archi-Lab node works great for converting element ids to Elements.

Second- I can’t tell what you are trying to do with your script, but it appears like you might be trying to join geometry between something in a linked file and something in a host file (if that is not the case i apologize for mis-reading it). I do not believe that is possible to do in Revit. Join Geometry only works with elements that are in the same host file.

i’m sorry
i explain :
First, i execute a clash test on my file (i have only one) between walls and beams
I generate a report in html format
After that, i use the report.html with the node shown on my code to have two lists : list A (walls) and list B (beams)
the result is a string
I use a couple of nodes to select element on my file by their IDs
and I hope to be able to create a join command between List A and List B for each index (there are sorted automatically on report)
So i m searching for a node like “join.geometry” but that have the ability to do it for a list (two lists, element by element based on their index)
NB : the error mentioned is adjusted, just a wrong clic

thank you very much BEN

What you have will work then - all you need to do is change from feeding the Join Geometry node you created element id strings to feeding it Revit Elements as i illustrated in the image from my post earlier today. The Join Geometry node needs the green Revit Elements as it’s inputs…

thank you, i ll try it now

the final Code to join two lists by using htlm file created from a clash test on Revit


the final Code to join two lists by using htlm file created from a clash test on Revit
I have split my lists to a sublists with 50 indexs to allow the operations without bugs
I have at the top, a small code to calculate the total surface of walls.

each time, i notice that the total of surface is calculated before joining operations, probably it’s calculated more quickly that to hole of the other code (join operation) that explain why the sum is out of date

Any tips to define who will be calculated first?


Thank you Ben for help.

Where I can get Revit.ExtractInfofromInterferenceReport node?

I believe that nose is part of Spring Nodes.

In Spring Nodes I found InterferenceCheck.Parse node. It works well.

Now, how can I split interference list and use Clockwork Join Geometry node?



Got it! Just joined what is in the interference report without warnings. Works great.

I used SpringNodes, InterferenceCheck.Parse, with modified HotGear JoinGeometry node, like this:

Do you guys have any Ideas about Cut Geometry in dynamo. I created a void family from Generic Model template, then loaded in project and use Cut Geometry. However, due to the numerous cuts that I have to do. Do you have any solution of using dynamo for this issue?



It would have been better if you had started a new topic because your question is unrelated to the current discussion.

You’ve got two options. Either SteamNodes’ “Tool.AddVoidCut” or spring nodes’ “Element.AddVoidCut” nodes. It really depends on how your elements and void cuts are structured:

1 Like

Element.AddVoidCut is not included in spring nodes 132.2.8. Could you please tell me which version you are using?