Enterprise Architect:通过脚本更改图表类型 (MetaType)

Enterprise Architect: Change diagram type (MetaType) by script

我必须更改我的 Enterprise Architect 模型中很多图表的图表类型。可以使用以下选项手动进行更改(按预期工作):

Select 图表 - 图表 - 高级 - 更改类型...

因为我必须更改很多图表,所以我创建了一个脚本来搜索所有相关图表并自动更改类型。我已经编写了很多用于更改某些建模元素的 JScript EA 脚本。不幸的是,此功能似乎无法通过脚本界面使用。

我必须更改图表对象的 "MetaType"。但这是只读的(参见 http://www.sparxsystems.com/enterprise_architect_user_guide/12/automation_and_scripting/diagram2.html)。因此,我得到了一个错误。

var currentDiagram as EA.Diagram
currentDiagram = theDiagram
currentDiagram.MetaType = MY_DIAGRAM_METATYPE // ERROR

在下一步中,我在存储库界面 (http://www.sparxsystems.com/enterprise_architect_user_guide/12/automation_and_scripting/repository3.html) 和项目界面中搜索了合适的功能。但是我没有找到合适的东西。

我使用的是 Enterprise Architect 12.0.1215,我使用的是 JScript。

有没有人已经通过脚本尝试过这个? 我错过了什么吗? 是否有另一种方法可以通过脚本实现图表类型更改?

提前致谢!

您必须分两步完成(如果您更改为不同的 MDG 图表类型)。例如。要将 Class 图更改为 BPMN2.0::BPEL,您首先将 Diagram_TypeLogical 更改为 Analysis。此外,您需要将 MDGDgm=BPMN2.0::BPEL; 添加到 StyleEx。如果您的旧图表来自另一个 MDG,您需要修改 StyleEx.

中现有的 MDGDgm 属性

正如 Uffe 指出的那样,API 中的图表类型是 r/o。所以如果你需要改变,你需要做一些像

Repository.Execute("UPDATE t_diagram SET Diagram_Type='Analysis' WHERE Diagram_ID=<theId>")

其中 <theId> 是正确的图表 ID。