Scripting 企业架构师:自动化脚本:在图中显示元素组件上创建的端口

Scripting 企业架构师:自动化脚本:在图中显示元素组件上创建的端口,scripting,automation,enterprise-architect,ports,Scripting,Automation,Enterprise Architect,Ports,我正在编写一个Python脚本来创建图,在enterprisearchitect中创建元素。我已经创建了一个端口并将其连接到元素,但现在我需要该端口在图表视图中的元素上可见。我在文档中搜索了可用的类和包,但找不到元素/端口可视性的任何函数 注意:我不需要从程序开始,我需要一个脚本功能,脚本语言不是问题 谢谢。您只需要找到元素。端口和其他嵌入元素是子元素。因此,查看parent.elements以检索正确的元素 现在,将其放置在图表中与其父对象相同。创建一个diagramObject,并将其放置在

我正在编写一个Python脚本来创建图,在enterprisearchitect中创建元素。我已经创建了一个端口并将其连接到元素,但现在我需要该端口在图表视图中的元素上可见。我在文档中搜索了可用的类和包,但找不到元素/端口可视性的任何函数

注意:我不需要从程序开始,我需要一个脚本功能,脚本语言不是问题


谢谢。

您只需要找到元素。端口和其他嵌入元素是子元素。因此,查看
parent.elements
以检索正确的元素

现在,将其放置在图表中与其父对象相同。创建一个
diagramObject
,并将其放置在父元素边界上的正确位置。大概是这样的:

dia_obj = diagram.DiagramObjects.AddNew ("l=10;r=110;t=-20;b=-80", "");
dia_obj.ElementID = element.ElementID;
dia_obj.Update ();
Repository.ReloadDiagram (diagram.DiagramID);

注意:在V10(build 1006之前)中,嵌入元素没有正确放置,但EA将其放置在嵌入类的某个位置。V11(build 1103)已经修复了这个错误。

感谢它的工作,但是我尝试对连接到端口的接口执行相同的操作,但失败了。既然接口也是一个元素,它不应该使用相同的过程吗?我为一个提供的接口分配了一个端口,我需要该接口在图表上也可见。我也这么认为,但快速测试没有成功。我晚些时候再试试,可能是什么原因。我刚刚测试过。用于添加iface图表对象的更新没有响应true。我认为这是一个错误。也许你是第一个尝试(或要求)这样做的人。请发送错误报告:耶,这是我的问题,以及更新方法没有工作。嗯,很有趣,以前没有人发现过这个bug:)。无论如何,很快就会引起一个bug。非常感谢您的帮助,也感谢您编写了一本关于脚本编写的书。从Enterprise Architect开始,这本书对我帮助很大,尽管我只有草稿版本:D@uffe删除我关于引文来源的评论的原因是什么?