If I understand you correctly, you want to have a central node, with connected nodes in a circle around it. Something like this command will arrange the nodes around the selected node:
[code] GoNode parent = myView.Selection.Primary as GoNode; if (parent != null) { int num = 0; foreach (IGoNode c in parent.Nodes) num++; if (num > 0) { PointF center = parent.Center; int i = 0; float radius = 150; double angle = Math.PI*2/num; foreach (IGoNode c in parent.Nodes) { c.GoObject.Center = new PointF(center.X + radius * (float)Math.Cos(i * angle), center.Y + radius * (float)Math.Sin(i * angle)); i++; } } }[/code]
If you generalize the code to take a GoNode, rather than assuming it just works on the selected node, you can use it at any time to arrange the children around any node.