3.3.3. 通道选择及导航功能方案（对标投标模板结构，含输入/输出数据详细规格）

3.3.3.1. 通道选择及路径点规划

3.3.3.1.1. 模型切分
3.3.3.1.1.1. 功能要求

- 满足用户需求文档“模型切分”：支持全模型分层切分；对编组站区域楼层间上下贯穿模块可按业务需要忽略，确保视图聚焦物流相关区域；
- 以“楼层/区域/子系统/自定义”等属性进行分层，支持预览、筛选和批量导出；
- 支持人工选择集导出（非分层路径），用于快速生成局部审阅材料或成果文件；
- 操作过程提供进度与状态反馈，长耗时任务可中止，防止卡死；
- 导出时可配置NWD导出选项（纹理嵌入、对象特性导出开关），并提供风险提示；
- 所有操作应留痕（时间、操作者、参数）以便审查与复盘。

3.3.3.1.1.2. 实现方案

- 设计思路：采用“策略+深度+预览”的交互范式，确保分层口径与业务关注范围一致。对“自定义分层”提供二级枚举选项（如楼层F1/F2、区域东/西、子系统强电/弱电等），保障灵活性；
- 业务流程：
  1) 用户在“分层策略”和“遍历深度”处选择参数（必要时选择“自定义分层”的二级选项）；
  2) 点击“预览”，系统遍历选择树，生成“分层预览列表”（包含分层名称、分层属性、是否保存）；
  3) 通过“单独显示/显示所有”在三维视图中快速验证分层效果；
  4) 在预览列表中勾选需要导出的项，点击“分层保存”，弹出保存对话框，按勾选项批量导出NWD；
  5) 需要仅导出当前人工选择的范围时，使用“选择集保存”中的“保存当前选择项”；
- 性能与稳健性：预览/导出均提供进度与状态文本，期间可“取消操作”。对“嵌入纹理数据”等高风险选项给出警告，建议在小模型上使用；
- 与其他模块关系：分层口径可与“类别设置”的物流属性协同（先按属性筛选，再分层预览与导出），提升聚焦效率。

3.3.3.1.1.3. 输入数据（详细规格）

- 模型文件（必需）：
  - 类型：文件；格式：NWD/NWF/NWC；编码：二进制；
  - 约束：文件可读且未损坏；Windows 路径长度≤260字符；有读权限；
- 分层策略（必需）：
  - 类型：enum{楼层, 区域, 子系统, 自定义}；默认：楼层；
- 二级选项（条件必需）：
  - 类型：string；当策略=自定义时必填；示例：F1、F2、北区、强电等；长度≤64；禁止字符：/ \ : * ? " < > |；
- 遍历深度（必需）：
  - 类型：enum{1级, 2级, 3级, …, 全部}；默认：全部；说明：限制选择树最大遍历层级；
- 选择集（可选）：
  - 类型：ModelItem[]；来源：选择树或3D视图框选；用途：用于“选择集保存”；允许为空；
- 导出选项（可选）：
  - 嵌入外部引用与纹理：bool，默认=false；启用可能显著增大文件；
  - 阻止导出对象特性：bool，默认=false；启用可减小体积但会丢失属性；

3.3.3.1.1.4. 输出数据（详细规格）

- 分层预览列表（内存）：
  - 字段：index:int；layerName:string(≤128)；layerAttribute:string(≤64)；isSelectedForSave:bool；
  - 行数：依据模型大小；可刷新/清空；
- 分层导出文件（磁盘）：
  - 格式：NWD；命名：{项目名}_{策略}_{属性}_{yyyyMMdd_HHmm}.nwd；
  - 存储：本地文件系统；需写权限；建议单文件≤2GB；
- 选择集导出（磁盘）：
  - 格式：NWD；命名：{项目名}_selection_{yyyyMMdd_HHmm}.nwd；
- 操作日志（磁盘/应用日志）：
  - 字段：timestamp, user, action(preview/export), params(json), result(ok/failed), filePath(optional)；编码=UTF-8；

3.3.3.1.1.5. 功能界面（界面元素详解与操作流程）

- 分层策略（SplitStrategies，ComboBox）
  - 作用：选择分层口径（楼层/区域/子系统/自定义）。
  - 使用：下拉选择目标策略；选择“自定义”后需在“自定义分层二级选项”处指定具体值。
  - 流程：选择策略 →（若为自定义）填写二级选项 → 选择遍历深度 → 点击预览。
- 自定义分层二级选项（CustomLayerOptions，ComboBox）
  - 作用：当策略=自定义时，精细化指定维度（如F1/北区/强电）。
  - 使用：策略为“自定义”时启用；否则隐藏或禁用。
  - 约束：长度≤64；禁止字符 / \ : * ? " < > |。
- 遍历深度（DepthOptions，ComboBox）
  - 作用：限制分层遍历到选择树的最大层级（1级/2级/.../全部）。
  - 使用：根据模型规模与关注粒度选择；“全部”最全面但耗时较长。
- 预览（PreviewSplitCommand，Button）
  - 作用：执行遍历并生成“分层预览列表”。
  - 使用：点击后在列表中查看分层记录，配合“单独显示/显示所有”审查。
- 预览列表（ListView + GridView）
  - 列：序号（自动）、分层名称、分层属性、是否保存（复选）。
  - 使用：勾选“是否保存”表示该分层将被导出；支持单选/多选。
- 单独显示（IsolateSelectedLayerCommand，Button）
  - 作用：隐藏其他分层，仅显示选中行内容。
  - 使用：选中列表某行后可用；用于快速验证分层效果。
- 显示所有（ShowAllLayersCommand，Button）
  - 作用：恢复显示全部分层内容。
  - 使用：用于“单独显示”后的还原。
- 分层保存（ExecuteSplitCommand，Button）
  - 作用：将“是否保存”为true的分层项导出为NWD文件。
  - 使用：导出前可在“导出选项”勾选“嵌入纹理/阻止对象特性”；导出后在状态区查看结果与路径。
