NavisworksTransport/IFLOW.md
2025-10-17 14:29:48 +08:00

106 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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状态和线程安全更新管理