Monthly Archives: September 2017

Update on NaviSet Export 1.2.5 and Associated Scripts (1.1)

Here’s what I’ve done so far:

TimelinerSet MaxScript (version 1.1.1709xx)

  1. Implemented a visibility workaround for Arnold and other such renderers that don’t respect the visibility controller. It scales objects to and from 0 within a fraction of a second with no discernible motion blur (Scale Fallback).
  2. Added the option to use the Arnold materials for task colors.
  3. All objects move in the correct direction regardless of their local coordinate system.
  4. Reorganized and Improved GUI to follow expanded functionality.
  5. The Clear Existing Keys button has been improved to work in all cases, not just straight construction tasks.

NaviSetImport MaxScript (version 1.1.1709xx)

  1. Now creates a set called “User Managed Objects” allowing the user to pick which things he wants the script to ignore when resetting to tweak the animation settings.
  2. The import cancel button works properly now.
  3. Allows the user to change the file references seen in the *.dat file upon import. If the file name of your models ever change in your project at some point, you can still import sets generated from them.
  4. Fixed the empty set problem. The export plugin would create an empty set if the entirety of that set were from non-Revit models. NaviSetImport now knows how to handle these, though as you’ll read below, the new plugin won’t create them anymore either.

NaviSet Transfer Navisworks Plugin (version

  1. No longer writes empty sets in the exported *.dat file.
  2. It now exports timeline tasks as sets automatically. You no-longer have to create the selection sets yourself with the Timeliner’s Exports to Sets button. Naviswork’s function didn’t work all the time and it was a hassle to use for this purpose. I consider this the most important improvement of the update so far, next to the massive speed improvement from the previous update.

There’s more, but they’re little things that only matter to me (like the method for avoiding duplicate ID entries has been vastly improved to support the Timeliner task set export, the recursive ID scanning method has been simplified a bit, etc.

I’m an amateur programmer – it’s not my job description, so I’m thankful for your patience. This version will be out as soon as I check it for new bugs, write the new documentation, and create new tutorials.

An Upcoming NaviSet Transfer Update

There are three bugs that I’m working on.

The first one has to do with TimelinerSet, which may not even detect its own default values the first time it’s run. I believe this has to do with Maxscript weirdness regarding the GUI rollout commands… though I have some ideas of what’ll fix it.

The second has to do with users and files. It turns out a lot of people work with multiple versions of the same model file, usually as a result of using Revit’s collaboration features. Thus, what may work in Navisworks, may not work in Max, because different files were imported. If you import Midnight_Theater_David.rvt into Navisworks and run the export plugin, that’s what Max will look for when you run the NaviSet Import script.

The fix for that is to just let the user point the script to the new file.

The third bug has to do with how NaviSet Export records sets. If you have a non-Revit file in your Navisworks project, it alerts you to the fact that you won’t be able to export any sets selections for that specific file. It will then continue, and what should happen is that upon import into Max, those sets will be restored for everything but those aforementioned non-Revit models.

That’s an improvement over saying nothing, which is what it originally did. Yet meanwhile, if a set is entirely composed of items selected from a non-Revit model, it’ll be recorded as empty. Furthermore, if you try to export a Selection Set XML along with it (a feature for transporting selection sets to a new Navisworks file), that XML will be broken.

It turns out that the import script wasn’t able to handle empty sets without there being a chance of crashing (due to looking for an index to an temporary array that doesn’t exist).

The script side of that was fixed a few weeks ago, but I haven’t updated the official release yet. Two people have received the patched script so far as a result of this issue, but I wanted to wait to make these other improvements before I make it an official release.

What I need to do next is fix the Navisworks plugin side of the issue, which will restore the ability to export selection XMLs within that edge case.

And finally – I’ve recently completed a script that’ll emulate other people’s max files using nothing but the set file. It doesn’t regenerate geometry, all it does is generate cubes on a grid with a generic “element” name and the ID numbers from the sets file. This is essential for debugging their projects.

A lot of you are working under NDAs. Sending me your models may not always be possible. Now, you don’t have to. Thanks to this new script, from the set file I can emulate the conditions causing your problems and work from there.

All of that is what I’m working with currently regarding the plugin. I’ve also returned to school, and admittedly there’s very little time for me to work on this or help people – but I’ll try to get the new release out soon.