|
|
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 |
|