- 导出选项（EmbedXrefs / PreventObjectPropertyExport，CheckBox）
  - 作用：控制导出内容与文件大小/稳定性之间的平衡。
  - 使用：大模型慎用“嵌入纹理”；如仅需几何可开启“阻止对象特性”。
- 进度与取消（ProgressBar / ProgressDetailText / CancelOperationCommand）
  - 作用：在预览/导出场景提供可视进度与取消入口。
  - 使用：长耗时过程可随时取消以保护体验。
- 操作流程（截图占位）：
  1) 选择“分层策略/遍历深度”（若自定义需指定二级选项）→ 点击“预览”。
  2) 在列表中勾选需要导出的项，利用“单独显示/显示所有”核验。
  3) 配置“导出选项”，点击“分层保存”，等待完成并查看状态消息。
  4) [截图占位：分层管理_策略与深度.png] [截图占位：分层管理_预览列表.png] [截图占位：分层管理_视图验证.png] [截图占位：分层管理_保存与选项.png]
3.3.3.2. 通道选择路径点规划

3.3.3.1.2. 通道选择

3.3.3.1.2.1. 功能要求

- 满足用户需求文档"通道选择"：支持选择通道模型功能，可通过选择树或三维视图点选的方式选择模型并制定为通道类型；
- 支持批量选择多个模型元素，统一设置为通道类型；
- 与物流属性系统集成，自动设置通道的物流分类属性（如可通行性、限宽限高等）；
- 提供清晰的选择状态反馈，显示当前选中的通道模型数量和名称；
- 支持通道模型的筛选、高亮显示和快速定位功能；
- 支持通道选择的撤销和重新设置操作。

3.3.3.1.2.2. 实现方案

- 设计思路：采用"选择-设置-验证"的交互模式，确保通道选择的准确性和易用性；
- 业务流程：
  1) 用户通过选择树或三维视图点选模型元素（支持单选、框选、Ctrl多选）；
  2) 系统实时显示当前选中的模型数量和基本信息；
  3) 用户点击"设置为通道"，系统批量设置物流分类为"通道"；
  4) 自动应用通道默认属性（可通行=true，优先级=3，推荐限速=0.8m/s）；
  5) 提供"高亮显示通道"功能验证设置结果；
  6) 支持"清除通道设置"进行撤销操作；
- 集成策略：与"类别设置"模块深度集成，通道选择后自动触发物流属性设置；
- 性能优化：大批量选择时提供进度指示，支持取消操作防止界面卡顿。

3.3.3.1.2.3. 输入数据（详细规格）

- 选择对象（必需）：
  - 类型：ModelItem[]；来源：选择树NodeSelection或三维视图RaycastHit；
  - 约束：数量≥1；模型元素可读且未损坏；
- 选择方式（必需）：
  - 类型：enum{SelectionTree, 3DView, Mixed}；默认：Mixed；
  - 说明：支持选择树点选、三维视图框选、组合选择；
- 通道属性配置（可选）：
  - 物流类型：string，默认="通道"；
  - 可通行性：bool，默认=true；
  - 优先级：int(1-5)，默认=3；
  - 推荐限宽：double(m)，默认=3.0；范围0.5-10.0；
  - 推荐限高：double(m)，默认=3.0；范围1.5-10.0；
  - 推荐限速：double(m/s)，默认=0.8；范围0.1-2.0；
- 批处理选项（可选）：
  - 覆盖现有属性：bool，默认=false；
  - 忽略错误继续：bool，默认=true；

3.3.3.1.2.4. 输出数据（详细规格）

- 通道列表（内存）：
  - 字段：objectId:string，objectName:string(≤128)，isChannel:bool，channelType:string(≤64)，properties:object；
  - 用途：界面显示和后续路径规划使用；
- 设置结果（内存）：
  - 字段：successCount:int，failCount:int，totalCount:int，failReasons:string[]；
  - 用途：操作结果反馈和错误处理；
- 持久化属性（平台存储）：
  - 位置：Navisworks模型属性系统，自定义分类"物流属性"；
  - 字段：LogisticsCategory="通道"，IsTraversable=true，Priority=3，WidthLimit，HeightLimit，SpeedLimit；
  - 编码：UTF-8；可被后续模块读取和筛选；
- 操作日志（磁盘）：
  - 字段：timestamp，user，action="setChannel"，objectIds:string[]，properties:json，result:string；
  - 格式：JSON行格式；编码=UTF-8；

3.3.3.1.2.5. 功能界面（界面元素详解与操作流程）

- 选择状态显示（SelectedModelsText，TextBlock）
  - 作用：实时显示当前选中的模型数量和简要信息。
  - 使用：自动更新，格式如"已选择 15 个模型项：通道_01, 走廊_A02..."。
- 选择模式切换（SelectionModeOptions，RadioButton组）
  - 作用：选择"选择树模式"或"三维视图模式"或"组合模式"。
  - 使用：影响后续点选行为和快捷键响应。
- 设置为通道（SetAsChannelCommand，Button）
  - 作用：将选中模型批量设置为通道类型并应用默认属性。
  - 使用：需要先选择模型；设置后在状态栏显示成功/失败数量。
  - 启用条件：HasSelectedItems && IsNotProcessing。
- 通道属性配置面板（ChannelPropertiesGroup，GroupBox）
  - 作用：设置通道的默认物流属性（限宽、限高、限速、优先级）。
  - 使用：在"设置为通道"前配置；影响批量设置的默认值。
- 高亮显示通道（HighlightChannelsCommand，Button）
  - 作用：在三维视图中高亮显示所有已设置为通道的模型。
  - 使用：用于验证通道设置结果；可与"仅显示通道"配合使用。
- 清除通道设置（ClearChannelCommand，Button）
  - 作用：清除选中模型的通道属性，恢复为普通模型。
  - 使用：支持批量撤销；需要确认操作。
