ERD Layout

i am implementing an ERD (Entity relationship diagram) with GoDiagram.

Unfortunately I wasn’t able to generate a reasonable layout for our ERD with goLayout.
In our Erd I am using a GoBoxNode to represent an entity.
And a GoLabeledLink to represent a relation (With Options: Style = GoStrokeStyle.Line; Orthogonal = true; ToArrow = true; AvoidsNodes = true;).
After creating the ERD I am using the GoLayoutLayeredDigraph (With Options: CycleRemoveOption = GoLayoutLayeredDigraphCycleRemove.DepthFirst;
LayeringOption = GoLayoutLayeredDigraphLayering.OptimalLinkLength; goLayout.InitializeOption = GoLayoutLayeredDigraphInitIndices.DepthFirstOut; goLayout.Iterations = 100; goLayout.AggressiveOption = GoLayoutLayeredDigraphAggressive.More;)
The problems with the result layout are:
1. Crossing links.
2. Overlapping labels (of the links).
3. Links Labels are overlapped with the nodes.
Am I doing something wrong? Home can I optimize the layout to make it readable?
Simple ERD:

Complex ERD:

Complex Erd Zoom:

Aviram Iny

I suggest trying different combinations of settings.
In particular, you might try not having GoLink.AvoidsNodes be true, since that will often cause overlapping segments. Afterwards, if there are links that cross over nodes, you could try setting GoLink.AvoidsNodes to true for those particular links.
Version 2.5 is a bit smarter about routing multiple links connected to GoBoxPorts, so that should help too.

Walter, Thanks for your fast reply.