Making links avoid the groups

I´ve seen quite a few items about this topic but I think I don´t understand enough to solve my problem with the links passing through the groups as if they don´t understand.

I´m creating a personalized gantt chart like process flow and as you can see the links become realy messy.
I´m not using a specific standard layout but calculate the location and with of all groups.
The groups have one or two nodes, where the groups always has the incoming links, while the node(s) have the outgoing links.

I´ve tried many combinations of routing: go.Link.AvoidsNodes, avoidable true false, avoidableMargin: 20, etc, and they all create the expectation that they will affect the route of the links but effectively don´t change anything.

This is what I have:

This is what I would like to have / expect:

the lanes in the back are nodes that I have put on avoidable false, presuming that that means they will not influence the route of the link.

At the moment the only thing consistent is the way the diagram is created. I would like to know how I can make the links pass the groups and nodes and not crossing them.

I´d love to hear from you all!

The objects (or just one Group possibly) that is making up your background columns should have avoidable: false set on it. It is likely that the AvoidsNodes routing is encountering the large background Node/Group, and simply giving up because there’s no routing around it, when in fact you don’t even want to consider it.

Everything else (all the regular nodes) should be avoidable: true

You may also need to increase spacing, or decrease the from/toEndSegmentLength. You could test that by artifically limiting the node width to like 10 or some small value so the ends had more ample room.

He Simon, thanks for your response!

I was not aware that you have to set it for all other items at false, but it makes sense and worked for a big part. I also adjusted the avoidablemargin of one of the items that during testing aparently I´d left a bigger number than desirable.

the only thing I did extra was calculating the fromEndSegmentLength. In the first three blue blocks you see that one of the green lines cross the third block, and that didn´t change with these properties.

Is there a property that I´m not aware of that should make sure the line would go down after the node?

this Is what I have now that satisfies me:

Are you asking about the routes of the brown links that loop up and then back left?

AvoidsNodes routing always chooses a shortest route, so it won’t choose to go down and around unless there is something in the way that goes up first.