Dynamo to Revit - Clash Sphere Data

Hello Revit/Dynamo community :slight_smile:

I have recently come across a tutorial (Here is the tutorial link) which showed me how to put clash spheres at xyz coordinates using information pulled from a navisworks .xml file. I have done the tutorial, and am able to get it working on my test projects perfectly. I just have one question:

My clash spheres import into Revit with very little information attached to them (no clash # or element ID specifically). How is it that I can make my clash spheres take information from the .xml within dynamo, and add it to each individual family? This way, when I schedule the clash sphere, I can tell which Clash# I am looking at when pressing highlight in model.

Here is a picture of my Dynamo Workspace Template (wondering if there is more nodes I have to add to get this to work?):

Any help on this would be much appreciated. If I can get the Element ID and Clash # to show up on each sphere that Dynamo places, then I will be worry free :slight_smile:

Thanks in advance for taking the time to read this,
Looking forward to seeing your replies!


Hi Rallan:

Im working in the same procedure at the moment but im having a trouble with the geometry, i manage to add colors to categorize each clash (purpose of reading)

Right now im trying to figure out how to “clean” geometry cause when I add a big amount of data to it, i get this “ugly” shape for the spheres.

Any ideas to solve geometry.

Take a look to this post from kyle martin if you want to add colors to visualize, works great.

I have only tested on small test projects of 10-20 clashes at a time, havent tried it out with 100’s of clashes so I’ve yet to experience the problem you currently are. However, I know you are not the first person I’ve heard talk about this, I dont think the topics I read through ever solved it, just a bunch of here-says.

My problem has more to do with the data each sphere recieves in the family. I want to get it to show more information like the Clash# and element ID so that I know exactly which clash I’m looking.

ok Thanks for the feedback about geometry.

What i doing and works perfect with me is control all the data (Clash Name and IDs) from the excel input, basically i create a parameter in revit as instance, so i could linked to the the proper sphere.

Its really similar to what you have, maybe the trouble your getting has to be with the list that are getting created in your orange groups.

Hopes this helps to fix it, cause as i mention im getting the information but taking advantage from the excel file.

Ah, my problem wasnt with Dynamo. Stupid me forgot to add the shared parameters to the family. Once I added the shared parameters named (Clash Name, Mark, Status, Element ID and Date found, it got rid of all my errors, and they now all populate per sphere - see picture below). So proud of myself, I’ve learned SOOO much building this code. Dynamo has been extremely fun and rewarding to work with, so glad I got this 100% working to my needs.

Cannot wait to see how Dynamo can furthur speed up my workflows in the future.


Any chance you would share your Clash Sphere family?


What does your Excel spreadsheet look like for this graph?

Well done…

He has it shared on the link above (post #1)

Thanks, was very stressful to get it functioning as I had imagined it, but with a little hard work, and lots of know-how from the community, it all came together! It has even been used recently on a project in office and it blew my boss away at the amount of time saved during the clash detection phase of our projects. He now wants me to explore more ways to automate tasks for us within Dynamo (yay! getting paid to do dynamo workspaces!!)

Hey Bill,
As @4bimfercesp said, you can find the clash sphere family a couple posts above (along with other things). As for how the excel sheet, you can also find that within the same .zip file that the clash sphere family is in I believe. But, I’ve posted a picture below so that you can visually see as well :slight_smile:

obviously this list grows and shrinks based off the amount of clashes you have, but this is what it looks like coming out of Navisworks as a .xml file, and being imported into Excel

1 Like

Had to do some mining, but I was able to find them yesterday.

I have also replicated this script on my end and our office is very excited about it. My script and clash sphere family are attached. In my version I am only extracting the X,Y,Z coordinates and pushing a single parameter - Element ID. Now begins the hard part, customizing this script (the term “graph” sounds LAME to me for the record)

Navis Clash Data_Short.xlsx (8.7 KB)

Navis to Revit with Dynamo.dyn (20.6 KB)

Clash Sphere.rfa (296 KB)



Well done Bill, glad this post could help you and your company out with time productivity. I know my boss and co-workers were all extremely excited too.

Since the clash sphere I posted, I have since modified it slightly to be a bit more intuitive. I now have 1 sphere family with 3 types included within. Type 1) Active (Red Sphere), Type 2) To Be Determined (Orange Sphere) and Type 3) Resolved (Green Sphere).

