24 Jul 2020

Updates to Navisworks NWD translation engine

Navisworks engine 2021 Update 1, now running in Forge Services


The Forge "Model Derivative Service" uses Navisworks to convert NWD files to SVF for ForgeViewer.  We have updated this engine to "version 2021 Update 1" October 1st.

With this update, comes new 'flag' options, to control certain features.  We have also changed some default behavior, to improve speed, but may cause some breaking differences to newly converted NWD files after Oct 1st.

To see the effect of these changes, you will need to re-convert your NWD file.

New Engine, New features:

This update... 

1. Significantly improve NWD/SVF conversion speed with reduced 'time outs' (for 1 GB+ NWD files)

2. ForgeViewer can now display "Full-Render" or "Shaded" style based on Navisworks "Render Settings"

3. New flag option to extract "hidden objects"

4. new IFC converter options (ie. rooms / spaces / levels ) and improvements

So, what's the catch ?

We had to "turn off" these two default options, to get significant speed improvements:

5. Display "Appearance Material" as "meta-data" in properties panel.  (Off by default)

6. Convert Timeliner meta-data.  (Off by default)


* Remember, you can override these options in your "POST job" request via the Forge APIs.


Now... let's expand on these points:


#1. Improve conversion speed

These changes significantly improve conversion speed, particularly for large NWD files. Less data is stored in the propertyDB, that resulted from redundant material information and timeliner data. This, in turn, fixes the problem with very large NWD files failing to convert or causing a 'time out' error message.  This improves BIM360 too.


#2. "Full Render" or "Shaded" style

Inside Navisworks are two options for Render Style, see screenshot:


Unfortunately, Forge Services always picked "Full Render" to appear in ForgeViewer, no matter what was chosen in Navisworks render-style settings.  

Here's an example screenshot:

On the left is Navisworks.  It is using "Shaded Style".  Meanwhile, the same file viewed in ForgeViewer, seems to show the  'Full Render' style, which looks completely different.



With this new update, Forge-Viewer will use the Navisworks "render-style setting" saved inside the NWD file.  So, if Navisworks render style setting was set to "shaded style" and you then saved your NWD file, then you can expect the same render style appearance in Forge Viewer... ie. same colors, same transparencies, for all those semi-transparent / colored MEP, walls and floors. 


#3. Convert hidden objects 

Currently, the NWD extractor will skip objects that are hidden. Some customers have expressed a desire for these objects to be converted as well.

We propose to add a new option to "extract hidden objects" for Forge users. The default for this will be "false" to reflect current behavior.


#4. IFC options (NEW)

You'll have a choice of extraction behavior of spaces and openings, specified through the POST SVF job, output options.  

Here is a brief overview of just the new IFC options :

"advanced": {
  "conversionMethod": ("legacy"|"modern"),
  "buildingStoreys": ("hide"|"show"|"skip"),
  "spaces": ("hide"|"show"|"skip"),
  "openingElements":  ("hide"|"show"|"skip")

For full details, refer to the API documentation

Scroll down to the SVF Output section, and expand the options, like so:

API list


Here are some other improvements to IFC:

Data Properties:
   1. Fixing missing data values
   2. Fixing broken categories
   3. Improving clarification of IFC values
   4. Connecting host data like curtain walls to panel elements


#5. Stop extracting "Appearance Material" meta-data

ForgeViewer displays "Ambient.Red 0, Green 0,  Blue 0", in the properties panel... (see screenshot): 


As you can see in the screenshot - not very useful, especially as a string!

In fact, it's redundant information, since the same information is available through ForgeViewer viewer.materialManager API.

The additional processing of this string data, is slow and also takes up valuable space in the properties DB.  So, we propose that this option to be 'off by default'.

To make this information appear, as before, in the ForgeViewer properties panel, you can override the default option during "POST job" conversion.  Or just pull the RGB float values from viewer.materialManager API.


#6 Stop extracting Timeliner properties

Timeliner looks like this in Navisworks:


We propose to not "extract Timeliner properties" as the default, with an option to turn it back on through "POST job" Forge API.

Why ?  It turns out that the process of looking up Timeliner properties can, in some cases, be very time consuming (i.e. in the range of several seconds per-object). By removing this extraction step, it took the conversion time down into the range of minutes, from hours.

It is because of this, we are proposing to make the default option as "do not extract timeliner properties", with an option to override this option via the "POST job" Forge API.

This may result in a user-visible change in the properties panel.

And that's it.

Again, you can find the full list of options, through on the Forge Model Derivative API page, under the POST Job / SVF output section, like this screenshot:

API list

Reach out to us at forge.help@autodesk.com if you have any questions or concerns about this change.


Follow me on Twitter: @micbeale

Related Article