Commit Graph

132 Commits

Author SHA1 Message Date
0de096aed0 实现ClashDetective结果保存到数据库功能,并在UI中展示碰撞检测历史记录 2026-01-08 12:50:00 +08:00
d473065025 向上查找复合节点,处理clashdetective碰撞结果,优化碰撞报告生成逻辑 2026-01-08 11:42:56 +08:00
ffac0ae146 动画结束用clashdetective结果高亮,整理高亮架构 2026-01-07 19:18:37 +08:00
cbc63809f0 解决车辆漏检和多检的问题 2026-01-07 12:29:19 +08:00
aa0fdc2cec 纠正ModelItem比较的使用方法 2026-01-06 13:00:48 +08:00
be174ab6bb 解决动画过程中,高亮时有时无的情况 2026-01-06 12:48:20 +08:00
3bae0f0274 修改手动新建路径时的可视化bug 2026-01-05 15:57:00 +08:00
6cc48c3500 把曲线化路径与动画集成 2026-01-05 12:48:57 +08:00
93135d3c29 增加了路径曲线化的方案,实现了基础的曲线化路径数据结构和存储,以及曲线化核心算法 2025-12-30 18:29:41 +08:00
7c319b199f 增加转弯路径曲线化方案 2025-12-30 14:40:37 +08:00
f3a07eb482 实现路径坐标点手动编辑功能 2025-12-30 09:55:36 +08:00
736e6e8448 修改移动物体初始角度不对的问题 2025-12-25 17:48:49 +08:00
dab8dc34c3 修复程序崩溃的bug;完善未完成的功能清单 2025-12-25 15:04:40 +08:00
5647ae9134 修复ClashDetective碰撞结果列表项名字只有一半的问题 2025-12-19 18:17:26 +08:00
d9c2ec8c12 修复路径列表UI触发事件引起事件循环的问题 2025-12-19 14:17:20 +08:00
d63896bf63 基本实现物流对象沿着路径转向的功能 2025-12-19 10:13:41 +08:00
2a8425d529 基本实现手工指定碰撞检测对象 2025-12-11 10:52:09 +08:00
7446431f9c 增加了虚拟物流车辆动画生成和碰撞检测功能 2025-12-10 16:59:35 +08:00
e5b8501a63 将ClashDetective检测模式从HardConservative改为Hard,提高检测性能 2025-12-10 14:36:06 +08:00
23801726ab 临时测试对象引用无效,回复未优化ClashDetective测试的版本; 2025-12-10 13:23:24 +08:00
a19e5f91f3 修改了第一个路径导出路径按钮没激活,无法导出的BUG 2025-12-09 17:14:55 +08:00
941bade44a 复用ClashTest,大幅优化碰撞检测性能 2025-12-09 10:51:11 +08:00
393e1c7291 碰撞检测时,只处理可见对象,大幅优化性能。 2025-12-09 10:06:08 +08:00
4736372552 修改了碰撞性能优化记录文档 2025-12-08 17:24:42 +08:00
01f200ca60 改进了动画预计算的几何缓存和空间索引缓存方法,提高了50%的性能。大型模型(50万)提高到120秒 2025-12-08 17:21:34 +08:00
12616629b0 清理多余的动画检测实时计算代码 2025-12-08 15:04:16 +08:00
f8320066c1 优化碰撞检测算法,进行合理的去重后再检测;优化动画控制逻辑,避免重复订阅事件和资源清理; 2025-12-08 12:31:12 +08:00
221e13cb5a 更新项目进度评估报告 2025-12-01 11:35:44 +08:00
1cf5816cb4 版本升级到 0.14.0 2025-12-01 11:12:55 +08:00
ca4488dcb8 根据安装程序的要求,更新项目文件,目标平台为x64,项目设置为Release 2025-11-18 18:27:40 +08:00
fee00dfb82 增加MSI安装程序生成指南,修改README.md 2025-11-17 12:49:35 +08:00
5e1e4b04b2 对项目完成度进行了评估,列出报告;实现了JSON路径文件导入功能。 2025-11-07 15:13:28 +08:00
80975b829a 删除多余的引用 2025-10-21 18:47:55 +08:00
b0a63409b9 删除一些多余代码,注释掉文档更新刷新物流元素列表代码 2025-10-21 17:44:35 +08:00
3aaa176ce6 优化插件启动时的动作 2025-10-14 16:29:05 +08:00
b05bb727c6 refactor: 完成 DataBindingPerformanceMonitor 功能的完整删除
- 删除 DataBindingPerformanceMonitor.cs 文件
- 从 NavisworksTransportPlugin.csproj 移除编译引用
- 清理 ViewModelBase.cs 中的所有性能监控代码
- 清理 ThreadSafeObservableCollection.cs 中的性能监控集成
- 清理 SmartDataBindingOptimizer.cs 中的性能监控使用
- 清理 BindingExpressionOptimizer.cs 中的性能监控调用

