# 准备实现的需求 ## 功能点 ### [2026/5/18] 1. [x] (BUG)修复剖面盒导出后程序偶尔崩溃的问题 2. [x] (优化)拆分剖面盒导出为遍历+导出两步,提高性能 ### [2026/4/12] 1. [x] (功能)实现自动集成测试框架 2. [x] (优化)自动路径规划的坐标系适配 ### [2026/4/2] 1. [x] (功能)增加按选择项显示剖面盒的功能 2. [x] (优化)让地面和吊装路径摆脱fragment依赖 ### [2026/3/20] 1. [x] (优化)实现Yup模型兼容 2. [x] (功能)运动物体在起点支持三个方向的旋转 ### [2026/3/18] 1. [x] (功能)增加终端仿真需要的轨上和轨下路径(角度可倾斜) ### [2026/3/11] 1. [x] (功能)给“导出剖面盒”增加导出nwd文件的选项 ### [2026/3/9] 1. [x] (功能)支持记录并查看路径文件操作的历史记录 2. [x] (优化)物流自定义类别配置,简化并合并到系统配置中 3. [x] (优化)给版本号增加时间戳(增加Build号) ### [2026/2/24] 1. [x] (优化)吊装路径支持多个水平层 2. [x] (文档)增加管理员使用手册 ### [2026/2/14] 1. [x] (优化)实现完整的路径分析功能 2. [x] (功能)用物流分类属性筛选对应的物流元素 3. [x] (优化)实现完整的时间标签功能 4. [x] (优化)增加路径剖面盒开关 ### [2026/2/8] 1. [x] (功能)增加预计算结果分析和排除建议 2. [x] (优化)在碰撞报告中,给每一个碰撞元素自动建立截图 3. [x] (优化)截图按碰撞记录组织成子文件夹 4. [ ] (优化)研究如何利用ClashDetective的多线程(支持打开多线程) 5. [x] (优化)给每个检测到的碰撞对象增加单独视角(60度,右上方) 6. [x] (优化)点击碰撞列表的碰撞详情时,要把运动物体移动到位,查看碰撞情况 ### [2026/2/6] 1. [x] (功能)在碰撞报告中支持多张截图 2. [x] (功能)增加提取元素的包围盒信息,并一键拷贝到坐标编辑窗口 3. [x] (功能)在状态栏增加路径可视化快捷按钮 ### [2026/2/3] 1. [x] (优化)预计算高亮正确,结果高亮错误,高亮了很多不相干的同名物体 2. [x] (BUG)预计算一个目标物体,161帧碰撞,机制有问题 3. [x] (BUG)吊装路径,终点前的一段拐弯,通行空间方向不对 4. [x] (BUG)批处理时杀死程序,重新打开有执行中的任务,但删除选中没激活,再运行批处理,收到停止信号结束 5. [x] (BUG)碰撞检测历史列表,不自动加载,不自动刷新 6. [x] (优化)将通行空间透明度变成系统参数,可以修改 7. [x] (优化)ClashDetective检测中,每执行100次打印一下日志 8. [ ] (研究)如何利用剖面,过滤被隐藏的内容 9. [x] (BUG)批处理指定检测物体,预计算时没有忽略空间缓存建立 ### [2026/1/28] 1. [ ] (优化)将ViewPonit的RenderStyle改成Shaded,以免影响高亮(考虑在显示碰撞时,改成Wireframe) 2. [ ] (优化)修改架构适应模型坐标系的变化(Yup-Xright-Zfront) 3. [x] (优化)修改吊装路径适应桁车空中路线(纵向+平移,有吊绳) 4. [x] (优化)对系统配置文件的修改即时起效 5. [ ] (优化)切换文档时重新加载数据库 6. [x] (优化)默认打开指定碰撞物体 7. [ ] (优化)动画运行视角优化设计,不能只用俯视图 8. [x] (BUG)旧版配置文件要主动提示升级配置文件,不能崩溃 ### [2026/1/26] 1. [x] (优化)完善碰撞报告截图保存机制,自动导出html报告。 2. [x] (优化)增加视角自动调整到路径上方合适位置功能,方便截图和观察 3. [x] (BUG)批处理中保存手工指定item的方式不对,要参考碰撞历史的方法 ### [2026/1/18] 1. [x] (功能)实现吊装路径,支持3步吊运过程 2. [x] (功能)给移动到起点的虚拟物体或物体增加调整角度能力 3. [x] (优化)在自动路径规划的几何体获取过程中,过滤隐藏项,提高性能 4. [x] (功能)在碰撞检测报告中,增加碰撞结果截图 5. [x] (功能)实现多条路径碰撞检测的批处理 ### [2026/1/13] 1. [x] (优化)检查API调用的线程安全问题,提高插件的稳定性 2. [x] (优化)减少ClashDetective检测部分的耗时 ### [2026/1/6] 1. [x] (BUG)虚拟物体模型每次点击都重建 2. [x] (BUG)碰撞结果高亮,应该显示clashdetective检测的结果 3. [x] (优化)对clashdetective的检测结果,进行向上合并,找到集合对象。 4. [x] (功能)碰撞检测结果保存数据库,列表展示 ### [2025/12/25] 1. [x] (功能)对路径上的各点进行坐标编辑 2. [ ] (功能)记录并查看路径文件操作的历史记录 3. [x] (功能)自动隐藏或淡化非关键层,以便专注于物流路径相关的层级。 4. [x] (优化)优化路径时间标签功能 5. [ ] (测试)路径规划文件能导入DELMIA 6. [x] (优化)优化路径规划分析和分析报告 7. [x] (功能)增加物流属性自定义 8. [x] (BUG) 动画时物流车在起点时应该朝向路径方向,切换虚拟物体和指定物体时,原有的要归位 9. [x] (功能)物流车在路径点转弯时,设置转弯半径等参数,将路径变成曲线 ### [2025/12/18] 1. [x] (BUG)ClashDetective碰撞列表项名字缺少被撞物体名称 ### [2025/12/09] 1. [x] (BUG)路径列表和动画当前路径的变化存在循环引用的情况 2. [x] (BUG)动画过程中,有一些被碰撞的墙. 柱子和其他对象没有被检测到 ### [2025/12/08] 1. [x] (功能)碰撞检测时,增加手工指定被检测构件,用特殊颜色标识 2. [x] (功能)动画时,物流模型朝向随路径变化 3. [x] (功能)动画生成,增加使用模拟物流物体立方体选项 4. [x] (功能)动画检测时,过滤门和其他可通行构件 5. [x] (BUG)只有手动路径时,导出路径按钮没激活 6. [x] (BUG)重复打开模型,有时程序崩溃,需要先关闭物流插件窗口 7. [x] (优化)提高碰撞检测在处理大型模型时的性能 8. [ ] (功能)如果进行耗时处理(超过30秒),弹出确认窗口,告诉用户预估时间. 耗时原因和优化建议(如隐藏不需要的节点) ### [2025/12/05] 1. [x] (BUG)保存当前选择项时,无响应 2. [ ] (BUG)相邻通道的相邻部分,有边界障碍网格 3. [ ] (BUG)多层建筑的上层楼板,通道中有超出范围或中间多出来的障碍网格,可能受周围结构或下层柱子等结构的影响 4. [ ] (功能)在【生成网格地图】步骤2.5: 高性能包围盒遍历处理障碍物中,在日志中记录处理进度。用于处理大型模型时评估时间。 ### [2025/11/07] 1. [x] (功能)制作MSI安装包,实现插件的安装部署 2. [x] (功能)JSON导入功能,PathDataManager.cs:602,ImportFromJson() 未实现 ### [2025/10/21] 1. [x] (优化)使用场景加载完成事件SceneLoaded实现文档更新后的物流列表刷新 ### [2025/10/18] 1. [x] (功能)为几何体提取增加文件缓存(暂时只用于体素网络) ### [2025/10/14] 1. [x] (优化)用空间索引优化碰撞路径预处理 2. [x] (优化)规范文档打开前/后的初始化行为 ### [2025/10/12] 1. [x] (实验性功能)用体素网格实现3D路径规划 ### [2025/10/11] 1. [x] (功能)实现系统配置管理,采用toml格式保存配置文件 ### [2025/10/09] 1. [x] (优化)支持楼梯场景的3D路径规划 ### [2025/10/01] 1. [x] (功能)路径分析 ### [2025/09/29] 1. [x] (功能)导出导航地图为图片 2. [x] (功能)增加时间标签功能,以限速和路径段评估路径运行时间 ### [2025/09/28] 1. [x] (优化)识别表面不平的通道,给网格正确的表面z值 ### [2025/09/27] 1. [x] (优化)为生成的网格地图增加缓存,提高路径规划性能 ### [2025/09/15] 1. [x] (功能)修改碰撞检测报告,增加碰撞构件的数量和清单 2. [x] (功能) 修改动画和碰撞参数,检测精度(步长)=路径长度/(帧率*时长),速度=路径长度/时长 3. [x] (优化) 完善网格的高度数据,修改在A*算法中的高度处理错误 4. [x] (功能) 完善物流属性列表的能力,实现同步选择视图. 单个模型可见性. 属性数值回填设置区 ### [2025/09/14] 1. [x] (功能)增加空间通道连线方式:1. 宽度路径,半透明,膨胀直径高度为车高加安全距离 ### [2025/09/12] 1. [x] (功能)给动画增加步进功能,同时提供反向功能(反向播放. 反向步进) 2. [x] (功能) 自动生成的路径,贴合通道表面 3. [x] (功能) 文档更新后,插件重新初始化 ### [2025/09/011] 1. [x] (优化)大模型文件分层和导出,不挂机不崩溃 2. [x] (优化) 提高显示/隐藏的性能 ### [2025/09/09] 1. [x] (功能)增加安全优先路径策略 2. [x] (功能) 增加路径斜线优化 ### [2025/09/08] 1. [x] (功能)增加局部直线优先路径策略 2. [x] (优化) 提高网格地图创建性能(优化API的使用) 3. [x] (优化) 通过idle改进UI事件管理,把反射改成事件通知 ### [2025/09/07] 1. [x] (功能)增加插件系统参数配置和管理 2. [x] (功能)增加底部状态栏,统一提示消息和进度条显示 ### [2025/09/05] 1. [x] (功能)把三维视图选点光标改成十字形,当失去焦点时,按空格键切换回来。 2. [x] (优化) 用精确几何方式进行通道网格构建,用网格可视化方式确认其正确性 3. [x] (优化) 重写路径优化算法,确保直线和直角转弯,不引入错误路径 ### [2025/09/04] 1. [x] (重构)将节点关系和几何体关系代码从动画管理器中抽取出来,形成工具类 2. [x] (BUG) 特殊的运动物体(树)动画碰撞有结果(正确),但ClashDetective检测不出来(可能是因为树只是线,不是solid类型) 3. [x] (优化) 用ClashDetective API的标准用法重构碰撞检测部分,增加了碰撞分组 ### [2025/09/03] 1. [x] (功能)实现时间标签的UI原型 2. [x] (功能)实现路径规划分析的UI原型 3. [x] (优化)增加直接采用包围盒的2.5D自动寻路算法,代替空间索引+高度扫描算法。 4. [x] (BUG)自动规划有时成功(过滤3个通道,找到26个障碍物),有时失败(过滤2个通道,只找到2个障碍物),连续自动规划,有时会崩溃。 5. [ ] (BUG)还有厚度为0的障碍物(不一定是bug) 6. [x] (优化) 用SearchAPI来搜索CategoryAttributeManager中的FilterByLogisticsType(). FilterTraversableItems()等方法 ### [2025/08/31] 1. [x](优化)提高自动路径规划网格生成的速度(原速度:4楼模型,0.2米4.6秒;0.1米18秒) 优化空间索引后,0.2米网格,1.8秒;0.1米网格,5.1秒 ### [2025/08/30] 1. [x](优化)用几何方法识别通道的坡度变化(侧面上表面轮廓线),给通道网格准确的z坐标 2. [x](BUG)动画中的包围盒检测和ClashDetective检测结果不一致,是因为碰撞间隙不同造成的。(Autodesk官方建议保守测试+0公差解决碰撞检测结果不准确的问题) 3. [x] (功能)实现完整的路径点可视化编辑 ### [2025/08/29] 1. [x](BUG)路径导出,只有一条路径时,导出按钮不能点击;导出的内容有时不完整,只导出一个包含起点. 一个路径点. 终点的不存在的路径。 2. [x](优化)垂直扫描处理器性能问题:COM API几何提取效率极低,23个候选项需要5715ms,复杂几何体比简单几何体效率低4倍,需要优化批量处理和并行机制。 3. [x](优化)修复并行任务未观察异常导致程序崩溃:AggregateException错误表明Task异常处理不当,需要加强并行处理的异常处理和Task生命周期管理。 ### [2025/08/28] 1. [x](优化)将“自动规划路径”中的物体长度. 宽度的默认值改为1米,安全间隙改为0.25米。高级设置中,网格的大小 ,默认值改为0.5米。 2. [x](功能)将这些参数,作为插件配置文件的参数,在系统管理的插件管理中,统一管理 3. [x](优化)修改分层预览的业务逻辑:从一级节点开始,遍历每个节点查找指定的分层属性,如果找到,记录下来作为一个分层,不再遍历其下级节点;如果没找到,继续遍历其子节点,直到找到为止,遍历深度受到用户指定的遍历深度限制。特殊处理:1. 对于智能检测,使用一组候选的分层属性,对每个节点进行查找,按属性的评分(优先级)确定选择何种属性。2. 对于自定义查找,用指定的分层属性,在每个节点的"分层信息“属性类别中查找。 4. [x](优化)对自动路径规划进行重构,按地面层+高度剖面投影层的方式,构建可通行网格,然后用A*算法获取最短路径。 ### [2025/08/27] 1. [x](优化)在分层预览列表中,去掉”文件大小“和”状态“列,增加: - “是否保存”列,内容是单选框,默认选中,选中的行,在点击“分层保存”时会保存,未选中的不保存 - 在列表下方,增加“单独显示”按钮,点击后会隐藏除了当前行之外的其他部分 - 保存文件时,文件名的格式:根节点名_自定义属性名_属性值_时间戳