如何在 EA 自动化中找到将注释链接到连接器(并将注释链接到元素)的注释链接
How to find a Notelink, in EA automation, that links a Note to a Connector (and note to an Element)
我有一个 Enterprise Architect 图表,其中注释 linked (link L2) 到连接器 (link L1)。使用自动化 API :
- myDiagram.diagramLinks 实际上包含 L1,任何 link 到一个元素, 但绝对不是 L2,它 link 到一个连接器
相同,myNote.Connectors 提供其连接器到 Elements,但不提供到 L1...
我该如何处理?强制使用 SQLQuery ?
我也想知道,一旦找到 L1,我如何确定 L1.SupplierId 是 Element 还是 Connector ?
谢谢!
我调查了一下,看起来链接元素在 t.object.PDATA4
中的值(等于 EAElement.MiscData(3)
)是
idref=<connId>;
其中 <connId>
是它链接到的连接器 ID。有多少个分号分隔的条目就有多少个连接器链接。
这是我的设置:
两个关联链接到一个笔记。 t_connector
有两个 ID 为 1 和 2 的条目:
现在你可以看到 t_object
看起来像这样:
注释(链接到协会)有 PDATA
引用了协会 ID 1 和 2。
虽然您可以通过 API 读取 MiscData,但它是 (IIRC) r/o。在那些情况下,我只是回退到 Repository.Execute
到 运行 任何 UPDATE
查询。
我有一个 Enterprise Architect 图表,其中注释 linked (link L2) 到连接器 (link L1)。使用自动化 API :
- myDiagram.diagramLinks 实际上包含 L1,任何 link 到一个元素, 但绝对不是 L2,它 link 到一个连接器
相同,myNote.Connectors 提供其连接器到 Elements,但不提供到 L1...
我该如何处理?强制使用 SQLQuery ?
我也想知道,一旦找到 L1,我如何确定 L1.SupplierId 是 Element 还是 Connector ? 谢谢!
我调查了一下,看起来链接元素在 t.object.PDATA4
中的值(等于 EAElement.MiscData(3)
)是
idref=<connId>;
其中 <connId>
是它链接到的连接器 ID。有多少个分号分隔的条目就有多少个连接器链接。
这是我的设置:
两个关联链接到一个笔记。 t_connector
有两个 ID 为 1 和 2 的条目:
现在你可以看到 t_object
看起来像这样:
注释(链接到协会)有 PDATA
引用了协会 ID 1 和 2。
虽然您可以通过 API 读取 MiscData,但它是 (IIRC) r/o。在那些情况下,我只是回退到 Repository.Execute
到 运行 任何 UPDATE
查询。