diff --git a/CHANGELOG.md b/CHANGELOG.md index 7de15fe..722e971 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,214 @@ # NavisworksTransport 变更日志 +## [0.15.0] - 2026-02-20 + +### 🎯 物流运输路径规划系统全面完善 - 路径曲线化、虚拟动画与批处理系统 + +#### 路径系统重大升级 + +##### 曲线化路径与通行空间可视化 + +- **路径曲线化核心实现** + - 新增 `PathCurveEngine.cs`,实现转弯路径的圆弧曲线化算法 + - 支持贝塞尔曲线和圆弧两种曲线化方案,路径更自然流畅 + - 路径点支持手动编辑坐标,精确控制路径形状 + - 路径导出支持曲线化数据,保留完整的几何信息 + +- **通行空间可视化重构** + - 统一可视化风格架构(颜色 + 透明度配置) + - 支持带状连线风格,直观显示车辆通行区域 + - 切点显示优化:锥体/立柱样式标识转弯点 + - 安全阶段弧线段渲染为告警样式(红色) + - 修复路径可视化中的缝隙问题 + +##### 多类型路径支持 + +- **空轨路径系统** + - 新增空轨数据结构,自动提取轨道基准线 + - 采用OBB包围盒计算基准方向,最小夹角法修正方向错误 + - 路径点自动吸附空轨基准路径功能 + - 独立空轨和吊装路径类型,优化垂直偏移逻辑 + +- **吊装路径系统** + - 新增空中吊装路径规划(两次点击模式) + - 支持天车横移路径,提升点调整上升高度 + - 吊装路径点编辑关联逻辑完善 + - 禁止删除关键点,删除后自动优化路径 + +- **路径分析与优化** + - 实现路径分析功能,统计路径长度、转弯次数等 + - 自动调整视角到路径功能 + - 路径剖面盒开关,支持三维场景重建导出 + - 导出剖面盒相交元素的包围盒信息 + +#### 虚拟车辆动画系统 + +##### 虚拟物体管理 + +- **虚拟车辆生成与显示** + - 重构创建和显示虚拟车辆的功能 + - 虚拟车辆选择后直接放到路径起点 + - 支持虚拟车辆尺寸参数配置 + - 改为虚拟物体管理器,支持更通用的物体类型 + +- **物体运动与转向** + - 物流对象沿路径转向功能实现 + - 物体角度调整功能,支持角度修正值设置 + - 修复动画结束物体朝向转动的问题 + - 修复动画重新播放物体朝向错误 + +- **动画与碰撞集成** + - 虚拟车辆动画生成和碰撞检测功能 + - 碰撞时运动物体位置和朝向记录 + - 动画和检测后保持物体在最终位置 + - 动画哈希判断,避免重复重建动画 + +#### 批处理任务队列系统 + +##### 批量碰撞检测 + +- **批处理队列架构** + - 重构批处理为任务队列模式,简化操作流程 + - 增加批处理任务管理界面,支持任务增删改查 + - 批处理队列处理中的进度条支持 + - 增加停止执行功能 + +- **批量报告生成** + - 批处理高亮和报告生成功能 + - 碰撞报告HTML生成器,支持自动导出 + - 批处理不显示报告窗口,执行结束显示汇总信息 + - 无碰撞时触发祝贺对话框 + +- **数据库集成** + - 保存检测记录到数据库,支持历史记录查询 + - 实现检测配置重复比对,避免重复检测 + - 数据库备份和恢复机制 + - 重置异常关闭后的任务状态 + +#### 碰撞检测系统完善 + +##### ClashDetective深度集成 + +- **碰撞检测优化** + - 复用ClashTest,大幅优化碰撞检测性能 + - 检测时只处理可见对象,提升性能 + - 改进动画预计算的几何缓存和空间索引缓存 + - 空间查询改用AABB范围查询,替代半径查询 + +- **排除对象管理** + - 新增排除对象管理功能,支持手动添加和清除 + - 预计算碰撞分析,提供高频碰撞物体排除建议 + - 排除对象数据库存储和显示 + - 尽量保留空间缓存,避免不必要的重建 + +- **碰撞报告增强** + - 碰撞报告自动对碰撞点截图 + - 支持多截图能力,截图保存到数据库并导出HTML + - 碰撞构件清单显示,支持碰撞对聚焦 + - 显示排除对象清单在碰撞报告中 + +##### 预计算碰撞分析 + +- **预计算分析对话框** + - 新增预计算碰撞分析对话框及相关功能 + - 调整对话框尺寸,优化数据表显示 + - 修改预计算分析列表滚动条和数量限制 + - 排除对象添加到列表的自动化 + +#### 坐标系统支持 + +##### 多坐标系适配 + +- **坐标系管理功能** + - 增加坐标检测功能,可检测ZUp/YUp坐标系 + +#### 时间标签与TimeLiner + +##### 完整时间标签功能 + +- **时间标签系统** + - 实现完整的时间标签功能,标记路径关键点时间 + - 时间标签导出到TimeLiner任务 + - 时标计算服务,精确计算到达时间 + +#### 数据库与数据管理 + +##### 数据持久化完善 + +- **路径数据管理** + - 数据库保存碰撞节点信息表 + - 路径名称更新功能,支持数据库同步 + - 路径数据去重,解决碰撞结果重复问题 + - 数据库路径载入事件,避免事件职责混乱 + +- **配置管理优化** + - 配置兼容性检查,提示用户升级配置文件 + - 配置变更事件订阅,系统配置实时生效 + - 通行空间透明度配置,支持实时更新 + - 检测容差参数统一,替代原有间隙参数 + +#### 视角控制与用户体验 + +##### 视角聚焦功能 + +- **智能视角调整** + - 选择物体或车辆时自动视角对焦 + - 视角调整到标准俯视图视角 + - 优化聚焦角度为60度 + - 排除对象、碰撞对象、指定对象、物流类型等元素都支持视角对焦 + +##### UI交互优化 + +- **界面布局改进** + - 缩小插件UI界面宽度,优化布局 + - 物流自定义文件简化,调整类别名字 + - 实现自定义类别功能,支持用户自定义物流分类 + - 按物流分类筛选显示物流元素 + +- **操作体验提升** + - 增加复制底面中心坐标功能,支持粘贴坐标 + - 导出精度调整为3位小数 + - 路径列表使用DataGrid替代ListView + - 修改ClashDetective进度条展示百分比,支持取消 + +#### 稳定性与性能优化 + +##### 核心性能提升 + +- **缓存优化** + - 优化单位转换处理,使用缓存提高性能 + - 几何缓存和空间索引缓存机制完善 + - 虚拟车辆管理避免动态计算尺寸 + +- **稳定性修复** + - 修复程序崩溃的bug,完善异常处理 + - 解决空轨计算提取三角形引起的崩溃 + - 修正数据管理的内容显示,修正类别自定义错误日志 + - 修正检测配置重复和动画结束检测的问题 + +### 验证结果 ✅ + +- ✅ 曲线化路径生成正常,转弯自然流畅 +- ✅ 虚拟车辆动画和碰撞检测功能完整 +- ✅ 批处理队列系统稳定运行,支持大规模任务 +- ✅ 空轨和吊装路径类型支持完善 +- ✅ 坐标系统支持ZUp/YUp,适配不同模型 +- ✅ 碰撞检测报告支持多截图和HTML导出 +- ✅ 数据库历史记录查询和管理功能正常 +- ✅ 时间标签功能完整,支持TimeLiner导出 +- ✅ 所有功能完整测试通过,系统稳定性达到生产级标准 + +### 技术里程碑 + +- **路径系统成熟**: 从简单直线路径到曲线化、空轨、吊装多类型支持 +- **虚拟动画系统**: 完整的虚拟车辆生成、运动、转向和碰撞检测 +- **批处理能力**: 支持大规模批量碰撞检测和报告生成 +- **数据持久化**: SQLite数据库完整支持路径、碰撞、配置数据 +- **坐标系适配**: 支持多种坐标系,提升模型兼容性 +- **用户体验**: 视角控制、进度显示、报告生成全面优化 + +--- + ## [0.14.0] - 2025-12-01 ### 🎯 MSI安装包制作与用户体验优化 - 安装包生成、文件格式扩展与可视化系统完善 diff --git a/README.md b/README.md index af0acac..4994361 100644 --- a/README.md +++ b/README.md @@ -1,74 +1,60 @@ # NavisworksTransport -Navisworks2026运输冲突检测插件,专用于物流路径规划。 +Navisworks Manage 2026 物流路径规划与运输冲突检测插件。 ## 功能特性 -- ✅ 类别属性分配:为模型项目添加物流类别属性(门、电梯、楼梯、通道、障碍物) -- ✅ 模型分层转换和可见性控制 -- ✅ 导航地图构建 -- ✅ A*路径规划算法 -- ✅ 动态碰撞检测 -- ✅ 动画和时间线集成 -- ✅ DELMIA数据导出 +- ✅ **物流属性管理**:类别属性分配(门、电梯、楼梯、通道、障碍物等)、自定义类别 +- ✅ **路径规划**:A*自动寻路、曲线化路径、空轨路径、吊装路径 +- ✅ **动画仿真**:虚拟车辆动画、物体沿路径转向、TimeLiner集成 +- ✅ **碰撞检测**:ClashDetective集成、预计算分析、批处理队列 +- ✅ **可视化**:通行空间、网格可视化、路径剖面盒、视角聚焦 +- ✅ **数据管理**:SQLite数据库、历史记录、导入导出(JSON/CSV/XML/DELMIA) ## 系统要求 -- Windows 10 或更高版本 +- Windows 10/11 - Navisworks Manage 2026 - .NET Framework 4.8 -## 安装说明 +## 构建与安装 -1. 编译项目生成TransportPlugin.dll -2. 插件会自动安装到Navisworks插件目录: - `[Navisworks安装路径]\Plugins\TransportPlugin\` -3. 重启Navisworks即可在"附加模块"选项卡中找到插件 +```bash +# 构建 +./compile.bat + +# 部署到Navisworks插件目录 +./deploy-plugin.bat +``` + +插件将自动安装到:`C:\ProgramData\Autodesk\Navisworks Manage 2026\plugins\TransportPlugin\` ## 使用方法 -1. 在Navisworks中选择要设置属性的模型项目 -2. 点击"附加模块"选项卡中的"Transport Plugin" -3. 在弹出窗口中点击相应的类别按钮 -4. 在属性面板中查看添加的"物流分类"属性 +1. 在Navisworks中打开BIM模型 +2. 点击"附加模块"选项卡中的"TransportPlugin" +3. 使用物流分类功能设置模型属性 +4. 创建路径并执行碰撞检测 -详细使用说明请参阅:[使用说明文档](doc/working/使用说明.md) - -## 开发文档 - -- [开发任务文档](doc/working/类别属性功能开发任务.md) -- [设计方案](doc/design/Navisworks%20物流路径规划插件快速开发方案:动态碰撞检测与动画集成_.md) -- [需求文档](doc/requirement/user_requiement.md) +详细说明请参阅:[AGENTS.md](AGENTS.md) ## 技术架构 ``` -TransportPlugin/ -├── MainPlugin.cs # 插件主类和用户界面 -├── LogisticsCategories.cs # 物流类别定义 -├── CategoryAttributeManager.cs # COM API封装和属性管理 -└── Properties/ - └── AssemblyInfo.cs # 程序集信息 +src/ +├── Core/ # 插件主类、动画、碰撞检测、配置、数据库 +├── Commands/ # 命令模式实现 +├── PathPlanning/ # A*算法、网格地图、路径优化 +├── UI/WPF/ # WPF界面(Views/ViewModels/Converters) +└── Utils/ # 工具类 ``` -## 版本历史 +## 版本 -### v1.0 (2025-01-11) +当前版本:**0.15.0** (2026-02-20) -- 实现基础的类别属性分配功能 -- 支持5种预定义物流类别 -- 提供批量处理能力 -- 完整的错误处理和用户反馈 +完整版本历史请参阅:[CHANGELOG.md](CHANGELOG.md) -## 原始需求概述 +## 许可证 -本插件旨在简化 Navisworks Manage 中移动模型沿确定路径进行物理碰撞或干涉检测的流程。通过自动化 Animator 动画创建、Clash Detective 碰撞测试配置与运行,并提供直观的图形化碰撞结果显示,本插件将大大提高工作效率,并为用户提供一个快速验证施工物流和设备移动可行性的工具。 - -完整的目标功能包括: - -- 在 Navisworks Ribbon 界面添加自定义按钮 -- 用户选择一个要移动的模型 -- 用户通过选择一系列模型元素来定义非直线路径点 -- 插件自动在 Animator 中创建基于这些路径点的对象动画 -- 插件自动配置并运行一个链接到该动画的动态碰撞测试 -- 当检测到碰撞时,插件将通过颜色覆盖直观地高亮显示碰撞的物体,并弹出明确的提示信息 +Copyright © 2024-2026 diff --git a/VERSION.md b/VERSION.md index e7e7c67..37327bd 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1,3 +1,3 @@ # 版本号 -0.14.0 +0.15.0