该功能不再需要,移除后简化了代码结构
2025-10-14 15:01:26 +08:00
687b342e0f 增加geometry4sharp的评估 2025-10-14 11:17:01 +08:00
1a3d1e7f49 清理多余文件 2025-10-13 16:53:40 +08:00
e12e1125d2 为几何体提取添加进度条支持,优化用户体验
主要改进:
- 添加 Navisworks Progress API 支持到 ExtractTriangles 方法
- 实时显示片段处理进度(百分比)
- 支持用户取消操作(IsCanceled 检查)
- 移除批量日志输出,改用进度条展示
- 统一 ExtractTriangles 方法,移除单个项目的重复实现
- 在 finally 块中确保进度条正确关闭

文档更新:
- 扩展 NavisworksAPI使用方法.md 中的进度条章节
- 添加详细的 Progress API 使用指南
- 包含实际应用案例、最佳实践和常见陷阱
- 提供完整的代码示例和性能优化建议

性能改进:
- 每个片段更新一次进度(3516次调用,可接受)
- 移除频繁的日志写入(每100个片段),减少 I/O 开销
- 保留关键日志(开始、结束、取消、错误)

用户体验提升:
- 可视化进度反馈,避免假死感
- 支持随时取消长时间操作
- 优雅的错误处理和资源清理

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-13 10:40:24 +08:00
27908540c2 实现XY平面膨胀算法和3D体素路径规划
本次提交包含三个主要改进:

1. XY平面膨胀算法(VoxelGrid.cs)
   - 实现简单迭代形态学膨胀
   - 只在水平方向(XY平面)的4邻域膨胀
   - 不在Z方向(垂直方向)膨胀
   - 符合车辆物流场景:车辆只侧面/顶部碰撞障碍物

2. 3D体素路径规划(VoxelPathFinder.cs)
   - 集成RoyT.AStar库进行3D A*路径规划
   - 支持体素网格上的路径搜索
   - 添加VoxelPathFindingTestCommand测试命令

3. UI和测试改进
   - 删除旧的包围盒测试命令(VoxelGridTestCommand.cs)
   - 更新SystemManagementView UI
   - 添加体素路径规划测试功能

核心设计原则:
- 门模型在SDF生成前被排除(留出通道空洞)
- SDF阶段只标记几何体内部为障碍物
- 安全间隙仅在XY平面膨胀阶段应用
- 避免Z方向的错误膨胀

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-12 21:13:02 +08:00
1e11f60042 feat(voxel): 实现障碍物膨胀算法 - 阶段1.5完成
完成任务1.5 - 障碍物膨胀算法(Obstacle Inflation)

核心实现:
-  VoxelGrid.InflateObstacles() 主方法(约200行)
-  PerformFastSweeping() 8方向扫描
-  Sweep() 单向距离传播
-  CheckAndUpdate() 邻居距离更新
-  从geometry4Sharp移植Fast Sweeping算法

技术特性:
- 3D距离变换使用DenseGrid3f存储距离场
- 8方向扫描:(+1,+1,+1), (-1,-1,-1)等8个方向
- 每次扫描检查7个邻居进行距离更新
- 门类型体素保护机制(门不膨胀)
- 正确的模型单位转换处理

性能数据(gatehouse_pub.nwd):
- 初始障碍物:3,747个体素
- 膨胀后障碍物:4,477个体素
- 新增膨胀:730个体素(19.5%增量)
- Fast Sweeping耗时:3ms
- 总膨胀耗时:4-5ms
- 可通行比例:22.9% → 7.9%

集成测试:
- VoxelGridSDFTestCommand新增膨胀测试
- SystemManagementViewModel调整测试参数(0.6米膨胀半径)
- 膨胀半径必须 >= 体素大小才能生效

