升级Enterprise Architect Diagram元素名称换行

时间:2016-08-31 15:30:39

标签: enterprise-architect

我们最近将企业架构师升级到版本12,当我打开我们的图表时,所有名称现在都包裹到元素的宽度。在它之前将服务器名称写在元素下的一行中,即使名称比元素本身长,但现在它们将换行到元素的宽度。

如何让它在一行中显示元素的名称而不是包装?

编辑:如果我们在名称中有短划线,这似乎是一个问题。如果我将破折号更改为下划线,则它不会换行。但我们真的需要名字中的破折号。

编辑#2:这是我的问题的屏幕截图。左边的一个有破折号和包裹,右边的一个有下划线并且没有包裹。其他一切都是一样的。

Example of issue

1 个答案:

答案 0 :(得分:1)

您需要打开Features and Properties/Feature...

enter image description here

你可以为个别元素切换它。要在全球范围内执行此操作,您需要编写此脚本:

dia = Repository.GetDiagram... # get the diagram itself
for do in dia.DiagramObjects {
  do.ElementDisplayMode = 1 # longest, or 3: truncate (2 = wrap)
  do.Update()
}

修改:仅适用于类的功能,而不适用于其名称。 EA在破折号和空格处包装名称(如果矩形太小)(最终还有几个字符?)。这不能改变。您可以通过以下方式编写脚本:

dia = repository.GetDiagram.... # load the diagram
for do in dia.diagramObjects {
  e = repository.getElementById(do.ElementId)
  width = stringBitWidth(e.Name) # calc width of text in screen pixels; use your phantasy
  currWidth = do.right - do.left
  extend = (width - currWidth) / 2
  do.Left -= extend
  do.Right += extend
  do.Update()
}