NavisworksTransport/doc/design/architecture/system_architecture_functional_2026.md

3.1 KiB
Raw Blame History


flowchart TB

  %% 顶层:功能域
  subgraph A[通道选择与路径点规划]
    direction TB
    A1[模型切分]
    A2[通道选择\n选择树/三维点选/属性筛选)]
    A3[路径点规划\n起点/路径点/终点/方向)]
    A4[编辑、保存与导入\nXML/JSON/CSV历史记录]
    A5[路径点自动贴合\n贴合通道表面、直线连通]
  end

  subgraph B[物流“类别”设置]
    direction TB
    B1[类别设置\n新增“物流属性”类别]
    B2[属性设置\n类型/可通行性/速度限制/宽度限制/优先级等)]
    B3[识别与筛选\n添加/编辑/清除,选择树/三维选取)]
  end

  subgraph C[层级创建与显示]
    direction TB
    C1[层级显示\n自动隐藏/淡化非关键层)]
    C2[物流元素筛选\n按物流分类属性]
    C3[路径时间标签\n预估运输时间]
  end

  subgraph D[交互式导航]
    direction TB
    D1[交互式导航控件\n选择起点/终点,动态生成路径)]
    D2[结果输出\n导航地图/视频/图片)]
    D3[结构化结果\nXML/JSON/CSV支持导入 DELMIA]
  end

  subgraph E[碰撞检查]
    direction TB
    E1[动画生成与播放\n时长/播放/停止/步进)]
    E2[碰撞检查\n高亮、记录导出]
    E3[路径规划分析\n多路径碰撞对比最优路径与建议]
  end

  %% 支撑与外部能力2026 目标)
  subgraph S[支撑能力Navisworks 2026]
    direction TB
    S1[Navisworks API\nDocument/Selection/View]
    S2[Clash Detective API]
    S3[TimeLiner API]
    S4[COM API\n自定义属性读写]
    S5[路径规划算法\n通道优先 2.5D 网格 + A* + 高度插值/贴合)]
    S6[可见性/层级控制]
    S7[文件序列化\nXML/JSON/CSV]
  end

  subgraph DATA[数据与文件]
    direction TB
    R1[(路径文件PathRoute\nXML/JSON/CSV)]
    R2[(碰撞/分析报告\nCSV/XML)]
    R3[(导航输出\n视频/图片))]
  end

  subgraph UI[用户与交互]
    direction TB
    U[用户]
  end

  %% 交互与依赖关系(功能为主)
  U --> B
  U --> A
  U --> C
  U --> D
  U --> E

  %% 分类属性支撑通道与层级
  B2 --> A2
  B3 --> A2
  B3 --> C2

  %% 层级支撑通道聚焦
  C1 --> A2
  C2 --> A2
  C3 --> A3

  %% 路径规划产出
  A3 --> A4
  A5 --> A4
  A4 --> R1

  %% 导航基于路径
  A3 --> D1
  D1 --> D2
  D2 --> R3
  D3 --> R1

  %% 动画与碰撞基于路径
  A3 --> E1
  E1 --> E2
  E2 --> R2
  E2 --> E3

  %% 支撑能力关联
  A2 -.使用.-> S1
  B1 -.使用.-> S4
  B2 -.使用.-> S4
  C1 -.使用.-> S1
  D1 -.使用.-> S1
  E1 -.使用.-> S3
  E2 -.使用.-> S2
  A3 -.网格/算法.-> S5
  C1 -.可见性.-> S6
  A4 -.序列化.-> S7
  D3 -.序列化.-> S7

  %% 样式
  classDef domain fill:#f5faff,stroke:#356ac3,stroke-width:1px;
  classDef support fill:#f8fff5,stroke:#2e7d32,stroke-width:1px;
  classDef data fill:#fff8e1,stroke:#b26a00,stroke-width:1px;
  classDef user fill:#fdecea,stroke:#c62828,stroke-width:1px;

  class A,B,C,D,E domain;
  class S support;
  class DATA data;
  class UI user;