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
Thanks in advance for taking the time to read this,
Looking forward to seeing your replies!
Rob
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.
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.
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.
@4bimfercesp
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!!)
@Bill_Mutert
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
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
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)
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
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
Who do you think do this process a Revit user or a BIM Admin and how frequent this would be
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;
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
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.
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.
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âŚ
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
@RAllan
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 ?.
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
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).