Dynamo to Push and Pull Navisworks Data

I’m looking to use dynamo to help me push and pull data between Revit and Navisworks. At the moment, I am aware of some support with Navisworks with Dynamo through DynaWorks, but much of the nodes within this package revolve around the clash detective within Navisworks.

I’m interested in pushing additional data from Revit onto Navisworks properties, and vice versa. For example, we have some geometries loaded into Navisworks from AutoCAD for light fixtures, but they do not have any data built into it that provides info on what room these light fixtures are located. I’d like to somehow grab the coordinates of these lights from navisworks, load them into a Dynamo 3D space, and overlay them with Room geometries from a Revit model. I can find a relationship between the two elements, such that anything within the boundaries of a room geometry would be considered part of that room. I would then like to push this info back into the navisworks model and add it as a custom User Data for that specific element.

Right now, I can manually do this, but surely there’s a better way. Has anyone looked further than DynaWorks in integrating Dynamo with Navisworks? Thanks!

1 Like


That’s a great idea. Please post here when you run into specific issues regarding functionality. Otherwise we are not much of a help.

Ps. To answer your question, no, I don’t recall seeing a package on the forum that dealt with Navisworks other than DynaWorks. Feel free to create that functionality and share with us.


Navisworks also has an API, you may be able to dig around in that to help you push and pull data.

1 Like

Hello, you could be interested in this thread:

Hey @andreatas Based off what Konrad said and what I’ve been digging into, we have yet to find any development beyond what Dynaworks is capable of doing with Dynamo for Navisworks.

That being said, Navisworks functions a bit differently from Revit, hence why you’re getting the names with weirdly named “nodes”. Navisworks essentially calls every element in the selection tree of a navisworks a “node”, which you shouldn’t get confused with Dynamo’s definition of a Node. On Approach one, your list is actually listing out every single node of each element you selected.

To my knowledge, I have not come across a node in DynaWorks that actually touches the properties of these nodes – or allows me to spit them out. Currently looking into the Navisworks API to see if I can come up with something.

Alternatively, your challenge might not require Dynamo. Have you considered using Search Sets, instead of Selection Sets to QC your shared parameters? If you set the search set to locate any files that don’t have the fields filled it, you can quickly isolate which models still need information populated:

Also, Naviswork’s Data Tools is capable of spitting out data. The only downside to this is that it’s typically a one way road, so you can push AND pull data using this tool.

I will let you all know if I make and further progress in my investigation.

No problem! Also – spoke too soon about DynaWorks. Looks like there is a way to get the properties into excel for you to check, and based off your posts on the forums, looks like you’re heading towards that direction:

Let me know if you get any further, would love to see your final solution.