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.2.5.0)

  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.

2018 Suite Support

Somehow I neglected to mention this: NaviSet Transfer supports the 2018 Autodesk Suite now. If you don’t have it yet, feel free to visit the download page again. You’ll find it there.

If you’ve lost the download link, and the plugin isn’t telling you that there’s an update (which it probably won’t because I didn’t change the version number), click the Quick Start Guide button in the About window, and erase the PDF file name from the web address it takes you to.

NaviSet Transfer 1.2.4.9

NaviSet Transfer 1.2.4.9 is now available! I’ve finally resolved the big language pack bug and also increased the speed of the Set export by an order of a magnitude – what would take an hour now takes merely a minute.

An old issue with the timeline import script has also been fixed, so there’s no more need to run it twice to get around the undefined dialog error.

There’s still room for improvement, especially with the Max scripts, so I’ll be working on this more consistently for a while to get it where I want it to be. In the mean time, the plugin is back on sale and temporarily discounted to $10.

NaviSet Transfer: ID Duplication Bug Fixed

Recursion is super useful and super tricky.

Prior to this, the plugin would export an element ID twice for each element. It’s the result of not using an else after an if statement within a recursive method. This wasn’t a big deal because it happened after I fixed a bug that caused it not to export all IDs to begin with. At the time, more was an improvement, even if it was too much.

I decided to fix that while working on the big language bug I posted about earlier. When I release the next version, in addition to working with all Navisworks language packs, your set files will come out smaller and load faster.

NaviSet Transfer: Non-English Bug Progress

The bulk of the work was done tonight.

You know those tabs in your Property window? They have different names depending on the language your software’s running. The file itself can also be a factor, as you might have noticed if you’ve ever attached a Revit exported NWC file saved while Revit is running a different language. Individual properties also work this way.

These properties sit within a list array, but I couldn’t use their numbers because they’re in a different place depending on factors I don’t understand yet. For instance, Element ID is not just the 5th tab from the left. In the file, it’s literally [4], starting from 0, making it the 5th entry. But sometimes it’s not the 5th. Meaning that using this number won’t always work. Thus, I chose to search for the DisplayName string instead.

As of tonight, instead of just looking for English words, the code also looks for French words. This was trickier than expected because I had to account for mixed language cases caused by mixed files and software, but I figured it out.

The bug will be completely fixed soon. It’s just a matter of installing different language packs, experimenting, and entering strings. Once I have all of them entered I’ll put the plugin back up for download.

Plugin Taken Down Temporarily

The plugin does not work with the non-English versions of the Autodesk Suite. I knew about the problem and posted about it.

Over time, that post was buried, and a few people from outside of the US bought the plugin and were unable to use it. Some of them have received refunds… I really shouldn’t have put fixing that off.

If you’re one of the people outside of the US and UK who’ve had trouble with the plugin, please let me know by leaving a comment below. I’ll issue a full refund to those who request it.