Navisworks (DWG) to Revit: Best strategy?

Hi Speckle team and community,

I was giving a go at the new beta in Navisworks, and I have a few questions when importing from Revit, in particular from Navisworks

I tried to import some geometry coming from NWC (the original file was a DWG, the elements in Navisworks will be highlighted per layers), and this is what comes out of the transfer process:

  1. It looks like they’re Directshape import, right? Is there a way I can reassign a name to those elements, rather than being named with the Stream GUID?
  2. What’s the best workflow to get this separaretd in individual blocks? They originally were 3d block references.

Thanks for any suggestions!

1 Like

I would go through the Dynamo route. Currently, our Revit connector receives the geometry and doesn’t care much about the metadata. (Yes, we are planning to change this behavior)

So what I’d recommend you to do is receive your data in Dynamo and customize it according to your needs. You’ll have access to all the parameters coming from Navis and you can create families from your block geometry using it. Lemme know if you need any help with that.

hi @gokermu,
thanks for the support. I sensed that it might be Revit as it’s structured now so I didn’t give much effort in it, it would be good in the future to be able to edit or select the objects in the Project Browser, as a minimum, so users can edit and manipulate what it’s been received.

For the Dynamo route, I was trying before, and it’s not clear to me once I acquired the data from the stream, how to manipulate it in Dynamo…

this is an attempt I did with a single object, I can share the commit with you to see if it’s a geometry that can be imported, and how shall I proceed (I took a look at the documentation, not sure how to continue after saving the data).

Object | Speckle



I did a test from Rhino to Dynamo to see if my Speckle is working and seems to import basic geometry (Brep, Meshes and Polylines) as highlighted in the Documentation.

I wonder what’s the best way to acquire an object from Navisworks in Dynamo then. Is it maybe the original format of the import in Nwc?
any hint or idea on this is welcome. I can do some test with other files imported in NWCs to compare different File types within Navisworks.


1 Like

Well it totally depends on what you want to achieve. Each option has its own advantages and disadvantages. If you want to quickly see the geometry with correct name and category, Direct Shapes are great for that. But if you have 1000 instances of the same geometry then it becomes a bit heavy.

Here is an example for the DirectShape route:

Receive Navis as DS with Category.dyn (23.0 KB)

Creating families from received geometry is another route you can take. But in that case, the creation process is more time-consuming. You need to create the family and load it into the project and place it in its correct place.

Can you explain what your goal is with this workflow?

Thanks for exploring this workflow. :pray: We’re definitely receptive to what you need that isn’t yet supported. :beers:

The “special” feature of Navisworks is that no matter the source, You end up with very few primitive types - Lines, Points & Solid (Mesh)

All the logic it applies to make it so performant is to reduce all geometry to these super-decimated types.

The structure of the tree of objects you can see (currently Elements > Elements > Elements) that various properties hang onto at different levels varies by source software.

There is more we can do on the alphabeta roadmap around making some of this deeply nested object structure more legible, but it relies on what is available for us to consume. The eventual leaf node will always be one of those primitives for now.

hi @gokermu,
thanks for the input. I think my mistake was pointing to the wrong list element (“displayValue”).
At the moment my goal is to convert some existing information I received from NWD (where the information is being saved and we cannot retrieve the original format) in format that can be used in Revit. Sometime I won’t receive an ifc, and dwgs are hard to handle in Revit, so this approach will be benificial.
Given the different structure of the files, I’d like to split the objects at least in different layers with basic information about them, so if I can capture the elements as direct shape is good.

Thanks for the assistance!


hi @jonathon,
my pleasure, thanks for working on these tools, I see the potential across different systems, so I’m exploring the different solution I can provide to my team.
At the moment I’m interested in exchanging all the potential information from NWD to other formats. As you said, depending on the original format type, I might get different data or outputs to extract.

It would be nice maybe for the future for the NWD connector to understand what original format/structure is using, and how this can be feed to other programs.


1 Like

In this first alpha release, the structure of the objects in a commit mirrors the Selection Tree absolutely faithfully. I have had about 8 different ideas for strategies around how best to use the Navisworks Speckle output for data analysis. Some good, some bad.

So with your help, and others, we are in a learning mode so we can assist real workflow needs rather than standing still and handwaving


I have just added some options, not for data, but for location coordination

It will arrive soon in 2.12, I can’t wait to see if it helps out.

1 Like