- 通道筛选器（ChannelFilterOptions，ComboBox + CheckBox）
  - 作用：按通道类型、限制属性等条件筛选显示。
  - 使用：支持"显示所有"、"仅显示通道"、"按限宽筛选"等选项。
- 进度指示器（ProgressIndicator，ProgressBar + StatusText）
  - 作用：大批量操作时显示处理进度和当前状态。
  - 使用：自动显示/隐藏；支持取消长耗时操作。
- 操作流程（截图占位）：
  1) 切换选择模式→在界面中选择模型→查看选择状态 → [截图占位：通道选择_选择模式.png]
  2) 配置通道属性→点击"设置为通道"→查看设置结果 → [截图占位：通道选择_属性配置.png]
  3) 使用"高亮显示通道"验证→必要时使用筛选器聚焦 → [截图占位：通道选择_结果验证.png]

3.3.3.1.3. 路径点规划

3.3.3.1.3.1. 功能要求

- 依据用户需求"路径点规划"：针对较为复杂的环境，支持路径点功能，在三维视图中，在通道上点击指定起点、路径点、终点的位置及方向；
- 以三维可视化的方式显示路径，路径点之间通过直线连接形成完整路径；
- 支持多条路径的创建、保存、选择和编辑管理；
- 支持路径点的位置和方向调整，包括手动拖拽和精确数值输入；
- 提供路径有效性验证，确保路径点位于可通行的通道表面；
- 支持路径点的类型标识（起点/路径点/终点）和自定义命名；
- 提供路径预览和实时编辑反馈，支持撤销/重做操作。

3.3.3.1.3.2. 实现方案

- 设计思路：采用"创建-编辑-验证-保存"的路径管理流程，结合三维交互和属性面板的双重编辑模式；
- 业务流程：
  1) 新建路径→进入路径编辑模式，激活三维交互工具；
  2) 在三维视图中依次点击通道表面，创建起点、路径点、终点；
  3) 系统实时显示路径连线和点位标识，提供可视化反馈；
  4) 支持选中路径点进行位置调整、方向设置和类型修改；
  5) 提供路径有效性检查，标识问题点位和建议修正方案；
  6) 完成编辑后保存路径，加入路径管理列表；
  7) 支持路径的重新编辑、复制、删除和导出操作；
- 交互设计：结合PathClickToolPlugin的3D交互能力和路径编辑面板的精确控制；
- 数据管理：路径数据采用JSON格式存储，支持版本控制和历史记录；
- 可视化渲染：使用PathPointRenderPlugin在3D视图中实时渲染路径线和标识点。

3.3.3.1.3.3. 输入数据（详细规格）

- 路径基本信息（必需）：
  - 路径名称：string(1-64)，唯一标识；默认格式="路径_{序号}_{时间戳}"；
  - 路径描述：string(≤256)，可选；用于备注和说明；
- 三维交互输入（必需）：
  - 点击事件：RaycastHit，包含世界坐标(x,y,z)、法向量、命中对象；
  - 坐标系：Navisworks世界坐标系；单位=米；精度≤0.001m；
- 路径点属性（必需）：
  - 点类型：enum{Start, Waypoint, End}；每条路径Start和End各唯一；
  - 位置坐标：Point3D{x,y,z:double(m)}；范围±1e6米；
  - 方向朝向：Vector3D{yaw,pitch,roll:double(度)}，可选；范围-180~+180；
  - 点名称：string(≤32)，可选；默认按类型和序号生成；
- 通道验证数据（可选但建议）：
  - 通道模型集合：ModelItem[]，来源于通道选择功能的结果；
  - 可通行性检查：基于IsTraversable属性和几何约束；
- 路径配置参数（可选）：
  - 自动贴合：bool，默认=true；是否自动贴合到通道表面；
  - 贴合容差：double(m)，默认=0.05；范围0.01-0.5；
  - 最小点间距：double(m)，默认=0.5；防止点位过密；

3.3.3.1.3.4. 输出数据（详细规格）

- 路径对象（内存）：
  - 基本信息：routeId:string，routeName:string(≤64)，description:string(≤256)，createdAt:datetime(ISO 8601)，modifiedAt:datetime；
  - 路径点集合：points[]{index:int，name:string(≤32)，type:enum，position:Point3D，orientation:Vector3D(可选)}；
  - 状态标识：status:enum{Draft,Editing,Completed,Validated}，isValid:bool；
- 可视化数据（渲染层）：
  - 路径线段：LineSegment[]，用于3D视图中的路径连线显示；
  - 点位标识：PointMarker[]，包含类型图标、名称标签、选中状态；
  - 渲染属性：lineColor:Color，lineWidth:double，markerSize:double；
- 路径文件（磁盘）：
  - 格式：JSON；编码=UTF-8；扩展名=.json；
  - 内容：完整路径对象序列化，包含版本号和元数据；
  - 命名规范：{项目名}_{路径名}_{yyyyMMdd_HHmm}.json；
- 验证报告（内存）：
  - 有效性检查结果：isValid:bool，issues[]{type:string，point:int，message:string，severity:enum}；
  - 路径统计信息：totalLength:double(m)，pointCount:int，segmentCount:int，estimatedTime:double(s)；

3.3.3.1.3.5. 功能界面（界面元素详解与操作流程）

- 路径管理面板（PathManagementPanel，GroupBox）
  - 作用：显示当前项目的所有路径列表，支持选择、创建、删除操作。
  - 使用：列表显示路径名称、点数、状态、修改时间；单击选中，双击编辑。
- 新建路径（CreateNewPathCommand，Button）
  - 作用：创建新的空路径对象并进入编辑模式。
  - 使用：弹出命名对话框→创建路径→自动激活编辑工具。
  - 流程：创建后立即可在3D视图中点击添加路径点。
