Is there a way to tell if a connection is multi-directional?


If I have a double arrow (line with an arrow point at each end), is there any way for me to tell that this connection is bi-directional, or is this not even something Visio knows about and is purely visual? Thanks.



You can determine incoming and outgoing nodes of the shape to check how they are connected via connectors:

Aspose.Diagram.Diagram diagram = new Aspose.Diagram.Diagram(dataDir + "connector.vsdx");
foreach(Aspose.Diagram.Shape s in page.Shapes)
 long[] In_connectedShapeIds = s.ConnectedShapes(Aspose.Diagram.ConnectedShapesFlags.ConnectedShapesIncomingNodes, null);
 long[] Out_connectedShapeIds = s.ConnectedShapes(Aspose.Diagram.ConnectedShapesFlags.ConnectedShapesOutgoingNodes, null);

In case it is not what you are actually requiring, please share a sample Visio file with us. We will further check the details on our end and share our feedback with you.


Thanks for the reply. I have tried using the suggested method on this example below. This example has 2 shapes linked by a double arrow, so I would expect each shape to have an incoming and outgoing connection, however, this is not the case. Is this supported at all by Aspose? (28.5 KB)

Edit: Maybe this only a visual effect of Visio, and doesn’t actually know the connection has 2 arrows?



Thanks for getting back to us.

We have also noticed similar behavior of the API in our environment. However, we have to investigate the scenario in details to determine whether it is an issue in the API or MS Visio has this type of connector as style only. We have logged a ticket as DIAGRAMNET-51654 in our issue tracking system for investigation and will keep you posted with the status of its resolution. Please be patient and spare us little time.

We are sorry for the inconvenience.