44 lines
2.6 KiB
Markdown
44 lines
2.6 KiB
Markdown
# 项目开发思路
|
||
|
||
## **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" NavisworksTransportPlugin.csproj /p:Configuration=Debug /p:Platform=AnyCPU /verbosity:minimal
|
||
``` |