- 编辑模式切换（EditModeToggle，ToggleButton）
  - 作用：激活/关闭路径点编辑模式，控制3D交互工具状态。
  - 使用：开启时可在3D视图点击添加路径点；关闭时恢复正常视图操作。
  - 状态：显示当前是否处于编辑状态和活动路径名称。
- 三维交互区域（3D Viewport Integration）
  - 作用：在Navisworks 3D视图中直接点击创建路径点。
  - 使用：编辑模式下，左键点击通道表面创建点位；右键完成当前段；
  - 反馈：实时显示路径连线、点位标识和鼠标悬停提示。
- 路径点列表（PathPointsList，ListView + GridView）
  - 列：序号、名称、类型、坐标(X,Y,Z)、方向、操作（编辑/删除）；
  - 作用：显示当前编辑路径的所有路径点，支持逐个编辑和调整。
  - 使用：单击选中点位（3D视图中高亮）；双击编辑属性；拖拽调整顺序。
- 路径点属性编辑器（PointPropertiesEditor，PropertyGrid）
  - 作用：精确编辑选中路径点的坐标、方向、名称等属性。
  - 使用：选中路径点后自动加载属性；支持数值输入和下拉选择；
  - 验证：输入时实时检查坐标范围和命名冲突。
- 路径有效性检查（PathValidationPanel，StatusPanel）
  - 作用：显示当前路径的有效性状态和问题诊断。
  - 使用：自动检查路径连通性、点位合法性、通道覆盖等；
  - 反馈：显示警告图标、问题描述和建议修正方案。
- 路径可视化控制（VisualizationControls，ToolBar）
  - 显示/隐藏路径线：CheckBox，控制路径连线的显示状态；
  - 显示/隐藏点标识：CheckBox，控制路径点标记的显示状态；
  - 路径颜色设置：ColorPicker，自定义当前路径的显示颜色；
  - 视图聚焦：Button，自动调整视角聚焦当前路径。
- 路径操作工具栏（PathOperationsToolBar，ToolBar）
  - 保存路径：Button，保存当前路径到文件和内存；
  - 另存为：Button，复制当前路径并重命名保存；
  - 导入路径：Button，从文件导入路径数据；
  - 导出路径：Button，导出当前路径为JSON/XML/CSV格式；
  - 删除路径：Button，删除选中路径（需确认）。
- 操作历史管理（UndoRedoManager，ButtonGroup）
  - 撤销：Button，撤销最后一次路径点操作；
  - 重做：Button，重做已撤销的操作；
  - 清空路径：Button，清除当前路径的所有点位；
  - 重新开始：Button，重置路径编辑状态。
- 操作流程（截图占位）：
  1) 点击"新建路径"→输入路径名称→激活编辑模式 → [截图占位：路径点规划_创建路径.png]
  2) 在3D视图中依次点击通道表面创建路径点→查看路径点列表 → [截图占位：路径点规划_点击创建.png]
  3) 选择路径点→在属性编辑器中调整坐标和方向→验证路径有效性 → [截图占位：路径点规划_属性编辑.png]
  4) 使用可视化控制调整显示效果→保存路径到管理列表 → [截图占位：路径点规划_保存管理.png]

3.3.3.2.1. 编辑保存和导入
3.3.3.2.1.1. 功能要求

- 依据用户需求“编辑保存和导入”：
  - 支持对路径点坐标进行编辑（含新增/删除/重命名/顺序维护）；
  - 支持保存当前路径为规划文件，文件格式支持 XML / JSON / CSV；
  - 支持导入路径文件，在当前通道表面重绘路径；
  - 支持记录并查看路径文件操作历史；
- 路径列表清晰展示名称、点数、状态、创建时间，支持多方案管理；
- 导出成果可用于 DELMIA 导入对接（CSV/JSON 字段对齐）。

3.3.3.2.1.2. 实现方案

- 设计思路：路径管理与文件管理分区呈现，保证方案管理与文件交换两条线清晰；
- 业务流程：
  1) 新建/选择路径 → 通过“开始编辑”进入编辑态，在3D视图点击可通行元素添加点位；
  2) 列表管理：支持“重命名”“删除”；显示当前选择；
  3) 文件导入：选择 XML/JSON/CSV 文件，解析字段，按通道贴合重绘路径；
  4) 文件导出：支持“导出全部/导出选中路径”，命名规范与状态提示；
  5) 历史记录：对导入/导出、增删改动作记录摘要（时间、人员、文件名、结果）；
- DELMIA 对接：依据目标字段映射生成 CSV/JSON（路径点序列、坐标、类型、时间标签、物体/安全参数摘要）。

3.3.3.2.1.3. 输入数据（详细规格）

- 路径对象（必需）：
  - routeName:string(1–64，唯一)，status:enum{新建, 编辑, 完成}，createdAt:datetime(ISO 8601)；
- 路径点集合（必需）：
  - 点字段：index:int(从1递增)，name:string(≤64，可选)，type:enum{Start, Waypoint, End}（Start/End各1个），
    x/y/z:double(单位米，精度≤0.001)，orientation:{yaw/pitch/roll:double，可选，单位度}，
    timeTag:double(秒，可选，段耗时或累计时标)；
  - 约束：至少2点（含Start/End）；Start与End各恰1个；坐标范围±1e6米内；
- 导入文件（可选）：
  - XML：UTF-8，无BOM；XSD可选校验；根元素；
  - JSON：application/json，UTF-8；与示例键名一致；
  - CSV：分隔符=逗号，首行表头=index,name,type,x,y,z,timeTag；小数用点；
- meta参数（可选）：object.length/width/height:double(m)；safetyMargin:double(m)；gridSize:double(m)；
- 通道集合（可选但建议）：类型=ModelItem[]；用于导入后点位贴合校正；

3.3.3.2.1.4. 输出数据（详细规格）

