Automatic Conversion of Length Units in Speckle Connector for Naviswork

Hello everyone :raising_hand_man:,

Recently, I was creating a Power BI template to obtain metrics from Naviswork models using the Speckle connector. Once I finished making the dashboard, I noticed that the length parameter value had been automatically converted to feet (unit of measurement). To correct it, I simply applied a formula, but I am curious as to why Speckle makes this conversion automatically.

Has anyone else experienced this? Is it possible to avoid this automatic conversion or is there a setting I need to adjust?

Link to de file:
https://app.speckle.systems/projects/ed007c7858/models/d23801b7b2

Thanks in advance for your help :slight_smile:

@Lazaro_Orestes_Brito, I go into detail below but to answer your direct question

The answer is we don’t, I am happy but agree it is odd, that we extract the data as presented by Navisworks.


The crux of the issue you are observing is that the Navisworks connector is correctly reading and reporting model scale and units as it finds them as aggregated models.

If you select that duct again in Speckle and look at the head of the info window, you’ll see that the elements are all in unit feet.

Inspecting the model in Navisworks, I see that the base units of the ADSK sample office building are, indeed, feet.

Navisworks then also has the ability to have models that have many different model units in the same file. As does Speckle Viewer.

Whereas Navisworks has the ability then to adjust all displayed property values to a global unit


Speckle Web does not. And so you get properties extracted statically, reported in original model units.

Where we do have dynamic units is indeed in the measurement tool.


So, I would like to ask you a question in return: Do you think we should maintain being this faithful extractor of native property values? Or should we see what the user has set for the global unit display in Navisworks and perform the requisite conversion pre-extraction?**


*NB. I’m embarrassingly rusty - I used to have a bunch of tricks to handle model locations and units and such. Where my rusty memory comes in is not remembering that the units of the core NWF/NWD Navis file are never displayed to the user, but like global orientation is set by the first model you append, all subsequent model appends are then converted to those units, but retain the original values - all very smart navisworks, bravo. This doesn’t affect the issue reported/observed but is a neat reminder of the inner workings

Incidentally, if one amends the model units in Navis and exports, on import to Rhino, say - it will be weirdly scaled.

:o*

Hello @jonathon,

Thank you for helping me with this, and you are correct, the file is in feet.

I have the same problem with another NWC file that we received recently at my work, and I checked the unit; it was in “Ft”.

I’m glad to know that I need to check this setting before exporting a file from Navis to Speckle.

Many thanks!

That’s the thing, changing the display units setting doesn’t affect anything on speckle export. Chnaging a models units does - it rescales the model (not desirable)

So my question to you remains…

I think it would be better to maintain the native properties when exporting a Navis model.

On the other hand, I think it would be convenient to somehow notify the user in which units the model is when exporting a Navis file. I don’t know if I’m the only one, but I never had to check in which native units a Navisworks model came. Since my default setting is in international units, every time I select an element, its properties appear in: m, mm, ºC, etc.

Navis only affects linear, area and volumetric.

The issue with notifying the user is that you can have aggregated a model in feet and a model in metres and another in millimeters at ones.

I’m going to give it some thought.