Profile Picture

Cloned shapes connections does not route correctly

Posted By Niranjan Singh 2 Years Ago
Author
Message
Niranjan Singh
Problem Posted 2 Years Ago
View Quick Profile
Forum Member

Forum Member (41 reputation)Forum Member (41 reputation)Forum Member (41 reputation)Forum Member (41 reputation)Forum Member (41 reputation)Forum Member (41 reputation)Forum Member (41 reputation)Forum Member (41 reputation)Forum Member (41 reputation)

Group: Forum Members
Last Active: Last Year
Posts: 49, Visits: 179
Hi Team,

I am adding shapes from one DrawingDocument to another after cloning.

public static NDrawingDocument CopyDigram(NDrawingDocument nProjectDiagram, NDrawingDocument nSystemTemplateDiagram, Dictionary<string, string> oldNewComponentIds)
{
for (int i = 0; i < nSystemTemplateDiagram.ActiveLayer.ChildrenCount(null); i++)
  {
   Hashtable mapUids = new Hashtable();
   INNode node = nSystemTemplateDiagram.ActiveLayer.GetChildAt(i);
if (node is NCompositeShape)
   {
    NShape soruceDiagramShape = (NShape)node;
NShape shape = soruceDiagramShape.CloneWithNewUniqueId(mapUids) as NShape;
shape.UniqueId = Guid.Parse(oldNewComponentIds[soruceDiagramShape.UniqueId.ToString()]); //Replace guid from
    nProjectDiagram.ActiveLayer.AddChild(shape);

}
else if (node is NRoutableConnector)
   {
NRoutableConnector sourceDiagramConnector = (NRoutableConnector)node;
NRoutableConnector connector = templateDiagramConnector.CloneWithNewUniqueId(mapUids) as NRoutableConnector;
    connector.UniqueId = Guid.Parse(oldNewComponentIds[templateDiagramConnector.UniqueId.ToString()]);
    //connector.RerouteAutomatically = RerouteAutomatically.Always;
    //connector.Location = templateDiagramConnector.Location;
    nProjectDiagram.ActiveLayer.AddChild(connector);
}

//Iterate all connectors from source diagram and find corroessponding shape and port to connect in new diagram
connector.StartPlug.Connect(sourceShapePort);
connector.EndPlug.Connect(targetShapePart);
connector.Reroute();// Not working
  }
}


Source Diagram:
https://www.nevron.com/forum/uploads/images/5873770c-5b19-443e-bbf7-d0f3.png
Routing is not correct in copying diagram
https://www.nevron.com/forum/uploads/images/fffe2e5c-ba7e-4d79-b1cd-5c9a.png
Please suggest that how can we correct routing of these dynamically added shapes in the drawing document.
Note: All events are detached from these diagrams.




Similar Topics


Reading This Topic