- 路径列表（内存）：字段=routeName, pointCount:int, status, createdAt, lastAction；
- 导出文件（磁盘）：
  - 支持格式：XML/JSON/CSV（任选其一或多选）；
  - XML：UTF-8，扩展名=.xml；根元素；带schemaVersion属性（如1.0）；
  - JSON：UTF-8，扩展名=.json；顶层包含routeName/points/meta；
  - CSV：UTF-8，扩展名=.csv；以逗号分隔，RFC4180兼容；
  - 命名规范：{项目}_{路径名}_{yyyyMMdd_HHmm}.{xml|json|csv}；
- 历史记录（磁盘/日志）：字段=timestamp,user,action{import/export/edit},fileName,result,message；编码=UTF-8；

3.3.3.2.1.5. 功能界面（界面元素详解与操作流程）

- 路径列表（ListView + GridView）
  - 列：路径名称、点数、状态、创建时间；支持选中高亮，联动右侧状态。
  - 使用：单击选中路径作为当前编辑/导出对象。
- 手动创建（NewPathCommand，Button）
  - 作用：创建一条空路径方案。
  - 使用：点击后输入名称（如弹窗或内联编辑）；自动成为当前路径。
- 重命名（RenamePathCommand，Button）
  - 作用：修改当前选中路径的名称。
  - 启用条件：已选中路径。
- 删除（DeletePathCommand，Button）
  - 作用：删除当前选中路径。
  - 使用：需确认；删除后不可恢复（建议投标版提示用户备份）。
- 导入（ImportPathCommand，Button）
  - 作用：从XML/JSON/CSV导入路径并自动重绘。
  - 使用：选择文件→解析校验→若包含meta/时间标签按需合并→点位按通道贴合。
- 导出全部（ExportPathCommand，Button）
  - 作用：导出列表中所有路径为结构化文件（可多文件）。
  - 使用：选择导出目录与格式，完成后在状态栏给出统计与路径。
- 导出选中路径（SaveAsPathCommand，Button）
  - 作用：仅导出当前选中的路径。
  - 使用：常用于方案比选或对外共享。
- 状态文本（“当前选择/文件状态”，TextBlock）
  - 作用：提示当前操作对象与最近的导入/导出结果。
- 操作流程与截图占位：
  1) 新建路径→开始编辑→完成后导出。→ [截图占位：路径列表_新建.png]
  2) 从文件导入→检查点位→必要时重命名→导出为标准模板。→ [截图占位：路径文件_导入.png] [截图占位：路径文件_导出.png]

3.3.3.2.2. 路径点自动贴合
3.3.3.2.2.1. 功能要求

- 按用户需求“路径点自动贴合”，在标注和调整中自动吸附至通道表面，且路径点间以直线相连；
- 对不可通行元素点击不生成点位，并给出提示；
- 贴合策略可配置容差，保证业务可行性与观感一致。

3.3.3.2.2.2. 实现方案

- 点击选择时进行可通行性校验，不满足则拒绝创建；
- 吸附策略以“通道优先”为原则，提供必要的误差容差；
- 支持点位微调后再次贴合校正。

3.3.3.2.2.3. 输入数据（详细规格）

- 拾取事件（必需）：类型=RaycastHit；包含点击坐标(world)、法向、命中对象ID；
- 坐标系（必需）：单位=米；坐标系=Navisworks世界坐标；
- 可通行元素集合（可选但建议）：ModelItem[]；来源于“类别设置”的IsTraversable=true筛选；
- 吸附容差（可选）：double，默认=0.05m；范围0.01–0.5m；

3.3.3.2.2.4. 输出数据（详细规格）

- 路径点序列（内存）：点对象数组，字段=index,name,type,x,y,z,orientation(optional)；已按照吸附策略校正；
- 校验消息（内存/提示）：不可通行对象点击时返回错误码=INVALID_SURFACE，消息=“当前对象不可通行”；
- 高亮反馈（视图）：新点创建时在视图中短暂高亮；

3.3.3.2.2.5. 功能界面（界面元素详解与操作流程）

- 路径点列表（ListView）
  - 列：点名称、坐标、类型、操作（删除）。
  - 使用：逐行删除/查看点位；可与3D视图联动高亮（若实现）。
- 3D交互（编辑态）
  - 作用：在“开始编辑”后，点击通行元素创建点位；点击不可通行元素会提示并拒绝创建。
  - 贴合：新点位将贴合到表面，避免“悬空”。
- 辅助状态（Toast/状态栏）
  - 作用：提示贴合成功/异常（非法表面、越界等）。
- 操作流程：
  1) 点击“开始”进入编辑态→在3D视图依次点击通行元素生成点位。
  2) 如需调整，删除对应点位后重新拾取。
  3) 点击“结束”保存；如需重做，点击“清空”。

3.3.3.3. 物流“类别”设置

3.3.3.3.1. 类别设置
3.3.3.3.1.1. 功能要求

- 依据用户需求“类别设置”，在模型属性界面新增“物流属性”类别；
- 对选择树或三维视图选中的模型批量启用/清除物流属性；
- 保障属性的可读性、可筛选性与一致的单位标识。

3.3.3.3.1.2. 实现方案

- 设计思路：属性分组集中呈现“物流属性”，以统一的字段与提示语规范输入；
- 业务流程：
  1) 在“类别设置”页签查看“已选××项”；
  2) 在“物流属性”分组中设置字段（类型、可通行、优先级、限宽/限高、限速）；
  3) 点击“设置属性”应用至选择对象；必要时使用“清除属性/重置默认值”；
- 识别与筛选：通过“刷新列表”获取已设置物流属性的元素，配合显示模式“仅显示物流元素”进行聚焦。

3.3.3.3.1.3. 输入数据（详细规格）

- 选择对象（必需）：ModelItem[]；数量≥1；
- 物流类型（必需）：enum{门, 电梯, 楼梯, 通道, 其他}；
- 可通行（必需）：bool；默认=true；
- 优先级（可选）：int(1–5)；默认=3；
- 限宽/限高（可选）：double(m)；范围≥0；精度0.01；
- 限速（可选）：double(m/s)；范围≥0；默认推荐：通道0.8、电梯0.5、楼梯0.3；

