NavisworksTransport/doc/design/2026/Idea.md

2.6 KiB
Raw Blame History

项目开发思路

1. 使用场景

  1. 在Navisworks中打开物流相关的楼层nwd文件前提将建筑按单独的楼层保存
  2. 在物流控件中新建任务,任务包含一个物流场景的所有信息,支持保存和打开
  3. 选择物流运动模型(在物流模型文件列表中选择,可以是车辆、人员等,也可以选择自定义模型,指定长宽高),设置速度限制、安全距离等信息。
  4. 可以对运动模型经过的物流组件,指定物流类型(门、通道、电梯等),可以设置限高、限宽、限速等参数。
  5. 用物流导航控件指定物流起点和终点点自动吸附在通道表面用颜色球表示。移动过程可以使用Navisworks的漫游/飞行工具)
  6. 在物流导航控件中选择【生成路径】,自动生成从起点到终点的物流路径,包含一系列路径点和之间的连线,用颜色球和圆柱线表示。用标签显示路径的名称、长度、路径点数量等。
  7. 在物流导航控件中选择【仿真动画】,设置动画时长、速度、检测距离间隔、碰撞检测间隙后,点击运行,物流运动模型开始从起点沿着指定路径运动,如果发生碰撞,高亮显示物流模型和冲突模型,用标签显示速度、位置、碰撞数量等。
  8. 仿真动画结束,提交结果页面,显示各初始参数和统计信息。可以导出路径文件、导航地图和碰撞报告。
  9. 对生成的路径,可以进行手工编辑,修改各点位置和限制参数。
  10. 可以对修改后的路径,重新运行仿真动画。

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" NavisworksTransportPlugin.csproj /p:Configuration=Debug /p:Platform=AnyCPU /verbosity:minimal