C# 如何在EA中自动排列元素

C# 如何在EA中自动排列元素,c#,enterprise-architect,C#,Enterprise Architect,我想使用以下方法从C#创建元素并将其添加到图表中: DiagramObjects.AddNew("l=100;r=300;t=100;b=150;", ""). 如果不使用此API,我们如何在图表视图中自动调整元素的大小并在图表包含多个元素时自动排列?您可以使用 Repository.GetProjectInterface.LayoutDiagramEx (string DiagramGUID, long LayoutStyle, long Iterations, long LayerSpa

我想使用以下方法从C#创建元素并将其添加到图表中:

DiagramObjects.AddNew("l=100;r=300;t=100;b=150;", ""). 
如果不使用此API,我们如何在图表视图中自动调整元素的大小并在图表包含多个元素时自动排列?

您可以使用

Repository.GetProjectInterface.LayoutDiagramEx (string DiagramGUID, long LayoutStyle, long Iterations, long LayerSpacing, long ColumnSpacing, boolean SaveToDiagram)
自动布局图表。另见

API没有自动调整元素大小的方法。但是,这似乎会在创建时自动调整大小:

DiagramObjects.AddNew("l=100;t=-100", "")
请注意,y坐标从0(顶部)到负值(底部)


另外,我刚刚发现Alt-Z会稍微增加元素的大小。上面创建了一个最小大小。

如果我尝试上面的自动排列方法,则图表中有10个元素不起作用。请为上面的方法提供参数值,以自动排列图表中的10个元素查看脚本窗口中的每个实例,您将发现lsInitializeNaive=&H08000000作为布局风格。或者从附近的常数中选择另一个。