Appearance
模型关联与追溯
模型关联用于在功能视图、逻辑视图和物理视图的模型之间建立可跳转关系,支持跨视图和跨项目。该功能独立于 ICD,不会创建或修改端口、信号、数据包等 ICD 数据。
使用前提
- 当前选中对象必须是模型。
- 新增或解除绑定会改变画布上的模型关联标识,因此需要先将设计图切换为可写状态并打开编辑锁。
- 查看列表、手动刷新和点击已关联模型不要求打开编辑锁。
- 跨项目目标仍受目标项目现有访问权限控制。能够看到关联不代表自动获得目标项目权限。
打开模型关联面板
- 在设计图中选中一个模型。
- 打开右侧属性栏中的“模型关联”页签。
- 面板按方向展示两组数据:
- 我绑定的模型:当前模型作为绑定发起端。
- 绑定我的模型:当前模型作为绑定目标端。
模型名称显示为蓝色时可以点击跳转。鼠标悬停在名称上可查看项目、视图和状态,不展示模型 UUID。

新增模型绑定
打开编辑锁后,点击“新增模型绑定”。支持以下两种方式。
粘贴模型链接
- 在目标设计图中复制模型跳转链接。
- 点击“粘贴”读取剪贴板,或在输入框中手动粘贴。
- 点击“绑定”。
模型链接格式如下:
text
/projects/{projectId}/code/{viewCode}/view/{viewId}/dataUrl/{dataUrl}/model/{modelUuid}“粘贴”和“绑定”是两个独立操作。浏览器拒绝读取剪贴板时,可以继续使用输入框手动粘贴。
搜索目标模型
可以按项目 ID、视图类型和模型名称搜索模型索引。项目 ID 留空时搜索当前用户可访问范围内的候选模型,视图类型可选择功能视图、逻辑视图或物理视图。
设计图保存后会同步更新模型索引;如果模型刚改名但候选名称尚未变化,可稍后重新搜索,或由管理员执行项目模型索引重建。

绑定规则
- 不允许模型绑定自身。
- A→B 已存在时,不允许再次创建 B→A。
- 同一对模型只能存在一条有效绑定。
- 允许功能、逻辑、物理模型之间互相绑定。
- 允许跨项目绑定,但不会绕过目标项目权限。
- 模型绑定与 ICD 完全独立。
前端、后端和数据库会共同校验自绑定及反向重复绑定。只有接口明确返回成功时,页面才会提示“模型绑定成功”。
关联状态与画布标识
绑定成功后,模型右上角出现紫色 M+数量 标识,例如 M2 表示该模型当前有 2 条关联。点击标识可打开“模型关联”页签。
- 可用:显示蓝色模型名称和“可用”状态,可以点击跳转。
- 模型不可用:显示红色“模型不可用”,不能跳转。
模型或视图被删除、索引未及时同步时,关联可能显示为不可用。点击“刷新”只刷新当前模型的关联列表,不会刷新整个页面。
解除绑定
- 点击关联行右侧的删除图标,可以解除单条绑定。
- 存在不可用关联时,可使用“清理不可用”批量解除当前模型的全部不可用关联。
- 批量清理前会显示待清理数量并要求二次确认。
解绑成功后,列表和画布 M 标识数量会同步更新;关联数量变为 0 时标识消失。
将鼠标移动到删除图标上会显示“解除绑定”提示。绑定或解绑操作只有在接口明确返回成功后才显示成功消息。

不可用模型显示为红色,面板顶部同时显示可批量操作的不可用数量。

模型关联追溯
安装“关联追溯”插件后,可以从工具栏打开模型追溯。
- 点击“关联追溯”。
- 选择“模型追溯”。
- 粘贴并解析起点模型链接。
- 选择“我绑定的模型”“绑定我的模型”中的一个或两个方向。
- 设置 1–20 层深度,以及是否包含跨项目模型。
- 选择结果布局并点击“确定”。

追溯结果支持从左到右、径向和从上到下三种布局,也可以全屏查看或导出 PNG 图片。


结果节点说明
- 紫色:追溯起点。
- 绿色:可用模型,点击后可以打开模型。
- 红色“模型不可用”:目标模型无法读取,不再继续展开。
- 灰色“已访问”:该模型已从其他路径出现,本次只显示节点,不重复请求和展开。
“已访问”不是数据库重复绑定,也不代表模型不可用。它用于阻止 A→B→A、A→B→C→A,或多条路径汇聚到同一模型时无限展开。单次模型追溯最多展示 500 个节点,日常建议深度不超过 5 层。
异常处理
- 绑定接口不存在或返回 404:页面提示“模型绑定失败,接口不可用或请求异常”,弹窗保持打开,不会误报成功。
- 后端返回业务错误:优先展示后端返回的错误信息,例如“不能绑定模型自身”。
- 搜索失败:清空本次候选结果并显示错误提示。
- 刷新失败:保留当前列表,显示加载失败提示。
- 解绑或批量解绑部分失败:显示失败提示,并重新加载当前关联列表,以服务端实际数据为准。
- 切换模型:自动关闭上一个模型的新增绑定弹窗,并丢弃上一个模型迟到的异步响应。