Enhance the 2d Distance Constraint to recognise Circle etc as an edge not just as as centrepoints etc. Using 'Drawing' instead of 'True' should provide the horizontal separation distance.
This would greatly reduce the number Constraints needed for to automate basic distance separation behaviour.
See previous discussion