3.3.3.3.1.4. 输出数据（详细规格）

- 属性写入结果（内存）：对象ID→字段字典；
- 持久化（平台属性存储）：COM API 写入自定义属性分类“物流属性”；
- 反馈摘要：successCount:int, failCount:int, failReasons:string[]；
- 留痕（日志）：timestamp,user,objectCount,fieldsChanged,jsonPatch；

3.3.3.3.1.5. 功能界面（界面元素详解与操作流程）

- 选择状态（SelectedModelsText，TextBlock）
  - 显示当前已选对象数量与范围。
- 物流类型（AvailableCategories/SelectedCategory，ComboBox）
  - 为对象赋予业务类别（门/电梯/楼梯/通道等）；支持批量设置。
- 可通行（IsTraversable，CheckBox）
  - 标识元素是否允许物流通行；后续筛选与贴合使用。
- 优先级（PriorityLevels/Priority，ComboBox）
  - 用于路径可行性与优先级策略判断（1–5，5最高）。
- 限宽/限高（WidthLimit/HeightLimit，TextBox）
  - 约束通道几何（米）；≥0；精度0.01。
- 限速（SpeedLimit，TextBox）
  - 约束通过速度（米/秒）；内置建议值。
- 设置属性/清除属性/重置默认值（Button）
  - 应用/清除/恢复推荐值。
- 操作流程与截图占位：
  1) 选中模型→设置字段→点击“设置属性”。→ [截图占位：类别设置_属性设置.png]
  2) 点击“刷新列表”检查 → [截图占位：类别设置_模型列表.png]
  3) 启用“仅显示物流元素”聚焦 → [截图占位：类别设置_显示模式.png]

3.3.3.3.2. 属性设置
3.3.3.3.2.1. 功能要求

- 为与路径相关的元素设置分类与通行约束，驱动筛选与路径可行性判断。

3.3.3.3.2.2. 实现方案

- 物流类型：从“AvailableCategories”选择“SelectedCategory”；
- 可通行：勾选“IsTraversable”；
- 优先级：1–5级（5为最高）；
- 限制：限宽/限高（米）、限速（米/秒，提供通道/电梯/楼梯推荐值）。

3.3.3.3.2.3. 输入数据（详细规格）

- 目标元素（必需）：ModelItem[]；
- 字段：type:enum；traversable:bool；priority:int(1–5)；widthLimit/heightLimit:double(m)；speedLimit:double(m/s)；
- 校验：单位=公制；数值范围≥0；priority为整数；

3.3.3.3.2.4. 输出数据（详细规格）

- 更新后的属性（内存+持久化）：可被筛选与高亮；
- 导出清单（可选）：CSV/JSON列表，字段=objectName,type,traversable,priority,widthLimit,heightLimit,speedLimit；

3.3.3.3.2.5. 功能界面（界面元素详解与操作流程）

- 刷新列表（RefreshLogisticsModelsCommand，Button）：扫描并汇总所有已设置“物流属性”的对象。
- 物流模型列表（GroupBox + ListView）：呈现编号、名称、类别、通行性、限制、可见性等关键信息。
- 显示模式：仅显示物流元素（CheckBox/Filter）：隐藏非物流元素，提升聚焦效率。
- 操作流程：设置属性→刷新列表→启用“仅显示物流元素”核验。

3.3.3.4. 层级创建

3.3.3.4.1. 层级显示
3.3.3.4.1.1. 功能要求

- 自动淡化或隐藏非关键层，突出与物流路径相关层级；
- 输出可提交的层级预览与NWD成果。

3.3.3.4.1.2. 实现方案

- 通过“分层策略/遍历深度/预览”生成列表；
- 在列表上进行“单独显示/显示所有”；
- 勾选后“分层保存”输出。

3.3.3.4.1.3. 输入数据（详细规格）

- 分层策略（必需）：enum；
- 遍历深度（必需）：enum；
- 自定义项（条件必需）：string；当策略=自定义时必填；
- 物流属性集合（可选）：用于先行聚焦；

3.3.3.4.1.4. 输出数据（详细规格）

- 分层预览列表（内存）：字段同3.3.3.1.1.4；
- 导出成果（磁盘）：NWD 文件；命名与限制同3.3.3.1.1.4；

3.3.3.4.1.5. 功能界面（界面元素详解与操作流程）

- 预览列表列头（GridView）：序号/分层名称/分层属性/是否保存。
- 单独显示/显示所有（Button）：在三维视图中验证分层效果与覆盖面。
- 分层保存（Button）：导出勾选条目为NWD；失败时在状态区提示。
- 导出选项：嵌入纹理/阻止对象特性（风险提示）。

3.3.3.4.2. 物流元素筛选
3.3.3.4.2.1. 功能要求

- 按物流属性快速定位与聚焦与路径相关的元素。

3.3.3.4.2.2. 实现方案

- 在“类别设置”中赋值后，回到“分层管理”进行“单独显示/显示所有”。

3.3.3.4.2.3. 输入数据（详细规格）

- 过滤条件：type:enum；traversable:bool；limits:{width:double(m), height:double(m), speed:double(m/s)}；priority:int(1–5)；
- 逻辑：AND/OR（可选，默认AND）；

3.3.3.4.2.4. 输出数据（详细规格）

- 视图聚焦：仅显示命中元素或高亮显示；
- 清单（内存/导出可选）：CSV/JSON，字段=objectId, name, type, matches[]；

3.3.3.4.2.5. 功能界面（界面元素详解与操作流程）

- 条件输入（类别设置处）：类型/通行性/限制/优先级。
- 聚焦控制：单独显示/显示所有，隔离或恢复命中对象。
- 流程：设置属性→回分层管理→单独显示→截图/导出清单（如需）。

