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参数(可选):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(任选其一或多选); - 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:vehicle.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/列表):以业务语言列出调整建议与优先级。