【问题标题】:Upgrading Enterprise Architect Diagram Element names wrap升级 Enterprise Architect 图表元素名称换行
【发布时间】:2016-09-01 04:28:42
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: enterprise-architect


    【解决方案1】:

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

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

    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()
    }
    

    【讨论】:

    • 这似乎对我不起作用。如果我的名称中没有破折号,它会起作用,但如果名称中有破折号,它会在破折号后换行并将其换行到下一行。
    • 呃,哦。以上仅适用于功能,不适用于名称。后者总是包裹在空格/破折号/更多。您可以通过根据名称计算宽度来调整每个脚本的大小。
    • 虽然我无法解决我原来的问题,但脚本可能会帮助我们快速调整图表。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-23
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    相关资源
    最近更新 更多