本案例使用的软件及其他配置包括:
Navisworks 2020、Visual Studio 2017、Navisworks 2020 API SDK。
将Navisworks 2020 API SDK安装在与Navisworks Manage 2020的安装位置同级的位置处,如下图所示。
打开Visual Studio 2017,新建项目,如下图所示,在新建项目窗口选择“Visual C#”,然后选择“类库(.NET Framework)”,然后设置“名称”和“解决方案名称”(二者默认同名),点击“浏览(B)...”设置项目的保存位置,点击“框架(F)”后面的下拉选项,选择“.NET Framework 4.7”。设置完成之后,点击“确定”。
新建项目之后,在右侧的解决方案资源管理器窗口的列表中鼠标右键单击“引用”,选择“添加引用(R)”,打开引用管理器。点击“浏览”,在Navisworks Manage 2020的安装目录下找到Autodesk.Navisworks.Api.dll文件,添加引用。如下图所示。
然后在引用管理器的左侧选择“程序集”,在列表中找到引用项System.Windows.Forms并勾选,如下图所示。如此,可在解决方案资源管理器的引用下拉列表中添加上述两个引用项。
在Visual Studio的工具栏点击“Any CPU”的下拉按钮,选择“配置管理器…”,如下图所示。
打开配置管理器,选择“活动解决方案平台(P):”的下拉列表,在新建解决方案平台对话框键入或选择新平台,如下图所示(这里,因为我的个人电脑是64位的操作系统,所以这里我选择的是x64)。最后确定。
完成之后,在Class.cs的代码窗口中键入以下代码:
using Autodesk.Navisworks.Api.Plugins;
namespace Test
{
//基本插件
[PluginAttribute("Basic", "ADSK", ToolTip = "Popups", DisplayName = "Hello Navisworks")]
[AddInPluginAttribute(AddInLocation.AddIn)]
public class Class1 : AddInPlugin
{
public override int Execute(params string[] parameters)
{
System.Windows.Forms.MessageBox.Show("Hello Navisworks!");
return 0;
}
}
}
在Navisworks Manage 2020安装目录下的Plugins文件夹下新建名称为“Test”的文件夹。点击工具栏的“启动”,最后如下图所示,关闭打开的弹窗,根据输出窗口的提示,将生成的Test.dll复制到刚才新建的“Test”文件夹下(即该文件夹的名称与生成的.dll文件同名)。
打开Navisworks Manage 2020,软件新增了一个“工具附加模块1”选项卡,该选项卡下有一个“Hello Navisworks”面板,点击即可弹出“Hello Navisworks!”弹窗。
上述实例在我的电脑上可以正常运行。如果有问题,欢迎大家在评论区交流。