i am using in my c# project visio activex to import visio floorplan drawings. and i need to get the vertices of the shapes in that dra开发者_StackOverflow中文版wing, and i can't find any method or property for it. if someone has any ideas please help.
This is something that might be helpful to you.
Here are some code snippet to get you started:
public void DrawSampleShapeConnection()
{
// get the current draw page
Visio.Page currentPage = axDrawingControl1.Document.Pages[1];
// Load the stencil we want
Visio.Document currentStencil = axDrawingControl1.Document.Application.Documents.OpenEx("Basic_U.vss", (short)Visio.VisOpenSaveArgs.visOpenDocked);
// show the stencil window
Visio.Window stencilWindow = currentPage.Document.OpenStencilWindow();
// this gives a count of all the stencils on the status bar
int countStencils = currentStencil.Masters.Count;
toolStripStatusLabel1.Text = string.Format("Number of Stencils in {0} = {1}", currentStencil.Title, countStencils);
statusStrip1.Refresh();
// create a triangle shape from the stencil master collection
Visio.Shape shape1 = currentPage.Drop(currentStencil.Masters["Triangle"], 1.50, 1.50);
// create a square shape from the stencil master collection
Visio.Shape shape2 = currentPage.Drop(currentStencil.Masters["Square"], 10, 7.50);
// create a dynamic connector from the stencil master collection
Visio.Shape connector = currentPage.Drop(currentStencil.Masters["Dynamic connector"], 4.50, 4.50);
// currentPage.Layout();
// connect the shapes together through the dynamic connector
ConnectShapes(shape1, shape2, connector);
}
thank you, your code led me to discover the way. if you want the vertices of a shape s: s.pathes[1].point(double tolarence, out array a); the resuly would be on the one dimensional array a .
精彩评论