# 项目开发思路 ## **1\. 使用场景** 1. 在Navisworks中打开物流相关的楼层nwd文件(前提:将建筑按单独的楼层保存) 2. 在物流控件中新建任务,任务包含一个物流场景的所有信息,支持保存和打开 2. 选择物流运动模型(在物流模型文件列表中选择,可以是物体、人员等,也可以选择自定义模型,指定长宽高),设置速度限制、安全距离等信息。 3. 可以对运动模型经过的物流组件,指定物流类型(门、通道、电梯等),可以设置限高、限宽、限速等参数。 4. 用物流导航控件,指定物流起点和终点,点自动吸附在通道表面,用颜色球表示。(移动过程可以使用Navisworks的漫游/飞行工具) 5. 在物流导航控件中选择【生成路径】,自动生成从起点到终点的物流路径,包含一系列路径点和之间的连线,用颜色球和圆柱线表示。用标签显示路径的名称、长度、路径点数量等。 6. 在物流导航控件中选择【仿真动画】,设置动画时长、速度、检测距离间隔、碰撞检测间隙后,点击运行,物流运动模型开始从起点沿着指定路径运动,如果发生碰撞,高亮显示物流模型和冲突模型,用标签显示速度、位置、碰撞数量等。 7. 仿真动画结束,提交结果页面,显示各初始参数和统计信息。可以导出路径文件、导航地图和碰撞报告。 8. 对生成的路径,可以进行手工编辑,修改各点位置和限制参数。 9. 可以对修改后的路径,重新运行仿真动画。 ## **2\. 设计思路** ### **2.1\. UI** 1. 用浮动控件做物流导航控件 2. 用停靠窗口做物流控件 ### **2.2\. 自动路径生成** 1. 用Field D*算法进行路径规划 ### **2.3\. 仿真动画** 1. 用变换实现物流物体的移动,同时进行碰撞检测 2. 动画按固定帧率(如30帧)进行,碰撞检测按检测距离间隔进行 3. 【可选】碰撞检测结果同步到ClashDetective ### **2.4\. 导航地图** 1. 导航地图可以用俯视图加路径生成图片 2. 导航视频可以用视点动画生成 ### **2.5\. 分层保存** 1. 可以按楼层搜索,保存选择项 2. 按物流属性搜索,保存选择项 3. 保存当前选择项 ### **2.5\. 物流属性** 1. 子节点继承父节点的物流属性,不直接设置 ## 编译命令 ``` & "C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe" TransportPlugin.csproj /p:Configuration=Debug /p:Platform=AnyCPU /verbosity:minimal ```