NavisworksTransport/doc/design/architecture/功能方案_详版.md

44 KiB
Raw Blame History

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:intlayerName: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. 功能界面(界面元素详解与操作流程)

  • 分层策略SplitStrategiesComboBox
    • 作用:选择分层口径(楼层/区域/子系统/自定义)。
    • 使用:下拉选择目标策略;选择“自定义”后需在“自定义分层二级选项”处指定具体值。
    • 流程:选择策略 →(若为自定义)填写二级选项 → 选择遍历深度 → 点击预览。
  • 自定义分层二级选项CustomLayerOptionsComboBox
    • 作用:当策略=自定义时精细化指定维度如F1/北区/强电)。
    • 使用:策略为“自定义”时启用;否则隐藏或禁用。
    • 约束长度≤64禁止字符 / \ : * ? " < > |。
  • 遍历深度DepthOptionsComboBox
    • 作用限制分层遍历到选择树的最大层级1级/2级/.../全部)。
    • 使用:根据模型规模与关注粒度选择;“全部”最全面但耗时较长。
  • 预览PreviewSplitCommandButton
    • 作用:执行遍历并生成“分层预览列表”。
    • 使用:点击后在列表中查看分层记录,配合“单独显示/显示所有”审查。
  • 预览列表ListView + GridView
    • 列:序号(自动)、分层名称、分层属性、是否保存(复选)。
    • 使用:勾选“是否保存”表示该分层将被导出;支持单选/多选。
  • 单独显示IsolateSelectedLayerCommandButton
    • 作用:隐藏其他分层,仅显示选中行内容。
    • 使用:选中列表某行后可用;用于快速验证分层效果。
  • 显示所有ShowAllLayersCommandButton
    • 作用:恢复显示全部分层内容。
    • 使用:用于“单独显示”后的还原。
  • 分层保存ExecuteSplitCommandButton
    • 作用将“是否保存”为true的分层项导出为NWD文件。
    • 使用:导出前可在“导出选项”勾选“嵌入纹理/阻止对象特性”;导出后在状态区查看结果与路径。
  • 导出选项EmbedXrefs / PreventObjectPropertyExportCheckBox
    • 作用:控制导出内容与文件大小/稳定性之间的平衡。
    • 使用:大模型慎用“嵌入纹理”;如仅需几何可开启“阻止对象特性”。
  • 进度与取消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:stringobjectName:string(≤128)isChannel:boolchannelType:string(≤64)properties:object
    • 用途:界面显示和后续路径规划使用;
  • 设置结果(内存):
    • 字段successCount:intfailCount:inttotalCount:intfailReasons:string[]
    • 用途:操作结果反馈和错误处理;
  • 持久化属性(平台存储):
    • 位置Navisworks模型属性系统自定义分类"物流属性"
    • 字段LogisticsCategory="通道"IsTraversable=truePriority=3WidthLimitHeightLimitSpeedLimit
    • 编码UTF-8可被后续模块读取和筛选
  • 操作日志(磁盘):
    • 字段timestampuseraction="setChannel"objectIds:string[]properties:jsonresult:string
    • 格式JSON行格式编码=UTF-8

3.3.3.1.2.5. 功能界面(界面元素详解与操作流程)

  • 选择状态显示SelectedModelsTextTextBlock
    • 作用:实时显示当前选中的模型数量和简要信息。
    • 使用:自动更新,格式如"已选择 15 个模型项通道_01, 走廊_A02..."。
  • 选择模式切换SelectionModeOptionsRadioButton组
    • 作用:选择"选择树模式"或"三维视图模式"或"组合模式"。
    • 使用:影响后续点选行为和快捷键响应。
  • 设置为通道SetAsChannelCommandButton
    • 作用:将选中模型批量设置为通道类型并应用默认属性。
    • 使用:需要先选择模型;设置后在状态栏显示成功/失败数量。
    • 启用条件HasSelectedItems && IsNotProcessing。
  • 通道属性配置面板ChannelPropertiesGroupGroupBox
    • 作用:设置通道的默认物流属性(限宽、限高、限速、优先级)。
    • 使用:在"设置为通道"前配置;影响批量设置的默认值。
  • 高亮显示通道HighlightChannelsCommandButton
    • 作用:在三维视图中高亮显示所有已设置为通道的模型。
    • 使用:用于验证通道设置结果;可与"仅显示通道"配合使用。
  • 清除通道设置ClearChannelCommandButton
    • 作用:清除选中模型的通道属性,恢复为普通模型。
    • 使用:支持批量撤销;需要确认操作。
  • 通道筛选器ChannelFilterOptionsComboBox + CheckBox
    • 作用:按通道类型、限制属性等条件筛选显示。
    • 使用:支持"显示所有"、"仅显示通道"、"按限宽筛选"等选项。
  • 进度指示器ProgressIndicatorProgressBar + 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:stringrouteName:string(≤64)description:string(≤256)createdAt:datetime(ISO 8601)modifiedAt:datetime
    • 路径点集合points[]{index:intname:string(≤32)type:enumposition:Point3Dorientation:Vector3D(可选)}
    • 状态标识status:enum{Draft,Editing,Completed,Validated}isValid:bool
  • 可视化数据(渲染层):
    • 路径线段LineSegment[]用于3D视图中的路径连线显示
    • 点位标识PointMarker[],包含类型图标、名称标签、选中状态;
    • 渲染属性lineColor:ColorlineWidth:doublemarkerSize:double
  • 路径文件(磁盘):
    • 格式JSON编码=UTF-8扩展名=.json
    • 内容:完整路径对象序列化,包含版本号和元数据;
    • 命名规范:{项目名}{路径名}{yyyyMMdd_HHmm}.json
  • 验证报告(内存):
    • 有效性检查结果isValid:boolissues[]{type:stringpoint:intmessage:stringseverity:enum}
    • 路径统计信息totalLength:double(m)pointCount:intsegmentCount:intestimatedTime:double(s)

