版本升级到 0.14.0
This commit is contained in:
parent
811b815082
commit
1cf5816cb4
98
CHANGELOG.md
98
CHANGELOG.md
@ -1,5 +1,103 @@
|
|||||||
# NavisworksTransport 变更日志
|
# NavisworksTransport 变更日志
|
||||||
|
|
||||||
|
## [0.14.0] - 2025-12-01
|
||||||
|
|
||||||
|
### 🎯 MSI安装包制作与用户体验优化 - 安装包生成、文件格式扩展与可视化系统完善
|
||||||
|
|
||||||
|
#### MSI安装包系统实现
|
||||||
|
|
||||||
|
##### 自动化安装包构建
|
||||||
|
|
||||||
|
- **Visual Studio Installer Projects集成**: 成功集成VS Installer Projects扩展,实现自动化MSI安装包生成
|
||||||
|
- **项目配置优化**: 配置Release模式和x64平台目标,确保安装包的兼容性和性能
|
||||||
|
- **安装包属性管理**: 完善ProductName、Manufacturer、Version等安装包元数据配置
|
||||||
|
- **安装指南文档**: 编写详细的MSI安装程序生成指南,提供完整的安装包制作流程
|
||||||
|
|
||||||
|
##### 安装包功能完善
|
||||||
|
|
||||||
|
- **setup.exe与MSI区别说明**: 详细说明引导程序和安装数据包的区别,提供分发策略建议
|
||||||
|
- **静默安装支持**: 实现`msiexec /i NavisworksTransport.Setup.msi /qn /l*v install.log`静默安装命令
|
||||||
|
- **依赖管理**: 优化安装包依赖检查机制,确保目标系统满足插件运行要求
|
||||||
|
|
||||||
|
#### 文件格式扩展与数据管理
|
||||||
|
|
||||||
|
##### JSON路径文件导入系统
|
||||||
|
|
||||||
|
- **JSON格式支持**: 实现JSON路径文件导入功能,支持更加灵活的数据交换格式
|
||||||
|
- **多格式兼容性**: 扩展文件导入能力,支持JSON和其他标准格式的路径数据交换
|
||||||
|
- **数据验证优化**: 增强导入过程中的数据验证和错误处理机制
|
||||||
|
- **项目完成度评估**: 对系统整体完成度进行评估,列出详细的功能报告
|
||||||
|
|
||||||
|
##### 几何体缓存优化
|
||||||
|
|
||||||
|
- **缓存文件支持**: 增加几何体缓存文件支持,提高模型加载和渲染性能
|
||||||
|
- **缓存策略优化**: 优化几何体数据的缓存策略,减少重复计算开销
|
||||||
|
- **加载性能提升**: 通过缓存机制显著提升大型模型的加载速度
|
||||||
|
|
||||||
|
#### 网格点可视化系统重构
|
||||||
|
|
||||||
|
##### 可视化形状多样化
|
||||||
|
|
||||||
|
- **形状类型扩展**: 将网格点可视化从单一的球和立方体,扩展为圆形和正方形等多种形状
|
||||||
|
- **可用性标识**: 增加网格点可视化类型,提供立方体(可用)、点(不可用)等状态标识
|
||||||
|
- **视觉反馈优化**: 改进可视化元素的视觉表现,提供更直观的状态反馈
|
||||||
|
|
||||||
|
##### 用户界面增强
|
||||||
|
|
||||||
|
- **iFlow文档集成**: 增加iFlow相关文档,提升用户对系统工作流程的理解
|
||||||
|
- **物流列表刷新优化**: 使用场景加载完成事件SceneLoaded实现文档更新后的物流列表自动刷新
|
||||||
|
- **插件启动优化**: 改进插件启动时的动作序列,减少启动时间
|
||||||
|
|
||||||
|
#### 空间索引与性能优化
|
||||||
|
|
||||||
|
##### 空间索引系统完善
|
||||||
|
|
||||||
|
- **自定义空间哈希网格**: 实现SpatialHashGrid,提供高效的空间数据查询和管理
|
||||||
|
- **空间索引优化**: 集成空间索引到碰撞检测系统,优化检测性能和准确性
|
||||||
|
- **几何对象缓存**: 优化空间索引构建,直接使用预过滤的非通道缓存,提高处理效率
|
||||||
|
- **格子大小动态调整**: 优化空间索引格子大小参数,使用车辆宽度参数进行动态调整
|
||||||
|
|
||||||
|
##### 碰撞检测性能提升
|
||||||
|
|
||||||
|
- **通道对象排除逻辑**: 添加通道对象排除逻辑到空间索引,减少不必要的碰撞检测计算
|
||||||
|
- **AABB包围盒优化**: 修复AABB包围盒碰撞检测逻辑错误,提高检测准确性
|
||||||
|
- **Vector3d.Distance修复**: 修复Vector3d.Distance调用错误,优化几何计算性能
|
||||||
|
- **Progress API集成**: 统一使用Progress API进行进度显示,优化批量操作的用户体验
|
||||||
|
|
||||||
|
#### 代码架构与维护优化
|
||||||
|
|
||||||
|
##### 引用与依赖清理
|
||||||
|
|
||||||
|
- **多余引用删除**: 清理项目中的多余引用和未使用的依赖项
|
||||||
|
- **命名空间优化**: 简化命名空间引用,使用using别名提高代码可读性
|
||||||
|
- **未使用方法移除**: 移除IsChannelPublic等未使用的方法,保持代码整洁
|
||||||
|
- **DataBinding性能监控**: 完成DataBindingPerformanceMonitor功能的完整删除
|
||||||
|
|
||||||
|
##### 错误修复与稳定性
|
||||||
|
|
||||||
|
- **路径预计算范围修复**: 修复路径预计算范围不正确的问题
|
||||||
|
- **碰撞报告名称匹配**: 修复碰撞检测报告中名字匹配错误的BUG
|
||||||
|
- **单位显示格式**: 修正碰撞报告中检测间隙单位显示错误,确保数据准确性
|
||||||
|
- **PathAnimationManager优化**: 恢复PathAnimationManager变量的默认初始值
|
||||||
|
|
||||||
|
### 验证结果 ✅
|
||||||
|
|
||||||
|
- ✅ MSI安装包生成流程完整,支持自动化构建和静默安装
|
||||||
|
- ✅ JSON路径文件导入功能正常,数据格式兼容性良好
|
||||||
|
- ✅ 网格点可视化系统完善,多种形状类型支持正常
|
||||||
|
- ✅ 空间索引系统优化,碰撞检测性能显著提升
|
||||||
|
- ✅ 几何体缓存机制有效,模型加载速度明显改善
|
||||||
|
- ✅ 代码架构清理完成,依赖管理更加规范
|
||||||
|
|
||||||
|
### 技术里程碑
|
||||||
|
|
||||||
|
- **安装包制作**: 从源码到MSI安装包的完整自动化构建流程
|
||||||
|
- **数据格式扩展**: 从单一格式到多格式兼容的数据交换系统
|
||||||
|
- **可视化系统**: 从基础图形到多样化形状的状态可视化
|
||||||
|
- **性能优化**: 空间索引与几何缓存的深度性能优化
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [0.13.0] - 2025-10-11
|
## [0.13.0] - 2025-10-11
|
||||||
|
|
||||||
### 🎯 3D路径规划与多层网格系统 - 高度层算法重构
|
### 🎯 3D路径规划与多层网格系统 - 高度层算法重构
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
# 版本号
|
# 版本号
|
||||||
|
|
||||||
0.13.0
|
0.14.0
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
## 开发环境:
|
# 开发环境
|
||||||
|
|
||||||
- 操作系统: Windows 11 (开发环境)
|
- 操作系统: Windows 11 (开发环境)
|
||||||
- Navisworks 版本: Navisworks 2017 Manage 或 Simulate (需安装以获取 SDK)
|
- Navisworks 版本: Navisworks 2017 Manage 或 Simulate (需安装以获取 SDK)
|
||||||
@ -7,76 +7,76 @@
|
|||||||
- 安装程序工具: WiX Toolset
|
- 安装程序工具: WiX Toolset
|
||||||
- 版本控制: Git (可选,但强烈推荐)
|
- 版本控制: Git (可选,但强烈推荐)
|
||||||
|
|
||||||
* 确保在 Visual Studio 项目中正确引用 Navisworks 2017 SDK 中的程序集,并将它们的“复制本地”属性设置为 False,以避免在插件部署时出现问题 。
|
- 确保在 Visual Studio 项目中正确引用 Navisworks 2017 SDK 中的程序集,并将它们的“复制本地”属性设置为 False,以避免在插件部署时出现问题 。
|
||||||
|
|
||||||
好的,在 Visual Studio 2022 中为 Navisworks 插件创建项目,您需要选择正确的项目模板并进行一些关键配置。
|
好的,在 Visual Studio 2022 中为 Navisworks 插件创建项目,您需要选择正确的项目模板并进行一些关键配置。
|
||||||
|
|
||||||
以下是详细的操作步骤:
|
以下是详细的操作步骤:
|
||||||
|
|
||||||
### 1. 创建新项目
|
## 1. 创建新项目
|
||||||
|
|
||||||
1. **打开 Visual Studio 2022。**
|
1. **打开 Visual Studio 2022。**
|
||||||
2. 在启动界面,选择 **“创建新项目”**。
|
2. 在启动界面,选择 **“创建新项目”**。
|
||||||
3. 在“创建新项目”对话框中:
|
3. 在“创建新项目”对话框中:
|
||||||
* 在顶部的搜索框中输入 **"Class Library"** (类库)。
|
- 在顶部的搜索框中输入 **"Class Library"** (类库)。
|
||||||
* 在结果列表中,选择 **“类库 (.NET Framework)”**。请务必选择 `.NET Framework` 版本,而不是 `.NET` 或 `.NET Standard`,因为 Navisworks 2017 插件是基于.NET Framework 的。
|
- 在结果列表中,选择 **“类库 (.NET Framework)”**。请务必选择 `.NET Framework` 版本,而不是 `.NET` 或 `.NET Standard`,因为 Navisworks 2017 插件是基于.NET Framework 的。
|
||||||
* 点击 **“下一步”**。
|
- 点击 **“下一步”**。
|
||||||
4. 在“配置新项目”对话框中:
|
4. 在“配置新项目”对话框中:
|
||||||
* **项目名称 (Project name):** 输入您的插件名称,例如 `NavisworksLogisticsPlugin`。这个名称很重要,因为它将用于插件的部署文件夹名称 [1]。
|
- **项目名称 (Project name):** 输入您的插件名称,例如 `NavisworksLogisticsPlugin`。这个名称很重要,因为它将用于插件的部署文件夹名称 [1]。
|
||||||
* **位置 (Location):** 选择一个您希望保存项目文件的本地文件夹。
|
- **位置 (Location):** 选择一个您希望保存项目文件的本地文件夹。
|
||||||
* **解决方案名称 (Solution name):** 可以与项目名称相同,或者根据您的偏好设置。
|
- **解决方案名称 (Solution name):** 可以与项目名称相同,或者根据您的偏好设置。
|
||||||
* 点击 **“下一步”**。
|
- 点击 **“下一步”**。
|
||||||
5. 在“其他信息”对话框中:
|
5. 在“其他信息”对话框中:
|
||||||
* **框架 (Framework):** 在下拉菜单中,选择 **“.NET Framework 4.6”**。这是 Navisworks 2017 API 所需的最低兼容版本。如果您的 Visual Studio 默认没有 4.6,可以选择 4.8,因为 4.8 兼容 4.6 及更早的 4.x 版本。
|
- **框架 (Framework):** 在下拉菜单中,选择 **“.NET Framework 4.6”**。这是 Navisworks 2017 API 所需的最低兼容版本。如果您的 Visual Studio 默认没有 4.6,可以选择 4.8,因为 4.8 兼容 4.6 及更早的 4.x 版本。
|
||||||
* 点击 **“创建”**。
|
- 点击 **“创建”**。
|
||||||
|
|
||||||
现在,您已经创建了一个空的 C# 类库项目。
|
现在,您已经创建了一个空的 C# 类库项目。
|
||||||
|
|
||||||
### 2. 添加 Navisworks API 引用
|
## 2. 添加 Navisworks API 引用
|
||||||
|
|
||||||
接下来,您需要将 Navisworks API 的核心 DLL 文件添加到您的项目中。这些文件通常位于 Navisworks 2017 的安装目录下的 `api\` 文件夹中 [2, 1]。
|
接下来,您需要将 Navisworks API 的核心 DLL 文件添加到您的项目中。这些文件通常位于 Navisworks 2017 的安装目录下的 `api\` 文件夹中 [2, 1]。
|
||||||
|
|
||||||
1. 在 Visual Studio 的 **“解决方案资源管理器”** 中,右键点击您的项目(例如 `NavisworksLogisticsPlugin`)。
|
1. 在 Visual Studio 的 **“解决方案资源管理器”** 中,右键点击您的项目(例如 `NavisworksLogisticsPlugin`)。
|
||||||
2. 选择 **“添加”** > **“项目引用...”** (Add > Project Reference...)。
|
2. 选择 **“添加”** > **“项目引用...”** (Add > Project Reference...)。
|
||||||
3. 在“引用管理器”对话框中,选择左侧的 **“浏览”** (Browse)。
|
3. 在“引用管理器”对话框中,选择左侧的 **“浏览”** (Browse)。
|
||||||
4. 点击右下角的 **“浏览...”** (Browse...) 按钮。
|
4. 点击右下角的 **“浏览...”** (Browse...) 按钮。
|
||||||
5. 导航到您的 Navisworks 2017 安装目录。通常路径是:
|
5. 导航到您的 Navisworks 2017 安装目录。通常路径是:
|
||||||
`C:\Program Files\Autodesk\Navisworks Manage 2017\api\net\` (如果您安装的是 Manage 版本)
|
`C:\Program Files\Autodesk\Navisworks Manage 2017\api\net\` (如果您安装的是 Manage 版本)
|
||||||
或
|
或
|
||||||
`C:\Program Files\Autodesk\Navisworks Simulate 2017\api\net\` (如果您安装的是 Simulate 版本)
|
`C:\Program Files\Autodesk\Navisworks Simulate 2017\api\net\` (如果您安装的是 Simulate 版本)
|
||||||
6. 在该目录下,选择以下所有 DLL 文件并点击 **“添加”**:
|
6. 在该目录下,选择以下所有 DLL 文件并点击 **“添加”**:
|
||||||
* `Autodesk.Navisworks.Api.dll` [1]
|
- `Autodesk.Navisworks.Api.dll` [1]
|
||||||
* `Autodesk.Navisworks.ComApi.dll` [1]
|
- `Autodesk.Navisworks.ComApi.dll` [1]
|
||||||
* `Autodesk.Navisworks.Interop.ComApi.dll` [1]
|
- `Autodesk.Navisworks.Interop.ComApi.dll` [1]
|
||||||
* `Autodesk.Navisworks.Interop.ComApiAutomation.dll` [1]
|
- `Autodesk.Navisworks.Interop.ComApiAutomation.dll` [1]
|
||||||
7. 点击 **“确定”** 关闭“引用管理器”对话框。
|
7. 点击 **“确定”** 关闭“引用管理器”对话框。
|
||||||
|
|
||||||
### 3. 配置引用属性 (重要步骤)
|
## 3. 配置引用属性 (重要步骤)
|
||||||
|
|
||||||
为了确保插件正确加载并避免冲突,您需要修改这些引用的一个属性:
|
为了确保插件正确加载并避免冲突,您需要修改这些引用的一个属性:
|
||||||
|
|
||||||
1. 在 **“解决方案资源管理器”** 中,展开您的项目下的 **“引用”** (References) 节点。
|
1. 在 **“解决方案资源管理器”** 中,展开您的项目下的 **“引用”** (References) 节点。
|
||||||
2. 逐个选择您刚刚添加的 Navisworks DLL 引用(例如 `Autodesk.Navisworks.Api`)。
|
2. 逐个选择您刚刚添加的 Navisworks DLL 引用(例如 `Autodesk.Navisworks.Api`)。
|
||||||
3. 在 Visual Studio 右下角的 **“属性”** (Properties) 窗口中,找到 **“复制本地” (Copy Local)** 属性。
|
3. 在 Visual Studio 右下角的 **“属性”** (Properties) 窗口中,找到 **“复制本地” (Copy Local)** 属性。
|
||||||
4. 将其值设置为 **`False`**。
|
4. 将其值设置为 **`False`**。
|
||||||
|
|
||||||
这样做是为了告诉 Visual Studio 在编译时不要将这些 Navisworks API DLL 复制到您的插件输出目录,因为 Navisworks 运行时已经提供了它们。
|
这样做是为了告诉 Visual Studio 在编译时不要将这些 Navisworks API DLL 复制到您的插件输出目录,因为 Navisworks 运行时已经提供了它们。
|
||||||
|
|
||||||
### 4. 配置生成输出路径 (重要步骤)
|
## 4. 配置生成输出路径 (重要步骤)
|
||||||
|
|
||||||
Navisworks 插件需要放置在特定的文件夹结构中才能被识别和加载 [3, 1]。
|
Navisworks 插件需要放置在特定的文件夹结构中才能被识别和加载 [3, 1]。
|
||||||
|
|
||||||
1. 在 **“解决方案资源管理器”** 中,右键点击您的项目(例如 `NavisworksLogisticsPlugin`)。
|
1. 在 **“解决方案资源管理器”** 中,右键点击您的项目(例如 `NavisworksLogisticsPlugin`)。
|
||||||
2. 选择 **“属性”** (Properties)。
|
2. 选择 **“属性”** (Properties)。
|
||||||
3. 在项目属性页中,选择左侧的 **“生成”** (Build) 选项卡。
|
3. 在项目属性页中,选择左侧的 **“生成”** (Build) 选项卡。
|
||||||
4. 在右侧的“输出”部分,找到 **“输出路径” (Output path)** 字段。
|
4. 在右侧的“输出”部分,找到 **“输出路径” (Output path)** 字段。
|
||||||
5. 您需要将此路径设置为 Navisworks 安装目录下的 `Plugins` 文件夹内的一个子文件夹,该子文件夹的名称必须与您的项目名称完全一致 [3, 1]。
|
5. 您需要将此路径设置为 Navisworks 安装目录下的 `Plugins` 文件夹内的一个子文件夹,该子文件夹的名称必须与您的项目名称完全一致 [3, 1]。
|
||||||
* **首先,手动在 Navisworks 安装目录中创建这个文件夹。** 例如,如果您的 Navisworks 2017 安装在 `C:\Program Files\Autodesk\Navisworks Manage 2017\`,并且您的项目名称是 `NavisworksLogisticsPlugin`,那么您需要创建以下文件夹:
|
- **首先,手动在 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\`
|
||||||
* **然后,将“输出路径”设置为这个新创建的文件夹的完整路径。** 例如:
|
- **然后,将“输出路径”设置为这个新创建的文件夹的完整路径。** 例如:
|
||||||
`C:\Program Files\Autodesk\Navisworks Manage 2017\Plugins\NavisworksLogisticsPlugin\` [1]
|
`C:\Program Files\Autodesk\Navisworks Manage 2017\Plugins\NavisworksLogisticsPlugin\` [1]
|
||||||
|
|
||||||
### 5. 开始编写插件代码
|
## 5. 开始编写插件代码
|
||||||
|
|
||||||
现在您的项目已经配置完毕,您可以开始编写插件代码了。您的插件类需要继承自 `Autodesk.Navisworks.Api.Plugins.AddInPlugin` 或 `Autodesk.Navisworks.Api.Plugins.DockPanePlugin`,并添加相应的 `PluginAttribute` 和 `AddInPluginAttribute` 或 `DockPanePluginAttribute` [3]。
|
现在您的项目已经配置完毕,您可以开始编写插件代码了。您的插件类需要继承自 `Autodesk.Navisworks.Api.Plugins.AddInPlugin` 或 `Autodesk.Navisworks.Api.Plugins.DockPanePlugin`,并添加相应的 `PluginAttribute` 和 `AddInPluginAttribute` 或 `DockPanePluginAttribute` [3]。
|
||||||
|
|
||||||
@ -103,12 +103,12 @@ namespace NavisworksLogisticsPlugin
|
|||||||
```
|
```
|
||||||
|
|
||||||
**重要提示:**
|
**重要提示:**
|
||||||
* 将 `YOUR_DEVELOPER_ID` 替换为您自己的唯一开发者 ID。这通常是您的公司名称缩写或反向域名,以确保插件的唯一性。
|
|
||||||
* 编译项目后,Navisworks 启动时会自动加载位于其 `Plugins` 文件夹中的插件 [3, 1]。
|
- 将 `YOUR_DEVELOPER_ID` 替换为您自己的唯一开发者 ID。这通常是您的公司名称缩写或反向域名,以确保插件的唯一性。
|
||||||
|
- 编译项目后,Navisworks 启动时会自动加载位于其 `Plugins` 文件夹中的插件 [3, 1]。
|
||||||
|
|
||||||
通过遵循这些步骤,您应该能够成功地在 Visual Studio 2022 中为 Navisworks 2017 插件设置开发环境。
|
通过遵循这些步骤,您应该能够成功地在 Visual Studio 2022 中为 Navisworks 2017 插件设置开发环境。
|
||||||
|
|
||||||
|
|
||||||
dotnet build NavisworksTransportPlugin.csproj --configuration Debug --verbosity normal
|
dotnet build NavisworksTransportPlugin.csproj --configuration Debug --verbosity normal
|
||||||
|
|
||||||
dotnet build NavisworksTransportPlugin.csproj --verbosity normal
|
dotnet build NavisworksTransportPlugin.csproj --verbosity normal
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
### [2025/11/07]
|
### [2025/11/07]
|
||||||
|
|
||||||
1. [ ] (功能)制作MSI安装包,实现插件的安装部署
|
1. [x] (功能)制作MSI安装包,实现插件的安装部署
|
||||||
2. [x] (功能)JSON导入功能,PathDataManager.cs:602,ImportFromJson() 未实现
|
2. [x] (功能)JSON导入功能,PathDataManager.cs:602,ImportFromJson() 未实现
|
||||||
|
|
||||||
### [2025/10/21]
|
### [2025/10/21]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user