Enterprise Architect脚本不更新图表

时间:2017-07-03 12:42:40

标签: enterprise-architect

我在Enterprise Architect中有一个JScript,它应该通过设置" HDN"来隐藏一些连接器标签。根据{{​​3}}:

,DiagramLinks的几何属性的属性为1
// Get a reference to the current diagram
var currentDiagram as EA.Diagram;
currentDiagram = Repository.GetCurrentDiagram();

if (currentDiagram != null)
{
    for (var i = 0; i < currentDiagram.DiagramLinks.Count; i++)
    {
        var currentDiagramLink as EA.DiagramLink;
        currentDiagramLink = currentDiagram.DiagramLinks.GetAt(i);

        currentDiagramLink.Geometry = currentDiagramLink.Geometry
            .replace(/HDN=0/g, "HDN=1")
            .replace(/LLT=;/, "LLT=HDN=1;")
            .replace(/LRT=;/, "LRT=HDN=1;");
        if (!currentDiagramLink.Update())
        {
            Session.Output(currentDiagramLink.GetLastError());
        }
    }
}

但是,图表未更新(视图不会更改)。我错过了什么吗?

第二次执行脚本时,我可以在调试器中看到新的Geometry值仍然存在,但它们似乎无法应用。

1 个答案:

答案 0 :(得分:2)

图表不会更新任何元素更改(通常,在大多数情况下,这是EA)。您需要使用

重新加载已更改的图表
Repository.ReloadDiagram (currentDiagram.DiagramID);