クライアント アプリ、サービス、およびデータベースのリストがある場合、アーキテクチャの Visio ダイアグラムを (適切なレイアウトで) 生成する良い方法はありますか? これをその場で生成する適切な方法があると思っていたでしょう。
8176 次
1 に答える
7
GitHub にVisioAutomationがあります。Visio がインストールされている場合は、図の生成を自動化できます。必要なダイアグラムを有向グラフとしてモデル化できる場合は、(MSAGL を使用して) グラフを自動的にレイアウトできます。
有向グラフを作成する基本的な例を次に示します。
using VACONNECT = VisioAutomation.Shapes.Connections;
var d = new VisioAutomation.Models.DirectedGraph.Drawing();
var basic_stencil = "basic_u.vss";
var n0 = d.AddShape("n0", "Node 0", basic_stencil, "Rectangle");
n0.Size = new VA.Drawing.Size(3, 2);
var n1 = d.AddShape("n1", "Node 1", basic_stencil, "Rectangle");
var n2 = d.AddShape("n2", "Node 2", basic_stencil, "Rectangle");
var n3 = d.AddShape("n3", "Node 3", basic_stencil, "Rectangle");
var n4 = d.AddShape("n4", "Node 4\nUnconnected", basic_stencil, "Rectangle");
var c0 = d.AddConnection("c0", n0, n1, "0 -> 1", VACONNECT.ConnectorType.Curved);
var c1 = d.AddConnection("c1", n1, n2, "1 -> 2", VACONNECT.ConnectorType.RightAngle);
var c2 = d.AddConnection("c2", n1, n0, "0 -> 1", VACONNECT.ConnectorType.Curved);
var c3 = d.AddConnection("c3", n0, n2, "0 -> 2", VACONNECT.ConnectorType.Straight);
var c4 = d.AddConnection("c4", n2, n3, "2 -> 3", VACONNECT.ConnectorType.Curved);
var c5 = d.AddConnection("c5", n3, n0, "3 -> 0", VACONNECT.ConnectorType.Curved);
そしてそれを描くために:
var options = new VisioAutomation.Models.DirectedGraph.MsaglLayoutOptions();
var page = visio_app.ActivePage;
d.Render(page,options);
于 2010-02-13T20:49:02.750 に答える