6.6 KiB
开发环境
-
操作系统: Windows 11 (开发环境)
-
Navisworks 版本: Navisworks 2017 Manage 或 Simulate (需安装以获取 SDK)
-
集成开发环境 (IDE): Microsoft Visual Studio 2017 或更高版本 (推荐 Visual Studio 2022)
-
.NET Framework: 目标.NET Framework 4.6 (或更高兼容版本,如 4.8)
-
安装程序工具: WiX Toolset
-
版本控制: Git (可选,但强烈推荐)
-
确保在 Visual Studio 项目中正确引用 Navisworks 2017 SDK 中的程序集,并将它们的“复制本地”属性设置为 False,以避免在插件部署时出现问题 。
好的,在 Visual Studio 2022 中为 Navisworks 插件创建项目,您需要选择正确的项目模板并进行一些关键配置。
以下是详细的操作步骤:
1. 创建新项目
- 打开 Visual Studio 2022。
- 在启动界面,选择 “创建新项目”。
- 在“创建新项目”对话框中:
- 在顶部的搜索框中输入 "Class Library" (类库)。
- 在结果列表中,选择 “类库 (.NET Framework)”。请务必选择
.NET Framework版本,而不是.NET或.NET Standard,因为 Navisworks 2017 插件是基于.NET Framework 的。 - 点击 “下一步”。
- 在“配置新项目”对话框中:
- 项目名称 (Project name): 输入您的插件名称,例如
NavisworksLogisticsPlugin。这个名称很重要,因为它将用于插件的部署文件夹名称 [1]。 - 位置 (Location): 选择一个您希望保存项目文件的本地文件夹。
- 解决方案名称 (Solution name): 可以与项目名称相同,或者根据您的偏好设置。
- 点击 “下一步”。
- 项目名称 (Project name): 输入您的插件名称,例如
- 在“其他信息”对话框中:
- 框架 (Framework): 在下拉菜单中,选择 “.NET Framework 4.6”。这是 Navisworks 2017 API 所需的最低兼容版本。如果您的 Visual Studio 默认没有 4.6,可以选择 4.8,因为 4.8 兼容 4.6 及更早的 4.x 版本。
- 点击 “创建”。
现在,您已经创建了一个空的 C# 类库项目。
2. 添加 Navisworks API 引用
接下来,您需要将 Navisworks API 的核心 DLL 文件添加到您的项目中。这些文件通常位于 Navisworks 2017 的安装目录下的 api\ 文件夹中 [2, 1]。
- 在 Visual Studio 的 “解决方案资源管理器” 中,右键点击您的项目(例如
NavisworksLogisticsPlugin)。 - 选择 “添加” > “项目引用...” (Add > Project Reference...)。
- 在“引用管理器”对话框中,选择左侧的 “浏览” (Browse)。
- 点击右下角的 “浏览...” (Browse...) 按钮。
- 导航到您的 Navisworks 2017 安装目录。通常路径是:
C:\Program Files\Autodesk\Navisworks Manage 2017\api\net\(如果您安装的是 Manage 版本) 或C:\Program Files\Autodesk\Navisworks Simulate 2017\api\net\(如果您安装的是 Simulate 版本) - 在该目录下,选择以下所有 DLL 文件并点击 “添加”:
Autodesk.Navisworks.Api.dll[1]Autodesk.Navisworks.ComApi.dll[1]Autodesk.Navisworks.Interop.ComApi.dll[1]Autodesk.Navisworks.Interop.ComApiAutomation.dll[1]
- 点击 “确定” 关闭“引用管理器”对话框。
3. 配置引用属性 (重要步骤)
为了确保插件正确加载并避免冲突,您需要修改这些引用的一个属性:
- 在 “解决方案资源管理器” 中,展开您的项目下的 “引用” (References) 节点。
- 逐个选择您刚刚添加的 Navisworks DLL 引用(例如
Autodesk.Navisworks.Api)。 - 在 Visual Studio 右下角的 “属性” (Properties) 窗口中,找到 “复制本地” (Copy Local) 属性。
- 将其值设置为
False。
这样做是为了告诉 Visual Studio 在编译时不要将这些 Navisworks API DLL 复制到您的插件输出目录,因为 Navisworks 运行时已经提供了它们。
4. 配置生成输出路径 (重要步骤)
Navisworks 插件需要放置在特定的文件夹结构中才能被识别和加载 [3, 1]。
- 在 “解决方案资源管理器” 中,右键点击您的项目(例如
NavisworksLogisticsPlugin)。 - 选择 “属性” (Properties)。
- 在项目属性页中,选择左侧的 “生成” (Build) 选项卡。
- 在右侧的“输出”部分,找到 “输出路径” (Output path) 字段。
- 您需要将此路径设置为 Navisworks 安装目录下的
Plugins文件夹内的一个子文件夹,该子文件夹的名称必须与您的项目名称完全一致 [3, 1]。- 首先,手动在 Navisworks 安装目录中创建这个文件夹。 例如,如果您的 Navisworks 2017 安装在
C:\Program Files\Autodesk\Navisworks Manage 2017\,并且您的项目名称是NavisworksLogisticsPlugin,那么您需要创建以下文件夹:C:\Program Files\Autodesk\Navisworks Manage 2017\Plugins\NavisworksLogisticsPlugin\ - 然后,将“输出路径”设置为这个新创建的文件夹的完整路径。 例如:
C:\Program Files\Autodesk\Navisworks Manage 2017\Plugins\NavisworksLogisticsPlugin\[1]
- 首先,手动在 Navisworks 安装目录中创建这个文件夹。 例如,如果您的 Navisworks 2017 安装在
5. 开始编写插件代码
现在您的项目已经配置完毕,您可以开始编写插件代码了。您的插件类需要继承自 Autodesk.Navisworks.Api.Plugins.AddInPlugin 或 Autodesk.Navisworks.Api.Plugins.DockPanePlugin,并添加相应的 PluginAttribute 和 AddInPluginAttribute 或 DockPanePluginAttribute [3]。
例如,一个简单的“Hello World”插件骨架可能看起来像这样:
using Autodesk.Navisworks.Api;
using Autodesk.Navisworks.Api.Plugins;
using System.Windows.Forms; // 用于MessageBox
namespace NavisworksLogisticsPlugin
{
[AddInPlugin(AddInLocation.AddIn)] // 将插件显示在Navisworks的“附加模块”选项卡中
public class Main : AddInPlugin
{
public override int Execute(params string parameters)
{
MessageBox.Show("Hello from Navisworks Logistics Plugin!");
return 0;
}
}
}
重要提示:
- 将
YOUR_DEVELOPER_ID替换为您自己的唯一开发者 ID。这通常是您的公司名称缩写或反向域名,以确保插件的唯一性。 - 编译项目后,Navisworks 启动时会自动加载位于其
Plugins文件夹中的插件 [3, 1]。
通过遵循这些步骤,您应该能够成功地在 Visual Studio 2022 中为 Navisworks 2017 插件设置开发环境。
dotnet build NavisworksTransportPlugin.csproj --configuration Debug --verbosity normal
dotnet build NavisworksTransportPlugin.csproj --verbosity normal