增加iFlow的文档

This commit is contained in:
tian 2025-10-17 14:29:48 +08:00
parent 5791e57192
commit fb13b81259
2 changed files with 105 additions and 1 deletions

View File

@ -209,4 +209,3 @@ grep -r "SaveFile\|Export.*nwd" --include="*.htm" doc/navisworks_api/
- 使用中文交流和注释
- Agent 任务前 Plan 模式设计方案
- `src\Legacy\` 仅参考,不维护

105
IFLOW.md Normal file
View File

@ -0,0 +1,105 @@
# 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状态和线程安全更新管理