|
![]() |
The Navisworks .NET API is intended to replace the COM API for most use cases. The main areas focused on by this API are:
Benefits of a .NET API
There are several advantages to implementing a .NET API for Navisworks:
- Programmatic access to Navisworks models is opened up to more programming environments.
- Integrating with other Windows based applications, such as Microsoft Excel and Word, is made dramatically easier by using an application's native .NET API.
- The .NET Framework is designed for both 32-bit and 64-bit operating systems. Visual Basic was only designed for 32-bit operating systems.
- Allows access to advanced programming interfaces with a lower learning curve than those for more traditional programming languages such as C++.
What is possible with the Navisworks .NET API
Users of the Navisworks .NET API are able to:
- Gain access to Application information
- Gain access to Model / Document information
- Perform simple operations on Navisworks documents (open, save, execute plug-in) without having to fully load the main application.
![]() |
---|
In general the .NET API gives you access to the same features available in the Navisworks product you have installed. Using an API for a feature that is not available will result in an exception due to licensing. This is also true for the COM API. |
Supported Programming Languages
The Navisworks .NET API is fully accessible by any language compatible with the Microsoft .NET Framework 3.5, such as Visual Basic .NET or Visual C#.
System Requirements
In addition to the minimum system requirements of Navisworks; developers will need Navisworks Simulate or Manage to be installed. No form of .Net API (plugin or controls) will be supported for Freedom.
The samples provided require that Microsoft Visual Studio 2010 is installed.
Conventions
Information which is useful to a developer will appear as:
![]() |
---|
This is a note: |
All code examples in this guide are in C#. Code examples are shown in the form:

using System; using System.Collections.Generic; using System.Windows.Forms; using System.Text; //Add two new namespaces using Autodesk.Navisworks.Api; using Autodesk.Navisworks.Api.Plugins; namespace BasicPlugIn { [PluginAttribute("BasicPlugIn.ABasicPlugin", //Plugin name "ADSK", //4 character Developer ID or GUID ToolTip = "BasicPlugIn.ABasicPlugin tool tip",//The tooltip for the item in the ribbon DisplayName = "Hello World Plugin")] //Display name for the Plugin in the Ribbon public class ABasicPlugin : AddInPlugin //Derives from AddInPlugin { public override int Execute(params string[] parameters) { MessageBox.Show(Autodesk.Navisworks.Api.Application.Gui.MainWindow, "Hello World"); return 0; } } }
Throughout this guide the following terms are used.
Term | Meaning |
---|---|
Developers | Users of the Navisworks API |
Users | The end users of Navisworks |
Assembly | A .NET library assembly; a partially compiled code library for use in deployment, versioning and security. |
Plug-ins | Allows third parties to extend Navisworks functionality. |
Automation | Method by which Navisworks can be started programmatically and possibly in a non-visible state with the purpose of invoking functionality. |
Controls | Navisworks components which can be used by third party applications on the same computer as an installed Navisworks. |