106 lines
3.2 KiB
Markdown
106 lines
3.2 KiB
Markdown
# NavisworksTransport 插件项目概述
|
||
|
||
## 项目简介
|
||
|
||
NavisworksTransport 是一个用于 Autodesk Navisworks Manage 2026 的插件,专为物流路径规划和动画仿真而设计。它能够帮助用户在复杂的建筑模型中定义物流通道、规划运输路径,并生成动画来模拟设备移动过程,同时进行动态碰撞检测。
|
||
|
||
## 技术架构
|
||
|
||
- **编程语言**: C# 7.3
|
||
- **开发环境**: .NET Framework 4.8
|
||
- **主要依赖**:
|
||
- Autodesk Navisworks API (2026版本)
|
||
- Roy-T.AStar (路径规划算法)
|
||
- System.Data.SQLite (数据存储)
|
||
- Tomlyn (TOML配置文件解析)
|
||
- geometry4Sharp (3D几何计算)
|
||
|
||
## 核心功能模块
|
||
|
||
### 1. 物流属性管理
|
||
|
||
- 为模型元素分配物流类别属性(如门、电梯、楼梯、通道、障碍物)
|
||
- 批量处理多个选中项目
|
||
- COM API 集成确保属性正确添加
|
||
|
||
### 2. 路径规划
|
||
|
||
- 手动路径点编辑
|
||
- 自动路径规划 (A*算法)
|
||
- 2.5D网格地图生成
|
||
- 路径优化和分析
|
||
|
||
### 3. 动画与仿真
|
||
|
||
- 基于路径的动画生成
|
||
- TimeLiner 集成
|
||
- 动态碰撞检测 (Clash Detective集成)
|
||
|
||
### 4. 可视化
|
||
|
||
- 3D路径点和路线渲染
|
||
- 网格地图可视化
|
||
- 碰撞结果高亮显示
|
||
|
||
### 5. 数据管理
|
||
|
||
- SQLite数据库存储路径数据
|
||
- TOML配置文件管理系统设置
|
||
|
||
## 项目结构
|
||
|
||
```graph
|
||
NavisworksTransport/
|
||
├── src/
|
||
│ ├── Commands/ # 命令模式实现
|
||
│ ├── Core/ # 核心业务逻辑
|
||
│ │ ├── Animation/ # 动画管理
|
||
│ │ ├── Collision/ # 碰撞检测
|
||
│ │ ├── Config/ # 配置管理
|
||
│ │ ├── Properties/ # 属性管理
|
||
│ │ ├── Spatial/ # 空间索引
|
||
│ │ └── UIUpdate/ # UI更新管理
|
||
│ ├── PathPlanning/ # 路径规划算法
|
||
│ ├── UI/ ├── WPF/ # WPF用户界面
|
||
│ └── Utils/ # 工具类
|
||
├── doc/ # 文档
|
||
├── packages/ # NuGet包
|
||
└── tests/ # 单元测试
|
||
```
|
||
|
||
## 构建与运行
|
||
|
||
1. **环境要求**:
|
||
- Windows 7 或更高版本
|
||
- Navisworks Manage 2026
|
||
- .NET Framework 4.8
|
||
|
||
2. **构建步骤**:
|
||
- 使用 Visual Studio 打开 `NavisworksTransport.sln`
|
||
- 还原 NuGet 包
|
||
- 编译解决方案
|
||
|
||
3. **部署**:
|
||
- 编译生成 `NavisworksTransportPlugin.dll`
|
||
- 插件会自动安装到Navisworks插件目录:
|
||
`[Navisworks安装路径]\Plugins\NavisworksTransportPlugin\`
|
||
- 重启Navisworks即可使用
|
||
|
||
## 开发约定
|
||
|
||
- 使用MVVM模式进行UI开发
|
||
- 通过Command模式封装业务逻辑
|
||
- 利用PathPlanningManager作为核心业务逻辑协调器
|
||
- 配置文件使用TOML格式
|
||
- 日志记录使用内置的LogManager
|
||
- 异常处理通过GlobalExceptionHandler统一管理
|
||
|
||
## 核心组件说明
|
||
|
||
- **MainPlugin**: 插件入口点,负责初始化和生命周期管理
|
||
- **PathPlanningManager**: 路径规划核心业务逻辑管理器
|
||
- **CategoryAttributeManager**: 物流属性管理
|
||
- **PathPointRenderPlugin**: 3D路径可视化渲染
|
||
- **ConfigManager**: 系统配置管理
|
||
- **UIStateManager**: UI状态和线程安全更新管理
|