问题修复:
- 修复膨胀为0的问题(参数配置:0.3米 < 0.5米体素)
- 调整测试参数为0.6米(600模型单位 > 500体素大小)
- 移除VoxelGridSDFTestCommand构造函数默认参数

阶段1完成:
- 任务1.1-1.5全部完成 
- 性能远超目标(< 1秒 vs 目标 < 5秒)
- 提前5天完成阶段1
- 建议继续阶段2

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-12 17:00:06 +08:00
6460dda879 feat(voxel): 添加体素网格测试UI和命令
实现内容:
1. 创建 VoxelGridTestCommand - 体素网格测试命令
   - 选中对象创建体素网格
   - 简单的边界标记(边界为障碍物,内部为自由空间)
   - 生成可视化报告
   - 防止体素数量过多(>100万)

2. 在系统管理页签添加功能测试区域
   - 新增"功能测试"分组
   - 添加"测试体素网格"按钮
   - 集成到 SystemManagementViewModel

3. 功能特性
   - 自动计算选中对象的总包围盒
   - 提取三角网格(为后续SDF做准备)
   - 体素统计信息(总数、可通行、障碍物)
   - 生成详细的测试报告

使用方法:
1. 在 Navisworks 中选择一个或多个模型对象
2. 打开插件面板 -> 系统管理页签
3. 滚动到最下方"功能测试"区域
4. 点击"测试体素网格"按钮
5. 查看测试结果对话框和日志

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-12 13:49:55 +08:00
40946091dd docs(voxel): 更新任务跟踪 - 任务1.3已完成
- 标记任务 1.3(实现简单体素化原型)为已完成
- 更新总体进度:3/17 任务完成(18%)
- 更新阶段 1 进度:3/5 任务完成(60%)
- 添加变更日志:VoxelGridGenerator 360行代码完成

完成情况:
- 包围盒体素化算法实现
- 物流类型自动识别
- 障碍物膨胀功能
- 单位自动转换
- 性能统计日志
2025-10-12 11:47:01 +08:00
aece9fbbe1 docs(voxel): 更新任务跟踪文档 - 任务1.1和1.2已完成
- 标记任务 1.1(安装 geometry4Sharp)为已完成
- 标记任务 1.2(创建 VoxelGrid 基础数据结构)为已完成
- 更新总体进度:2/17 任务完成(12%)
- 更新阶段 1 进度:2/5 任务完成(40%)
- 添加变更日志条目

完成情况:
- VoxelCell.cs: 167 行代码
- VoxelGrid.cs: 365 行代码
- 完整的 XML 中文注释
- 编译通过,无错误
2025-10-12 11:27:29 +08:00
2b0b13c43a docs(voxel): 添加体素网格路径规划任务跟踪文档
- 创建详细的 4 阶段任务清单(17 个子任务)
- 每个任务包含:工作量、验收标准、阻塞问题
- 包含风险管理、进度跟踪、决策流程
- 包含 Git 工作流和提交规范

文件位置: doc/working/voxel_pathfinding_task_tracker.md
2025-10-12 11:15:55 +08:00
dd991d38ce 增加体素网格和GPU加速2个可行性方案 2025-10-12 11:05:29 +08:00
7343133f12 增加了配置管理功能,配置文件保存为toml格式,可在配置窗口编辑;实现了日志级别管理功能 2025-10-11 12:18:33 +08:00
a46568f43e 版本升级到0.13.0:
1、核心突破
3D路径规划系统 - Graph替代Grid,真正的3D路径规划
高度层网格 - 支持楼梯、斜面等复杂多层场景
网格膨胀算法 - 障碍物和边界分离计算,提高精度
2、新增功能
SQLite数据库集成 - 路径分析、碰撞报告存储
导航地图生成 - 场景图片导出功能
无关项过滤 - 新物流类型,提高规划效率
3、性能优化
网格缓存机制 - 大幅提高路径规划速度
高度处理完善 - 斜面路径、楼梯网格生成
几何体过滤 - 避免误判障碍物
4、架构清理
删除冗余UIStateMachine、未使用的WPF Services
删除所有向后兼容代码
简化自动寻路代码,提升可读性
2025-10-11 10:03:22 +08:00
9ccf925964 给网格增加了高度层概念,试图支持楼面上的楼梯,还不完善 2025-10-08 23:56:59 +08:00
6091b794de 实现了基本的路径分析功能,增加了文档关联的sqllite数据库 2025-10-03 16:28:02 +08:00