Commit Graph

29 Commits

Author SHA1 Message Date
a655e8092c 建立简单的数据库备份和恢复机制 2026-02-07 01:56:24 +08:00
289fb2016b 增加坐标系管理功能,支持自动检测和手动选择ZUp/YUp坐标系,更新配置文件和UI界面 2026-01-31 10:02:02 +08:00
5fb18b5869 进行动态坐标系架构设计,增加自动检测模型坐标系探索按钮 2026-01-30 23:39:21 +08:00
760786d9b1 清理废弃的连线标记,更新异步方法调用方式 2026-01-14 12:12:22 +08:00
0081015d0b 把路径可视化设置放到路径页签,统一可视化风格架构(颜色+透明度) 2026-01-04 10:55:33 +08:00
d63896bf63 基本实现物流对象沿着路径转向的功能 2025-12-19 10:13:41 +08:00
330f6591a2 删除多余的引用 2025-10-21 18:48:27 +08:00
55fbcbdb48 将网格点可视化从球和立方体,改为圆形和正方形 2025-10-18 16:43:17 +08:00
9c97633411 增加网格点可视化类型,立方体(可用)、点(不可用) 2025-10-17 18:47:35 +08:00
5791e57192 对系统管理UI进行修改,更改体素路径测试参数 2025-10-14 17:19:17 +08:00
3aaa176ce6 优化插件启动时的动作 2025-10-14 16:29:05 +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
7343133f12 增加了配置管理功能,配置文件保存为toml格式,可在配置窗口编辑;实现了日志级别管理功能 2025-10-11 12:18:33 +08:00
6e20628bd2 优化路径可视化插件的参数初始化过程 2025-09-17 14:17:55 +08:00
7b11a91da0 修复通行空间可视化没有同步使用路径参数的bug 2025-09-17 12:34:16 +08:00
5dfa24be86 清理一些todo和无效文件和代码 2025-09-17 12:06:28 +08:00
62349099aa 增加了空间通道方式的路径连线 2025-09-14 17:06:04 +08:00
3b5d5963e5 增加门的可视化网格点 2025-09-11 02:34:47 +08:00
3732c6fa99 用Idle机制改造UI管理框架 2025-09-08 10:01:20 +08:00
7d2edc9862 重构了各ViewModel的消息方法,抽取到ViewModelBase基类 2025-09-07 23:02:21 +08:00
83aad61147 将路径、动画、系统的消息也迁移到状态栏 2025-09-07 22:46:20 +08:00
f32c367fd0 去掉了测试按钮,修改了环境检测按钮的位置 2025-09-07 13:18:38 +08:00
ceb37e33a4 增加网格可视化开关,路径优化不成功 2025-09-07 02:30:31 +08:00
c40e1219a7 修改程序关闭崩溃的bug 2025-09-02 18:49:28 +08:00
508c3e8e79 修改路径点预览效果和退出清理的bug 2025-09-01 18:36:23 +08:00
099afd3f93 实现了日志管理,修复了碰撞自身的问题。 2025-08-21 14:27:49 +08:00
0e20be9e86 重新设计了路径可视化机制,重构了系统管理UI 2025-08-20 12:47:12 +08:00