# 准备实现的需求

## 功能点

### [2026/6/10]

1. [ ] （功能）对任意三维姿态的模型，点选面自动贴合地面
2. [ ] （功能）自定义分层属性，使用配置文件
3. [x] （优化）用单点取面，取代Rail路径中的三点取端面和2点取安装面

### [2026/5/27]

1. [x] （功能）对任意三维姿态的模型，自动调整最小投影到路径方向
2. [x] （优化）插件打开时，如果模型文件有数据库，自动加载

### [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]（优化）在分层预览列表中，去掉”文件大小“和”状态“列，增加：
    - “是否保存”列，内容是单选框，默认选中，选中的行，在点击“分层保存”时会保存，未选中的不保存
    - 在列表下方，增加“单独显示”按钮，点击后会隐藏除了当前行之外的其他部分
    - 保存文件时，文件名的格式：根节点名_自定义属性名_属性值_时间戳