3.3.3.1.3.5. 功能界面(界面元素详解与操作流程)

  • 路径管理面板PathManagementPanelGroupBox
    • 作用:显示当前项目的所有路径列表,支持选择、创建、删除操作。
    • 使用:列表显示路径名称、点数、状态、修改时间;单击选中,双击编辑。
  • 新建路径CreateNewPathCommandButton
    • 作用:创建新的空路径对象并进入编辑模式。
    • 使用:弹出命名对话框→创建路径→自动激活编辑工具。
    • 流程创建后立即可在3D视图中点击添加路径点。
  • 编辑模式切换EditModeToggleToggleButton
    • 作用:激活/关闭路径点编辑模式控制3D交互工具状态。
    • 使用开启时可在3D视图点击添加路径点关闭时恢复正常视图操作。
    • 状态:显示当前是否处于编辑状态和活动路径名称。
  • 三维交互区域3D Viewport Integration
    • 作用在Navisworks 3D视图中直接点击创建路径点。
    • 使用:编辑模式下,左键点击通道表面创建点位;右键完成当前段;
    • 反馈:实时显示路径连线、点位标识和鼠标悬停提示。
  • 路径点列表PathPointsListListView + GridView
    • 列:序号、名称、类型、坐标(X,Y,Z)、方向、操作(编辑/删除);
    • 作用:显示当前编辑路径的所有路径点,支持逐个编辑和调整。
    • 使用单击选中点位3D视图中高亮双击编辑属性拖拽调整顺序。
  • 路径点属性编辑器PointPropertiesEditorPropertyGrid
    • 作用:精确编辑选中路径点的坐标、方向、名称等属性。
    • 使用:选中路径点后自动加载属性;支持数值输入和下拉选择;
    • 验证:输入时实时检查坐标范围和命名冲突。
  • 路径有效性检查PathValidationPanelStatusPanel
    • 作用:显示当前路径的有效性状态和问题诊断。
    • 使用:自动检查路径连通性、点位合法性、通道覆盖等;
    • 反馈:显示警告图标、问题描述和建议修正方案。
  • 路径可视化控制VisualizationControlsToolBar
    • 显示/隐藏路径线CheckBox控制路径连线的显示状态
    • 显示/隐藏点标识CheckBox控制路径点标记的显示状态
    • 路径颜色设置ColorPicker自定义当前路径的显示颜色
    • 视图聚焦Button自动调整视角聚焦当前路径。
  • 路径操作工具栏PathOperationsToolBarToolBar
    • 保存路径Button保存当前路径到文件和内存
    • 另存为Button复制当前路径并重命名保存
    • 导入路径Button从文件导入路径数据
    • 导出路径Button导出当前路径为JSON/XML/CSV格式
    • 删除路径Button删除选中路径需确认
  • 操作历史管理UndoRedoManagerButtonGroup
    • 撤销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(164唯一)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/EndStart与End各恰1个坐标范围±1e6米内
  • 导入文件(可选):
    • XMLUTF-8无BOMXSD可选校验根元素
    • JSONapplication/jsonUTF-8与示例键名一致
    • CSV分隔符=逗号,首行表头=index,name,type,x,y,z,timeTag小数用点
  • meta参数可选vehicle.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任选其一或多选
    • XMLUTF-8扩展名=.xml根元素带schemaVersion属性如1.0
    • JSONUTF-8扩展名=.json顶层包含routeName/points/meta
    • CSVUTF-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
    • 列:路径名称、点数、状态、创建时间;支持选中高亮,联动右侧状态。
    • 使用:单击选中路径作为当前编辑/导出对象。
  • 手动创建NewPathCommandButton
    • 作用:创建一条空路径方案。
    • 使用:点击后输入名称(如弹窗或内联编辑);自动成为当前路径。
  • 重命名RenamePathCommandButton
    • 作用:修改当前选中路径的名称。
    • 启用条件:已选中路径。
  • 删除DeletePathCommandButton
    • 作用:删除当前选中路径。
    • 使用:需确认;删除后不可恢复(建议投标版提示用户备份)。
  • 导入ImportPathCommandButton
    • 作用从XML/JSON/CSV导入路径并自动重绘。
    • 使用选择文件→解析校验→若包含meta/时间标签按需合并→点位按通道贴合。
  • 导出全部ExportPathCommandButton
    • 作用:导出列表中所有路径为结构化文件(可多文件)。
    • 使用:选择导出目录与格式,完成后在状态栏给出统计与路径。
  • 导出选中路径SaveAsPathCommandButton
    • 作用:仅导出当前选中的路径。
    • 使用:常用于方案比选或对外共享。
  • 状态文本(“当前选择/文件状态”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.010.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(15);默认=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. 功能界面(界面元素详解与操作流程)

  • 选择状态SelectedModelsTextTextBlock
    • 显示当前已选对象数量与范围。
  • 物流类型AvailableCategories/SelectedCategoryComboBox
    • 为对象赋予业务类别(门/电梯/楼梯/通道等);支持批量设置。
  • 可通行IsTraversableCheckBox
    • 标识元素是否允许物流通行;后续筛选与贴合使用。
  • 优先级PriorityLevels/PriorityComboBox
    • 用于路径可行性与优先级策略判断155最高
  • 限宽/限高WidthLimit/HeightLimitTextBox
    • 约束通道几何≥0精度0.01。
  • 限速SpeedLimitTextBox
    • 约束通过速度(米/秒);内置建议值。
  • 设置属性/清除属性/重置默认值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”
  • 优先级15级5为最高
  • 限制:限宽/限高(米)、限速(米/秒,提供通道/电梯/楼梯推荐值)。

3.3.3.3.2.3. 输入数据(详细规格)

  • 目标元素必需ModelItem[]
  • 字段type:enumtraversable:boolpriority:int(15)widthLimit/heightLimit:double(m)speedLimit:double(m/s)
  • 校验:单位=公制数值范围≥0priority为整数

3.3.3.3.2.4. 输出数据(详细规格)

  • 更新后的属性(内存+持久化):可被筛选与高亮;
  • 导出清单可选CSV/JSON列表字段=objectName,type,traversable,priority,widthLimit,heightLimit,speedLimit

3.3.3.3.2.5. 功能界面(界面元素详解与操作流程)

  • 刷新列表RefreshLogisticsModelsCommandButton扫描并汇总所有已设置“物流属性”的对象。
  • 物流模型列表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:enumtraversable:boollimits:{width:double(m), height:double(m), speed:double(m/s)}priority:int(15)
  • 逻辑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)}
  • 估算与校正记录日志或文件metaestimate: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.15.0米;
  • 引导配合“3D交互操作指南”完成选择/参数/提交全流程。