I will load the Active Clash Sphere type when finding all my clashes, then as they are resolved I can switch them to the green sphere, and when I need more information or my boss to look at it, I’ll switch it to the orange sphere. This way in my schedule, I can easily locate which clashes have been taken care of, and which clashes still need looking at based on the family type used at that clash! Very helpful when there are many clashes/many people working on the project


@RAllan and @Bill_Mutert

First of all…Great Work…

Now I have few questions.

  1. Can you suggest the best workflow on implementing this?
    a. Create xml from Navisworks Manage
    b. Create excel
    c. Run dynamo
    d. resolve clashes in Revit - this is where my query lies how do you apply the above if you have say 15 to 20 revit users working and sync in a given time?
    e. re-run navisworks clash test
    f. re-run excel
    g. re-run dynamo
    h. and the cycle repeats

  2. Who do you think do this process a Revit user or a BIM Admin and how frequent this would be

  3. On a big scale project do you think the sphere (depending on the clashes of course) can interfere with the modeling as clash sphere will be live in Revit?

Just gathering your thoughts if you made this so far…again Well done for your efforts.


Thanks for the praise @4bimfercesp, but I must give a shout out to all those above these posts that helped me along the way. If it wasn’t for them, it would not be working as intended.

As for your questions;

  1. Everyone has their own ways of doing things, but I will share my processes with you, and maybe you can apply it to your own team.

a) Create .xml from Navisworks Manage
b) Create Excel
c) Run Dynamo script to place all my clash spheres
d) Resolve Clashes - In our company, we assign clashes to each individual user, this way there is no overlapping when fixing clashes. We usually do this by floor (ie: User 1 does floor 1, user 2 floor 2, etc), but it can also be applied by taking the users and dividing it by the total clashes and dividing the work up that way (ie: 1000 clashes/10 users = 100 clashes each user). Once everyone has completed their end of the work, you can then view the clashes by schedule to see if any are still in question (I’ve created the clash sphere with 3 family types - active, to be determined, and resolved. This helps to organise each clash as we can set up schedules that only show the unresolved clashes - we can then click on each clash, and press “highlight in model” which will bring us right to the area in question).
e) once we are happy with our results of our fixes, I will delete the clash sphere family from the project completely (this will then remove every clash sphere that’s in the project. Also, by removing the family, it leaves out any user error on forgetting to delete one)
f) re-load clash sphere family into revit project
g) re run navisworks clash test
h) re run excel
i) re run dynamo
j) repeat the process

  1. I’d say that anyone could use this tool, and how often would depend a lot on all the disciplines involved in a project. An example I can give of a current project is this:

We have a project which had almost 1000 clashes of our models with other disciplines (these 1000 clashes were just clashes my company had to focus on, there was more than 5000 in the project total between all disciplines). I’ve reduced my companies clash count down to 67 clashes (from just under 1000) over the course of 4 months. In these 4 months, we have had 6 clash models done (technology vs structural vs mechanical vs fire vs plumbing vs electrical vs architectural). If it were done by me and only me, I could have done these tests and resolved all my clashes within acouple weeks, but due to the fact that we had to wait for other disciplines to complete their clash tests (and boy, arent they ever slow and behind), this process has dragged on for 4 months and counting.

In short to answer your questions…

  • We have rerun this clash test 6 times in 4 months (and counting).
  • Revit Users and BIM Admin’s could both use this tool. Depends on how the company operates, and how they assign tasks to their users.
  1. No, It doesnt get involved in the modelling as far as I have experienced in fixing many clashes with this script. In a rare case that it does, you can always hide it in view while your model/fix a clash, then un-hide it from view before you leave the view, but as of yet, I have not had to do this work-around

