Project: Navisworks Timeliner to 3ds Max

At work I use Navisworks to do a variety of things, including using it to create animated construction timelines. Naviswork's rendering capability has improved over the years, but there's not many options for controlling how the timeline animation looks, and not many ways to speed up the rendering process. I find the way Naviswork's handles FOV to be quite annoying, and due to time constraints, the best I can hope to do is export viewport sequences. I hope to change that...

What I needed was a way to get Navisworks animations into 3ds Max. As far as I know, there's no script available to do this. When I decided to do it myself, I broke the process down:

1. Export Sets from Navisworks
2. Export Timeliner sequence from Navisworks
3. Link original files into 3ds Max
4. Import Sets into 3ds Max
5. Import Timeline into 3ds Max

Sets require a way to identify objects. Navisworks natively uses UID, which 3ds Max doesn't see even if you import NWC or FBX files exported directly from Navisworks (please correct me if I'm mistaken!). So I'm forced to use something it can see: Revit ID numbers.

Before the 2015 release, it used to be that the Revit models when linked into 3ds Max would only have some properly named objects, the rest being named seemingly at random. Fortunately, all of those ID numbers now come through properly. Perhaps it was a bug in 2014's Revit Interoperability program. The workaround was to export to FBX from Revit, then import or link that file into Max. Revit Interoperability does this for you, so the results should be exactly the same save for the name and type of file.

So far, I have created a tool to export sets from Navisworks to a text file. And I've created a Maxscript tool to import those sets from the text file. Now I have to make a tool to export animation from Navisworks, and a tool to import that animation into Max. I've uploaded a video of it to YouTube.

I'm also looking into speeding things up by re-creating it all in C++ with the SDK, but I'll have to study up on that language again. I've been in the safe confines of C# for years, and since programming isn't really my job, that hasn't been a problem until now.

I'll release the scripts and plugins when I feel it is ready. Until then, I hope this blog entry has perked some interest. I am open suggestions, ideas, and alternatives.


mdko's picture


Hey there,

I've gotta say, the last 2 years I have been looking for a solution like this, but no-one was able to code it for me. Looking forward to the release, and perhaps I could aid you in the testing process.


trancerobot's picture

Hi Maurice!

I've finally hit 1.0, and I think it's ready for wide usage. Sorry I didn't reply earlier, you probably could have helped by testing it. In any case, it's ready now, and if you're still looking for it, feel free to read my latest post or visit my website.

RamaHay's picture

Yeah, it was 2014-2016 years.

Yeah, it was 2014-2016 years. Today I found your message and haven't any troubles. I thank for sharing.