我在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值仍然存在,但它们似乎无法应用。
答案 0 :(得分:2)
图表不会更新任何元素更改(通常,在大多数情况下,这是EA)。您需要使用
重新加载已更改的图表Repository.ReloadDiagram (currentDiagram.DiagramID);