我按Enterprise Architect 12
绘制活动图表。图表类型为 UML行为下的活动。我发现连接器标签的位置接近目标元素,如图所示。这很令人困惑。
如何更改默认标签位置以使它们靠近源元素,如图所示?
或者有没有简单的方法可以将连接器的标签从Target Top Label
更改为Source Top Label
?
答案 0 :(得分:3)
最好使用Guards
作为Constraints
标签中的标签。它们出现在中间标签位置并用方括号括起来。这实际上就是你要展示的内容。
为了您的娱乐,这是我的原始答案
无法以开箱即用的方式更改标签位置。您需要编写一个脚本来执行此操作。
有两种方法可以完成这样的脚本。最舒服的是使用响应EA_OnPostNewConnector
的加载项。然后,您需要检查连接器是否是Decision
到Action
之一,并相应地移动标签。
第二个是使用一个简单的脚本(您可以在EA的脚本编辑窗口中编辑),您可以为打开的图表扫描图表中的所有Decisions
并相应地更改标签位置。
更改标签
从手边的Decision
到Action
获得连接后,您需要更改标签位置,如下所示:
DiagramLinks
获取相应的连接符,因为它具有标签位置Connector.ClientID
和.SupplierID
获取元素ID,并使用Respository.GetElementByID(<id>)
decision
action
或Element.Type
DiagramObject
匹配的两个元素(因此您可以在图上获得它们的位置)DiagramElement.Left
,.Right
,.Top
和.Bottom
包含适当的坐标)在哪一端你计算(我会给你留下一些乐趣)标签位置,你认为应该去哪里标签位置存储在DiagramObject.Geometry
中。这是一个以分号分隔的字符串,其中一个标记为LRT=<colon-list>;
。 <colon-list>
本身是以冒号分隔的列表,其中两个类似于OX=-1:OY=-71:
,表示标签位置。这是相对于“正常”位置的位置,其中标签最初由EA放置。
总而言之:很多等待你的乐趣: - /