Hope this helps to answer some of your questions. As always, I am happy to answer any other questions you (or anyone else) may have.


Hi @RAllan

Thanks for your detailed reply, we have same workflow then, i forgot to write the bit on deleting the family on my list.

What is your observation on two clash spheres on same location (minimum of two different element id) in same location therefore having two spheres.

Do you think using this graph, did you cut at least 40 to 50 percent of time and cost doing it in the traditional way. Using viewpoints, adding comments, saving a nwd for review, using switchback and potential use of navisworks simulate for every users involved in the process…and the ever lasting back and forth of emails…snipping images etc…

Awesome i should say and thanks to the dynamo community…

Attached are my responses to your list

Implementation.pdf (209.9 KB)

1 Like

Thanks a lot for the info. I will take your input on board.

Just to add my 2c:

I used ‘Pentaho Data Integration’ for step b (rather than Excel)
Mainly because it can process multiple XML files in one hit, map data from different nodes in the XML hierarchy & carry out lookups.

For example- including data not just from the ‘clashresult’ node, but also from the ‘clashobject’ level
So you can easily find all the clashes that relate to duct objects

As yet another option ‘KiwiCodes Bonus tools’ has a good tool for this
Yes, it costs about $50, but you get a whole load of other goodies too



Hi all

I been lately working on the same process with different procedure, and the idea of the sphere is very nc but i faced prb when i tried to place it inside revit that i needed to multiply XYZ by factor which lead to an accurate sphere’s coordination, i was looking to place the sphere exactly on the right place of the clash, i ended with the workflow below in the topic.

So my question to enhance my workflow, is the sphere placing position accurate, that it will be placed on or cover the clash point/ line ?.

Hey @Mohammad_Nawar,

For me, I work in the communications/audio visual/security side of things. We are a consulting company who designs these networks (exclusively on Revit), and then manages these networks post-construction for the life of the building (if something goes wrong, we remote in/go in and fix it for them).

The reason I tell you this is because 99% of our Revit Models we place fit within the size of our sphere (these things include but are not limited to: Security Camera, Wireless Access Points, Outlets, Card Readers, etc). It is because of this that my clash is almost always showing within the sphere (and I say almost always showing just as a benefit of the doubt, but for me, I have yet to see my model outside of the sphere.

So yes, I’d say for my purposes the clash sphere is 100% accurate. I recently did a clash model this past week using my script and I was able to clean it up extremely quick (in comparison to the time spent using the old method of locating grid lines, then doing sections/3D views everywhere to fix the desired clash - especially when the navisworks clash file I get back doesnt exactly show me where it is. So when it says I have a speaker clashing with something near a certain gridline, and I have 3 speakers near that gridline, I then would have to go to each speaker 1 by 1 until I found the one in question (which from my luck, would always be the last one that I checked lol)).

So in short, yes, I find it to be accurate and a massive time saver of clash detection tests

1 Like


I love what you’ve done, great job! I’ve taken your content and am now testing it. I’ve modified the units in the Revit files, the sphere family and Dynamo as we are using Feet and inches. I have three problems arising.

First: When I update the xml I can’t figure out what’s going on with the value. I know it’s importing both element ID’s for each clash. I assume you’re not going through and deleting and coping/pasting the correct ID’s?

Second: Why are you using the “ListTakeEveryNthItem”? When I run Dynamo that eliminates every other clash as you can see below it’s only creating spheres for Clash 1 and 3 instead of all four. The only thing I can think of is that the xml should be producing two rows per clash and Dynamo is telling it to ignore one so not to duplicate spheres. If that is the case my xml is not producing two rows per clash (well it is for the ID’s as I showed you in my first problem).

Third: The first sphere comes in at the correct location but the other is in completely wrong (see below). Any idea what would do this?