3.3.3.5.1.3. 输入数据(详细规格)

  • 起点/终点必需RaycastHit/坐标{ x,y,z:double(m) }
  • 车辆参数可选length/width/height:double(m);范围>0
  • 安全间隙可选double(m)默认0.20.5
  • 网格精度可选double(m)0.15.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, 可选)
    • metavehicle.length/width/height(double, m)、safetyMargin(double, m)、gridSize(double, m)、categorySummary(text)
  • 模板与字典:统一键名与单位说明,附样例文件以便对接。

3.3.3.5.3.3. 输入数据(详细规格)

  • 选中路径(必需):路径对象;
  • 模板可选导出profileXML/JSON/CSV与字段字典键名、单位说明
  • 版本可选schemaVersion:string

3.3.3.5.3.4. 输出数据(详细规格)

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

3.3.3.5.3.5. 功能界面(界面元素详解与操作流程)

  • 导出格式选择Radio/CheckBoxXML/JSON/CSV。
  • schemaVersionText/下拉):标识字段版本,方便下游兼容。
  • 导出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范围160fps
  • 时长必需double(秒)>0

3.3.3.6.1.4. 输出数据(详细规格)

  • 动画时间线(内存):关键帧序列;
  • 播放状态内存isPlaying:bool, progress:0100%, 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.011.0
  • 运动速度必需double(m/s)范围0.15.0
  • 检测间隙可选double(m)范围01.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:stringreason:string

3.3.3.6.3.5. 功能界面(界面元素详解与操作流程)

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