3.3.3.4.3. 路径时间标签
3.3.3.4.3.1. 功能要求

- 为路径设置时间标签，用于运输时间预估与节拍沟通。

3.3.3.4.3.2. 实现方案

- 自动估算：根据路径分段长度与限速（若无，采用推荐值）估算总时长（示意：Σ(段长/段速)）；
- 人工校正：允许用户覆盖自动结果并填写备注原因（如坡道、拥堵、特殊工况）；
- 结果写入：时间标签纳入路径对象与导出文件，便于下游系统使用。

3.3.3.4.3.3. 输入数据（详细规格）

- 路径几何（必需）：points[]（含坐标与类型）；
- 限速（可选）：按段或全局 double(m/s)；
- 校正值（可选）：double(秒)；备注：string(≤256)；

3.3.3.4.3.4. 输出数据（详细规格）

- 时间标签（内存+导出）：totalTime:double(s), segments[]: {index, length(m), speed(m/s), time(s)}；
- 估算与校正记录（日志或文件meta）：estimate:double(s), adjusted:double(s), note:string；

3.3.3.4.3.5. 功能界面（界面元素详解与操作流程）

- 时间标签显示（Text/Badge）：显示总时长与关键段时长。
- 校正输入（TextBox/备注）：录入人工校正与说明。
- 流程：自动估算→人工校正（可选）→导出写入结果。

3.3.3.5. 交互式导航

3.3.3.5.1. 交互式导航控件
3.3.3.5.1.1. 功能要求

- 在三维视图中交互选择起点/终点并生成可视路径。

3.3.3.5.1.2. 实现方案

- 起终点选择：在“自动路径规划”区点击“选择起点/选择终点”，在3D视图点选，回显到只读文本框；
- 自动路径：综合物体尺寸（长/宽/高）与安全间隙，结合网格精度进行路径求解；
- 高级设置：可启用“手动设置网格大小”，滑块范围0.1–5.0米；
- 引导：配合“3D交互操作指南”完成选择/参数/提交全流程。

3.3.3.5.1.3. 输入数据（详细规格）

- 起点/终点（必需）：RaycastHit/坐标{ x,y,z:double(m) }；
- 物体参数（可选）：length/width/height:double(m)；范围>0；
- 安全间隙（可选）：double(m)，默认0.2–0.5；
- 网格精度（可选）：double(m)，0.1–5.0；启用“手动设置网格大小”时必填；

3.3.3.5.1.4. 输出数据（详细规格）

- 可视路径（视图+内存）：线段序列渲染；
- 状态提示：AutoPathStatus:string；包含校验/失败原因；
- 引导信息：步骤化提示文本；

3.3.3.5.1.5. 功能界面（界面元素详解与操作流程）

- 选择起点/终点（Button + 只读TextBox）：触发3D拾取并回显坐标/对象信息。
- 自动规划路径（Button）：按参数求解路径；失败给出原因（如无连通通道）。
- 重置参数（Button）：清空起终点与物体/网格参数。
- 高级设置（Expander + Slider/Text）：控制网格精度，显示建议区间。
- 3D交互操作指南（说明文本）：提供从选择到提交的分步提示。
- 截图占位：
  - [截图占位：路径编辑_自动规划参数.png]
  - [截图占位：路径编辑_3D交互指南.png]

3.3.3.5.2. 结果输出
3.3.3.5.2.1. 功能要求

- 输出图片/视频等成果材料，用于评审与投标。

3.3.3.5.2.2. 实现方案

- 图片导出：遵循统一截图规范（俯视图/关键节点标注/图例）；
- 视频导出：使用“检测动画”的播放控制生成演示素材，格式建议 MP4/H.264；
- 命名模板：{项目}_{路径名}_{视角/分辨率}_{日期}.png/.mp4。

3.3.3.5.2.3. 输入数据（详细规格）

- 当前路径（必需）：已选择且完整的路径对象；
- 动画片段（可选）：生成的视频时间线；
- 导出模板（可选）：分辨率、画幅、覆盖文字（标题/版本/时间标签）；
- 命名规范（可选）：string 模板；

3.3.3.5.2.4. 输出数据（详细规格）

- 图片：PNG/SVG（优先PNG，无损；SVG作图形说明可选）；分辨率按模板；
- 视频：MP4(H.264)，帧率与时长按动画参数；
- 覆盖标注：路径名称、时间标签、版本、日期（可选）；

3.3.3.5.2.5. 功能界面（界面元素详解与操作流程）

- 分辨率/视角模板：统一输出规格，保障投标材料一致性（若提供）。
- 图片/视频导出（Button）：生成PNG/SVG或MP4；完成后提示保存路径与文件名。
- 覆盖标注（可选开关）：在图片/视频上叠加标题、版本、时间标签。
- 截图占位：
  - [截图占位：结果输出_图片示意.png]
  - [截图占位：结果输出_视频示意.png]

3.3.3.5.3. 输出格式
3.3.3.5.3.1. 功能要求

- 结构化输出便于外部系统（如 DELMIA）导入与复用。

3.3.3.5.3.2. 实现方案

- 路径文件：XML/JSON（可选CSV），对齐 DELMIA 导入口径；
- 字段规范：
  - 基本：routeName(text)、createdAt(datetime)、version(text)；
  - points[]：index(int)、name(text)、type(enum)、x/y/z(double, m)、orientation(y/p/r, 可选)、timeTag(double, s, 可选)；
  - meta：object.length/width/height(double, m)、safetyMargin(double, m)、gridSize(double, m)、categorySummary(text)；
- 模板与字典：统一键名与单位说明，附样例文件以便对接。

3.3.3.5.3.3. 输入数据（详细规格）

- 选中路径（必需）：路径对象；
- 模板（可选）：导出profile（XML/JSON/CSV）与字段字典（键名、单位说明）；
- 版本（可选）：schemaVersion:string；

