NavisworksTransport/.serena/memories/project_overview.md

1.3 KiB
Raw Blame History

NavisworksTransport 项目概览

项目目标

NavisworksTransport是一个Navisworks 2026插件专门用于在3D建筑模型中进行物流路径规划和运输冲突检测。主要功能包括

  • 路径优化和规划
  • 碰撞检测
  • 沿定义路径的动画对象移动
  • A*寻路算法集成
  • 时间轴动画集成

技术栈

  • 平台: Navisworks 2026 (.NET 4.8, x64)
  • 语言: C#
  • UI框架: WPF + WinForms混合架构
  • API: Navisworks Native API + COM API
  • 项目格式: 旧式csproj (使用Reference Include非PackageReference)
  • 包管理: packages.config手动管理
  • 寻路算法: RoyT.AStar库
  • 数据序列化: JSON

核心架构模式

三重插件架构

  1. MainPlugin.cs: 主AddInPlugin包含Ribbon UI和DockPane集成
  2. PathClickToolPlugin.cs: ToolPlugin处理3D鼠标交互和点击
  3. PathPointRenderPlugin.cs: RenderPlugin提供3D可视化覆盖

UI架构

  • WPF组件: 现代MVVM控件在src\UI\WPF\
  • WinForms对话框: 传统属性编辑界面
  • ElementHost集成: WPF嵌入Navisworks环境

当前状态

  • 专注Navisworks 2026开发无需向后兼容
  • 存在严重UI线程安全问题导致频繁崩溃
  • 正在进行UI架构重构以解决线程安全问题