An IronPython console for Navisworks
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Examples Initial commit Apr 23, 2017


This is obviously a fork of RevitPythonShell, bringing an IronPython interpreter to Autodesk Navisworks, and it would not be possible without the great work of everyone involved with the RPS project. It's still pretty rough around the edges and provides only basic functionality at this time. I'm sharing my work so far, in the hopes that together we can expand it further.

The NavisPythonShell (NPS) lets you to write plugins for Navisworks in Python, provides you with an interactive shell that lets you see the results of your code as you type it. This is great for exploring the Navis API.

The biggest limitation is that you can't deploy DLLs with custom scripts at this time and you can't subscribe to events at startup time. NPS currently executes as a standard plugin, mainly because of the way Navisworks' EventPlugin plugin types work. While in Revit startup happens after all dependencies have been loaded, EventPlugins in Navisworks try to start as soon as possible, without preloading their dependancies. A startup script will still execute, but only after everything else has been loaded.


  • interactive IronPython interpreter for exploring the API
    • with syntax highlighting and autocompletion (in the console only)
    • based on the IronLab project
  • batteries included! (Python standard library is bundled as a resource in the RpsRuntime.dll)
  • full access to the .NET framework and the Navis API
  • configurable "environment" variables that can be used in your scripts
  • save "external scripts" for reuse and start collecting your awesome hacks!
  • run scripts at Navisworks startup
  • deploy scripts as standalone Navisworks Addins


  • Reference the version of "Autodesk.Navisworks.Api.dll" that you'd like to target.
  • Compile the solution.
  • Copy your build folder (usually ".\NavisPythonShell\RevitPythonShell\bin$(Configuration)\ )to "%APPDATA%\Autodesk Navisworks Manage 2016\Plugins" (or whichever version of Navisworks you're targeting)


  • Download a valid release zip for your version of Navisworks.
  • Extract the zip to "%APPDATA%\Autodesk Navisworks Manage 2016\Plugins" (or whichever version of Navisworks you're targeting)


  • Don't hesitate to file any issues you stumble uppon. (Tho I don't guarantee I'll be able to solve them all for you)

Getting started:

Learn some python:

Learn about the Navisworks API:


This project is licensed under the terms of the MIT License.