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

802 lines
44 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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/列表):以业务语言列出调整建议与优先级。