Profile Picture

Cloned shapes connections does not route correctly

Posted By Niranjan Singh Last Year
Author
Message
Niranjan Singh
Problem Posted Last Year
View Quick Profile
Forum Member

Forum Member (40 reputation)Forum Member (40 reputation)Forum Member (40 reputation)Forum Member (40 reputation)Forum Member (40 reputation)Forum Member (40 reputation)Forum Member (40 reputation)Forum Member (40 reputation)Forum Member (40 reputation)

Group: Forum Members
Last Active: 2 Weeks Ago
Posts: 47, Visits: 171
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