|
|
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 |
|
|
|
4357b91446
|
更新serena mcp的使用原则
|
2025-09-30 22:54:30 +08:00 |
|
|
|
5c98598311
|
阶段五:删除已集成的UI文档片段和添加清理总结
删除:
- path_visualization_ui.txt (内容已集成到SystemManagementView.xaml)
新增:
- doc/working/cleanup_summary.md (详细的清理总结报告)
清理总成果:
- 删除文件:5个
- 删除代码:约3753行
- 编译状态:✅ 成功
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-09-30 22:22:50 +08:00 |
|
|
|
b048235657
|
阶段一:删除冗余的UIStateMachine
- 删除 src/Core/UIStateMachine.cs
- UIStateMachine和UIState枚举完全未使用
- 项目实际使用PathEditState作为状态管理
- 编译验证通过,无任何错误
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-09-30 22:17:48 +08:00 |
|
|
|
3f2d66c255
|
测试和修改A*返回的坐标转换的问题
|
2025-09-29 23:25:21 +08:00 |
|
|
|
95bf6e839b
|
增加生成导航地图的功能,把当前路径场景保存成图片
|
2025-09-29 14:20:54 +08:00 |
|
|
|
8a95820fca
|
修改了通道网格生成的高度设置,能在斜面上生成网格,可视化也对了
|
2025-09-28 16:20:04 +08:00 |
|
|
|
5ef1fdc747
|
升级版本到0.12.0,完善物流属性列表的能力,实现同步选择视图、单个模型可见性、属性数值回填设置区
|
2025-09-16 12:27:30 +08:00 |
|
|
|
a3d1915dec
|
修复处理通道几何体错误去重的bug
|
2025-09-15 20:47:38 +08:00 |
|
|
|
8a1e7b2614
|
修改步长和速度的计算,优化检测报告。
|
2025-09-15 16:41:24 +08:00 |
|
|
|
8946873e32
|
网格点在设置时同步刷新
|
2025-09-14 21:24:51 +08:00 |
|
|
|
62349099aa
|
增加了空间通道方式的路径连线
|
2025-09-14 17:06:04 +08:00 |
|
|
|
89c98f1556
|
把动画播放控制改成媒体控制按钮,增加了步进、快放,支持反向播放
|
2025-09-13 13:34:22 +08:00 |
|
|
|
cc8842dcd8
|
把动画改成步进式,在动画生成阶段进行快速碰撞计算。
|
2025-09-12 22:44:49 +08:00 |
|
|
|
0b0028c19c
|
增加了文档变更后,清理和初始化的功能
|
2025-09-12 17:36:26 +08:00 |
|
|
|
abda8a4a4d
|
将插件主控UI移到Views目录
|
2025-09-12 16:30:20 +08:00 |
|
|
|
fc0b6d6aaa
|
简化可见性控制代码,改成工具类
|
2025-09-12 11:25:00 +08:00 |
|
|
|
0195d3e8ad
|
换用官方API示例,优化可见性控制。
|
2025-09-12 05:13:57 +08:00 |
|
|
|
6c5400f172
|
优化分层属性读取,优化单独显示性能(可见性管理器)
|
2025-09-11 16:41:19 +08:00 |
|
|
|
f131d0f8b7
|
修复斜线路径优化有局部锯齿的情况
|
2025-09-11 12:38:31 +08:00 |
|
|
|
7e68a3ea65
|
增加了路径斜线优化,效果非常好
|
2025-09-10 03:23:40 +08:00 |
|
|
|
d3feaa7fc0
|
增加安全优先路径算法(基础版,只计算中心距离)
|
2025-09-10 02:55:47 +08:00 |
|
|
|
d046e31d6c
|
更新到0.11.0,增加功能和优化:
1. 局部直线优先路径算法 - 详细描述了算法原理、技术实现和效果对比
2. 路径策略选择系统 - 涵盖了UI界面改进和多策略架构实现
3. 网格可视化系统 - 描述了可视化功能和用户体验改进
4. UI架构现代化 - 包含Idle事件机制和统一状态栏系统
5. 内存管理与性能优化 - 涵盖COM API优化和碰撞算法改进
|
2025-09-09 02:30:10 +08:00 |
|
|
|
3732c6fa99
|
用Idle机制改造UI管理框架
|
2025-09-08 10:01:20 +08:00 |
|
|
|
9924c3b304
|
把动画从Timer改成Idle事件机制
|
2025-09-08 08:38:25 +08:00 |
|
|
|
bd74b42df3
|
增加路径优化算法建议方案
|
2025-09-08 07:58:08 +08:00 |
|
|
|
ba01624152
|
增加底部状态栏,统一提示消息和进度条显示
|
2025-09-07 15:52:56 +08:00 |
|
|
|
dd62a6dce4
|
换成了基于网格坐标的路径优化算法
|
2025-09-07 12:44:54 +08:00 |
|
|
|
fb8d52398b
|
修改了寻路算法穿洞的bug
|
2025-09-06 20:47:12 +08:00 |
|
|
|
289eff5554
|
增加了空洞和障碍物网格的可视化
|
2025-09-06 19:13:58 +08:00 |
|
|
|
e73cd2113e
|
通道网格用几何三角形精确计算,增加通行网格可视化
|
2025-09-06 16:26:39 +08:00 |
|
|
|
2955bfd38b
|
重构了一些重复的几何计算
|
2025-09-06 14:06:05 +08:00 |
|
|
|
101c929f15
|
用ClashDetective API的标准用法重构碰撞检测部分,增加了碰撞分组;
三维视图选点光标改成十字形,当失去焦点时,按空格键切换回来。
|
2025-09-06 04:13:12 +08:00 |
|
|
|
722e2ce9cc
|
修改UI更新的定时器线程安全导致崩溃问题
|
2025-09-05 12:59:11 +08:00 |
|
|
|
1f82eb814f
|
清理碰撞检测的无用代码
|
2025-09-05 02:31:11 +08:00 |
|
|
|
41cac3dedd
|
重构了碰撞代码,抽取包围盒几何计算到Uitls
|
2025-09-04 17:14:04 +08:00 |
|
|
|
1d28c71cba
|
用SearchAPI来搜索CategoryAttributeManager中的FilterByLogisticsType()、FilterTraversableItems()等方法
|
2025-09-04 13:54:24 +08:00 |
|
|
|
2cd3772105
|
将节点关系和几何体关系代码从动画管理器中抽取出来,形成工具类
|
2025-09-04 10:16:25 +08:00 |
|
|
|
d09ac6434b
|
增加包围盒为基础的2.5D网格生成方法。
|
2025-09-04 01:02:12 +08:00 |
|