Hi Krishna,
Thanks for your interest in Syncfusion product.
1. If you want to group a set of node Bitmapnodes then you can use Group class then you can add these elements to the group. Please refer to the following code snippet
Group g0 = new Group();
Syncfusion.Windows.Forms.Diagram.Rectangle objrectangle = new Syncfusion.Windows.Forms.Diagram.Rectangle(10, 10, 400, 200, MeasureUnits.Pixel);
objrectangle.FillStyle.Color = Color.White;
g0.AppendChild(objrectangle);
diagram.Model.AppendChild(g0);
Group g1a = new Group();
BitmapNode bmpnode1 = new BitmapNode("..\\..\\Blue hills.jpg");
bmpnode1.MeasurementUnit = MeasureUnits.Pixel;
bmpnode1.Size = new SizeF(100, 100);
bmpnode1.PinPoint = new PointF(100, 60);
g1a.AppendChild(bmpnode1);
g0.AppendChild(g1a);
Group g1b = new Group();
BitmapNode bmpnode2 = new BitmapNode("..\\..\\Winter.jpg");
bmpnode2.MeasurementUnit = MeasureUnits.Pixel;
bmpnode2.Size = new SizeF(100, 100);
bmpnode2.PinPoint = new PointF(250, 60);
g1b.AppendChild(bmpnode2);
g0.AppendChild(g1b);
2. To Connect one subset of grouped BitmapNode with another subset of BitmapNode using orthogonal lines then please refer to the following code snippet
OrthogonalConnector line = new OrthogonalConnector(g1a.PinPoint, g1d.PinPoint);//new PointF(0, 0), new PointF(1, 0));
line.LineRoutingEnabled = true;
diagram.Model.AppendChild(line);
g1a.CentralPort.TryConnect(line.TailEndPoint);
g1d.CentralPort.TryConnect(line.HeadEndPoint);
3. To prevent the overlapping of connectors, you can use Model.LineBridgingEnabled propert.
this.diagram.Model.LineBridgingEnabled = true;
I have attached the sample that demonstrates this completely. You can download the sample from the following page.
http://websamples.syncfusion.com/samples/Diagram.Windows/F64829/main.htmPlease refer to the sample and let me know if you have any questions.
Thanks,
Nagaraj