Linked Model Element ID Extraction From Navisworks Clash

Hello All,

The Ultimate Goal
I am looking to highlight clashed Revit elements in a Structural and Mechanical model that are linked into our Architectural model. The clash detection was performed in Navisworks.

The Issue
How do I go about extracting the Element Ids from the Navisworks clashed elements and highlight them in Revit. The issue is I am unable to find a way to create a “relationship” between the linked Structural and Mechanical Revit model Element Ids and the Element Ids in the clashed Navisworks file.

Thank you in advance for your help.

Look here:

1 Like

Hi Johannes,

I appreciate the quick reply. I will review your suggestion and see if I have any questions.

Thank you again for your efforts!

The workflow is impressive and seems straightforward. One of my main concerns is that my models are produced using imperial units. What adjustments do I need to make to the code block pertaining to the clash indicator coordinate points? (Please refer to page 37 in the AU class handout)

Thank you,

Hi @bdepray

I think the answer is to try it out in your model and see if it works- the unit handling in Dynamo has improved over time.

On this topic- I used a similar principle to Dieter, but did not use Dynaworks for extracting the clashing object IDs.
(I found Dynaworks very good for small models, but performed very slowly for large ones)

Instead, I exported a clash result XML file from Navisworks, and brought this back in using Dynamo. All the data you need (clash positions & clashing objectIDs) is in this file. I think there were some posts on the old version of this forum a while back.

I’ll have to give my blog a plug on this topic

hope this helps

Hi Andrew,

Thank you for the valuable input. Much appreciated.

I will take a look at your approach and return with feedback/questions.

Thank you again!

Hi Andrew,

Would you mind sharing your XML clash detection approach?

hi Beau

I’ll explain the principle rather than giving you a complete solution.
Say you have 2 clashing objects- a wall and a duct.

The ID of the wall is 210338 and the duct is 709842

When you use the clash detective in Navisworks and export an XML file of the clash, you get information such as the clash number, XYZ coordinates of the clash, and IDs of the clashing objects

So using this data in Dynamo, you can mark the position of the clash- say placing a family at the XXZ coordinates as Dieter showed. I’ve just used a sphere to keep it simple. You could also flag the clashing objects using the IDs- I think Dieter used a parameter.

Although there are some Dynamo nodes for working with XML, I find XML generally pretty difficult to use- so I used a (brilliant) data transformation tool called Pentaho Data Integration to convert the XML to a nice tabular format. As another shameless plug for my blog- I used this as part of data visualisation

The Pentaho data transformation looks like this:

and the output like this

I am sure there are smarter ways to get the XML data into Dynamo- but this worked very well for me.
As I said before- the principle is very similar to the AU presentation by Dieter.



Thank you for this Andrew. I will let you know how it goes.

Hi Johannes

Am very sorry am new here am currently working on the crash detection of STR v MEP and ARCH and MEP using both Naviswork and Vico office but when i saw this i was so excited to try the script but when I followed hand out guide they are some nodes that i cant find still do we need more packages apart from the two given us like an example nodes Thank you so much i have done my work but i used the reporting system but i realise it is a lot of work to the Designer to find ID element in the Revit everywhere where there is a crash this is really smart way I hope I succeed with your help.