版本升级到 0.14.0

This commit is contained in:
tian 2025-12-01 11:12:55 +08:00
parent 811b815082
commit 1cf5816cb4
4 changed files with 147 additions and 49 deletions

View File

@ -1,5 +1,103 @@
# 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
### 🎯 3D路径规划与多层网格系统 - 高度层算法重构

View File

@ -1,3 +1,3 @@
# 版本号
0.13.0
0.14.0

View File

@ -1,4 +1,4 @@
## 开发环境
# 开发环境
- 操作系统: Windows 11 (开发环境)
- Navisworks 版本: Navisworks 2017 Manage 或 Simulate (需安装以获取 SDK)
@ -7,32 +7,32 @@
- 安装程序工具: WiX Toolset
- 版本控制: Git (可选,但强烈推荐)
* 确保在 Visual Studio 项目中正确引用 Navisworks 2017 SDK 中的程序集,并将它们的“复制本地”属性设置为 False以避免在插件部署时出现问题 。  
- 确保在 Visual Studio 项目中正确引用 Navisworks 2017 SDK 中的程序集,并将它们的“复制本地”属性设置为 False以避免在插件部署时出现问题 。  
好的,在 Visual Studio 2022 中为 Navisworks 插件创建项目,您需要选择正确的项目模板并进行一些关键配置。
以下是详细的操作步骤:
### 1. 创建新项目
## 1. 创建新项目
1. **打开 Visual Studio 2022。**
2. 在启动界面,选择 **“创建新项目”**。
3. 在“创建新项目”对话框中:
* 在顶部的搜索框中输入 **"Class Library"** (类库)。
* 在结果列表中,选择 **“类库 (.NET Framework)”**。请务必选择 `.NET Framework` 版本,而不是 `.NET``.NET Standard`,因为 Navisworks 2017 插件是基于.NET Framework 的。
* 点击 **“下一步”**。
- 在顶部的搜索框中输入 **"Class Library"** (类库)。
- 在结果列表中,选择 **“类库 (.NET Framework)”**。请务必选择 `.NET Framework` 版本,而不是 `.NET``.NET Standard`,因为 Navisworks 2017 插件是基于.NET Framework 的。
- 点击 **“下一步”**。
4. 在“配置新项目”对话框中:
* **项目名称 (Project name):** 输入您的插件名称,例如 `NavisworksLogisticsPlugin`。这个名称很重要,因为它将用于插件的部署文件夹名称 [1]。
* **位置 (Location):** 选择一个您希望保存项目文件的本地文件夹。
* **解决方案名称 (Solution name):** 可以与项目名称相同,或者根据您的偏好设置。
* 点击 **“下一步”**。
- **项目名称 (Project name):** 输入您的插件名称,例如 `NavisworksLogisticsPlugin`。这个名称很重要,因为它将用于插件的部署文件夹名称 [1]。
- **位置 (Location):** 选择一个您希望保存项目文件的本地文件夹。
- **解决方案名称 (Solution name):** 可以与项目名称相同,或者根据您的偏好设置。
- 点击 **“下一步”**。
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# 类库项目。
### 2. 添加 Navisworks API 引用
## 2. 添加 Navisworks API 引用
接下来,您需要将 Navisworks API 的核心 DLL 文件添加到您的项目中。这些文件通常位于 Navisworks 2017 的安装目录下的 `api\` 文件夹中 [2, 1]。
@ -45,13 +45,13 @@
`C:\Program Files\Autodesk\Navisworks Simulate 2017\api\net\` (如果您安装的是 Simulate 版本)
6. 在该目录下,选择以下所有 DLL 文件并点击 **“添加”**
* `Autodesk.Navisworks.Api.dll` [1]
* `Autodesk.Navisworks.ComApi.dll` [1]
* `Autodesk.Navisworks.Interop.ComApi.dll` [1]
* `Autodesk.Navisworks.Interop.ComApiAutomation.dll` [1]
- `Autodesk.Navisworks.Api.dll` [1]
- `Autodesk.Navisworks.ComApi.dll` [1]
- `Autodesk.Navisworks.Interop.ComApi.dll` [1]
- `Autodesk.Navisworks.Interop.ComApiAutomation.dll` [1]
7. 点击 **“确定”** 关闭“引用管理器”对话框。
### 3. 配置引用属性 (重要步骤)
## 3. 配置引用属性 (重要步骤)
为了确保插件正确加载并避免冲突,您需要修改这些引用的一个属性:
@ -62,7 +62,7 @@
这样做是为了告诉 Visual Studio 在编译时不要将这些 Navisworks API DLL 复制到您的插件输出目录,因为 Navisworks 运行时已经提供了它们。
### 4. 配置生成输出路径 (重要步骤)
## 4. 配置生成输出路径 (重要步骤)
Navisworks 插件需要放置在特定的文件夹结构中才能被识别和加载 [3, 1]。
@ -71,12 +71,12 @@ Navisworks 插件需要放置在特定的文件夹结构中才能被识别和加
3. 在项目属性页中,选择左侧的 **“生成”** (Build) 选项卡。
4. 在右侧的“输出”部分,找到 **“输出路径” (Output path)** 字段。
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\` [1]
### 5. 开始编写插件代码
## 5. 开始编写插件代码
现在您的项目已经配置完毕,您可以开始编写插件代码了。您的插件类需要继承自 `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 插件设置开发环境。
dotnet build NavisworksTransportPlugin.csproj --configuration Debug --verbosity normal
dotnet build NavisworksTransportPlugin.csproj --verbosity normal

View File

@ -4,7 +4,7 @@
### [2025/11/07]
1. [ ] 功能制作MSI安装包实现插件的安装部署
1. [x] 功能制作MSI安装包实现插件的安装部署
2. [x] 功能JSON导入功能PathDataManager.cs:602ImportFromJson() 未实现
### [2025/10/21]