попробуйте создать класс с именем «ConnectingLine» или аналогичный. затем этот класс будет иметь несколько сегментов (это название этих частей линии в dia, что в настоящее время равно мой любимый инструмент моделирования uml), которые будут вычисляться по одному. у вас, конечно, для этого будет отдельный класс;) он может быть назван "LineSegment". я думаю, это должно упростить вам выполнение математических вычислений, необходимых для выполнения этой задачи.
это также может позволить сделать сегменты "автоматически маршрутизируемыми или нет", легкими d (^_^) b