由于项目需要,近段时间在研究Navisworks插件的创建,现谨以此做一记录。
前提:navisworks软件已安装
navisworks API分为com API和.net API,这里介绍基本插件。
【基本插件】
1、打开VS,新建一项目,在项目模板下选择【Visual C#】-->【类库】,选择.NET Framework的版本(这个与navisworks版本对应,2014---4.0,2016---4.5),起好项目名称,单击确定。
2、添加引用。在【引用】右键添加引用,打开对话框后在【浏览】处找到navisworks软件的安装路径,找到Autodesk.Navisworks.Api.dll并选中,点击确定。
3、打开引用dll的属性,把复制到本地改成“False”。
4、添加基本的命名空间的引用和相关的代码,如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Navisworks.Api;
using Autodesk.Navisworks.Api.Plugins;
using Autodesk.Navisworks.Api.DocumentParts;
//using Autodesk.Navisworks.ComApi;
//using Autodesk.Navisworks.Api.Interop.ComApi;
//using Autodesk.Navisworks.Api.ComApi;
namespace TestTest
{
//基本插件
[PluginAttribute("Basic", "ADSK", ToolTip = "Popups", DisplayName = "TestTest")]//名字,开发者号(四位字串),提示,用户界面显示名
[AddInPluginAttribute(AddInLocation.AddIn)]//设定插件的位置
public class Class1 : AddInPlugin
{
string modelInfo = "";
public override int Execute(params string[] parameters)
{
try
{
//当前文档
Document doc = Application.ActiveDocument;//application是运行了之后自动提供的
//第一个模型
//
ModelGeometry first = doc.Models[0].RootItem.FindFirstGeometry();
if (first != null)
{
modelInfo += string.Format("ActiveColor = {0}" +
"\nActiveTransparency = {1}" +
"\nBoundingBox = {2}" +
"\nFragmentCount {3}" +
"\nIsSolid {4}" +
"\nItem {5}" +
"\nOriginalColor {6}" +
"\nOriginalTransparency {7}" +
"\nPermanentColor {8}" +
"\nPermanentTransparency {9}",
first.ActiveColor.ToString(),
first.ActiveTransparency,
first.BoundingBox.ToString(),
first.FragmentCount,
first.IsSolid.ToString(),
first.Item.ToString(),
first.OriginalColor.ToString(),
first.OriginalTransparency,
first.PermanentColor.ToString(),
first.PermanentTransparency);
//MessageBox.Show(text);
}
System.Windows.Forms.MessageBox.Show(modelInfo);
return 0;
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);//输出显示异常信息
return 0;
}
}
}
}
上面的案例代码中的DisplayName就是我们会在navisworks软件里面看到的插件名字,AddInLocation.AddIn就是插件的放置位置。
5、编译项目,放置dll。将编好的项目dll复制到navisworks软件的安装路径的Plugins文件夹下,新建一个与DLL同名的文件夹,将DLL移进文件夹中。若插件dll有dll引用,则将引用dll放置到软件安装路径下的Dependencies文件夹下即可。
6、运行插件。打开navisworks软件,找到Add-ins,即可看到插件名称。