Navisworks provides three APIs for. NET, COM, and nwcreate. And usually we say that the Navisworks API actually refers to COM or. NET, because the Nwcreate function is more special. Wait for me one by one way:
- COM API: This is an interface that was provided long ago. How old COM is, and how old it is. It can do most of the features in the product.
- . NET API: This is provided at the beginning of the 2011 release. Used to gradually replace the COM API. But not simply to move COM functions, but from the bottom of the write, and, add a lot of COM does not have the functionality.
After the creation of the. NET API, we are only in. NET adds new features, the COM API is only maintained. There's a little bit of COM functionality. NET is not exposed for the time being, but it can be accessed through COM interop. In other words, you can call the ability to COM in the. NET API. The following table is a rough comparison of the two APIs for reference.
API Capabilities |
Com |
. NET |
Model Aggregation |
√ |
√ |
Model Basic Information Access |
√ |
√ |
Model Structure Tree |
√ |
√ |
object property Access |
√ But the API structure is cumbersome |
√API Clear Structure |
Object Lookup |
√ But the API structure is cumbersome |
√API Clear Structure |
LINQ Lookup |
X |
√ |
Object user custom property additions and modifications |
√ |
X, but can be used through COM interop |
Automation API |
√ |
√ |
Materials and rendering |
X2015 before presenter api,2015 after removal |
X |
Project Schedule Management and operation |
X |
√ |
Import External Project Progress |
X |
√ |
Collision detection |
√ Limited functionality |
√ Fully functional |
Browse mode |
√ |
√ |
Comments |
X |
√ |
Calculation amount |
X |
√ |
Document Database |
X |
√ |
Control |
√activex controls |
√.net controls |
Accessing and adding hyperlinks |
√ |
X, but can be used through COM interop |
Accessing and adding quick properties |
√ |
X, but can be used through COM interop |
Profile |
√ Very limited functionality |
X, but can be used through COM interop |
Global options |
The X section can be operated through the registry |
The X section can be operated through the registry |
User interaction |
X |
√ Currently only plug-in support |
Temporary graphics |
X |
√ |
Support for WPF |
X |
√ |
Ribbon |
X |
√ |
Panel |
X |
√ |
Viewpoint operation |
√ |
√ |
Camera operation |
√ Limited functionality |
√ Fully functional |
Property set Operations |
√ |
√ |
Scene animations |
X-Link Address link address can be partially used to save viewpoints |
X can partially utilize the save viewpoint |
Object animations |
X link Address link address can be partially transformed by object location |
X can partially take advantage of object position transformations |
Object Color |
√ |
√ |
Object transparency |
√ |
√ |
Object Position Transformation |
√ |
√ |
Add a custom model * |
X |
X |
Loading customization Files * |
X |
X |
- Nwcreate: The---Used to create the model perhaps you would ask, not previously mentioned, Navisworks is not a design software? Well, yes, Navisworks itself can't create models, just aggregates existing models. The usual API capabilities, such as the table above, are the review and management of the model. Nwcreate is a C + + library that enables developers to
- Start from scratch, create model scenes, generate models, and coexist as nwd files. Similar to an OpenGL program, draw your own model in your own canvas.
- Alternatively, you can make a plugin that explains the specific file format. Navisworks can open more than 60 file formats, but if some format is very special, and you know how to interpret the data, you can use Nwcreate write a plug-in, when opening a specific format file, the plug-in to obtain file data, as required to draw the corresponding model. That means you can do your own file interpreter.
In short, nwcreate is built for developers to create models. But it is also not possible to add models to existing models, but to build a new model document from scratch.
So, we say that the Navisworks API in the ordinary sense refers to COM or. NET. Sometimes, your program will also be combined with nwcreate. For example: it is not possible to add a model to an existing model, it is a thought to create a model with nwcreate and then aggregate it into the main model.
Navisworks provides three APIs for. NET, COM, and Nwcreate