3.3.3.5.3.4. 输出数据（详细规格）

- 结构化文件：XML/JSON（可选CSV）；编码=UTF-8；含schemaVersion；
- 版本记录：版本号、导出时间、导出人；

3.3.3.5.3.5. 功能界面（界面元素详解与操作流程）

- 导出格式选择（Radio/CheckBox）：XML/JSON/CSV。
- schemaVersion（Text/下拉）：标识字段版本，方便下游兼容。
- 导出（Button）：执行导出并校验文件名与路径合法性，提示结果。

3.3.3.6. 碰撞检测

3.3.3.6.1. 动画生成和播放
3.3.3.6.1.1. 功能要求

- 基于选定路径与组件生成动画并控制播放；
- 支持设置动画时长、播放/暂停/停止与步进（按需求文档描述）。

3.3.3.6.1.2. 实现方案

- 参数设置：帧率(fps 下拉)、持续时间(秒)；
- 对象选择：移动物体（选择/清除）与移动路径（显示当前路径与点数）；
- 生成流程：点击“生成动画”，展示生成状态；
- 播放控制：开始/暂停/停止，显示播放进度(%)与当前时间(s)；
- 联动：可与 Navisworks Timeliner 协同演示（如项目需要）。

3.3.3.6.1.3. 输入数据（详细规格）

- 当前路径（必需）：路径对象，点数≥2；
- 移动对象（必需）：ModelItem；
- 帧率（必需）：int，范围1–60fps；
- 时长（必需）：double(秒)，>0；

3.3.3.6.1.4. 输出数据（详细规格）

- 动画时间线（内存）：关键帧序列；
- 播放状态（内存）：isPlaying:bool, progress:0–100%, currentTime:s；
- 生成状态（提示/日志）：ok/failed 与原因；

3.3.3.6.1.5. 功能界面（界面元素详解与操作流程）

- 帧率/持续时间（ComboBox/TextBox）：控制动画平滑度与总时长。
- 选择物体/清除（Button）：指定或取消移动对象。
- 生成动画（Button）：生成时间线；失败显示原因（对象/路径缺失等）。
- 播放控制（开始/暂停/停止 Button）+ 进度条 + 当前时间：控制播放状态并给出可视反馈。
- 截图占位：
  - [截图占位：检测动画_参数设置.png]
  - [截图占位：检测动画_播放控制.png]

3.3.3.6.2. 碰撞检查
3.3.3.6.2.1. 功能要求

- 在动画执行或路径验证过程中识别碰撞并记录；
- 碰撞发生时需高亮相关对象并记录，可导出记录（按需求文档）。

3.3.3.6.2.2. 实现方案

- 参数设定：检测精度(米)、运动速度(米/秒)、检测间隙(米)；
- 检测频率：基于速度与检测间隙计算出推荐频率并显示（提示性指标，用于预估计算负载）；
- 结果呈现：碰撞状态、结果摘要，并提供“查看碰撞报告”入口；
- 联动：按需与 Clash Detective 联动获取/呈现碰撞信息；
- 提示：动画播放过程中自动进行检测，完成后汇总显示。

3.3.3.6.2.3. 输入数据（详细规格）

- 源（必需）：动画时间线或路径对象；
- 检测精度（必需）：double(m)，范围0.01–1.0；
- 运动速度（必需）：double(m/s)，范围0.1–5.0；
- 检测间隙（可选）：double(m)，范围0–1.0；

3.3.3.6.2.4. 输出数据（详细规格）

- 碰撞记录（内存）：字段=time(s), objectA, objectB, position(x,y,z), status(enum:新/活跃/审阅/批准/已解决), description；
- 报告导出（磁盘 可选）：HTML/CSV/JSON；命名={项目}_{路径名}_clash_{yyyyMMdd_HHmm}.{html|csv|json}；
- 视图高亮：发生时即时高亮并可定位；

3.3.3.6.2.5. 功能界面（界面元素详解与操作流程）

- 检测精度/速度/间隙（Slider/Text）：影响检测频率与精度；联动显示“计算得出的检测频率”。
- 查看碰撞报告（Button）：打开报告，查看摘要与明细；支持导出。
- 碰撞状态/摘要（TextBlock）：提示是否发生碰撞以及数量/类型概要。
- 截图占位：
  - [截图占位：碰撞结果_摘要.png]
  - [截图占位：碰撞报告_详细列表.png]

3.3.3.6.3. 路径规划分析
3.3.3.6.3.1. 功能要求

- 跨方案对比碰撞与效率，提出优化建议；
- 生成路径分析报告，辅助选择最佳路径（按需求文档）。

3.3.3.6.3.2. 实现方案

- 对比维度：碰撞次数、受影响对象、路径长度、估算时间、关键瓶颈位置等；
- 输出：图文化对比（条形图/表格）与结论建议；
- 建议：结合“安全优先/效率优先”的业务目标提出可执行的调整策略（绕行、扩大间隙、调整时间窗等）。

3.3.3.6.3.3. 输入数据（详细规格）

- 路径集合（必需）：≥2条；
- 碰撞结果（必需）：各路径对应的碰撞摘要与明细；
- 评价指标（可选）：权重设置（安全/效率占比）；

3.3.3.6.3.4. 输出数据（详细规格）

- 对比报告：HTML/Docx/PDF（三选一或多选）；包含对比表格与图表；
- 建议清单：CSV/JSON（可选）；字段=issue, suggestion, priority；
- 推荐结果：bestRouteName:string，reason:string；

3.3.3.6.3.5. 功能界面（界面元素详解与操作流程）

- 指标表与图表（表格/图形控件，若提供）：展示关键指标对比（碰撞数、时长、长度等）。
- 导出报告（Button）：导出HTML/Docx/PDF；适合投标归档与评审共享。
- 建议摘要（Text/列表）：以业务语言列出调整建议与优先级。
