Enterprise Architect 脚本不更新图表

Enterprise Architect script not updating diagram

我在 Enterprise Architect 中有一个 JScript,它应该通过根据 将 DiagramLinks 的几何 属性 的 "HDN" 属性设置为 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 值仍然存在,但似乎没有应用。

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

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