Автоматическая компоновка
Diagrammix3 включает мощную функцию автоматической компоновки, которая автоматически располагает элементы диаграммы для оптимальной читаемости. Механизм компоновки использует алгоритм Sugiyama, специально разработанный для иерархических и ориентированных графов.
Когда использовать автоматическую компоновку
Автоматическая компоновка полезна, когда:
- Вы импортировали диаграмму из Mermaid или другого формата
- Ваша диаграмма стала запутанной после множества правок
- Вы хотите быстро упорядочить большое количество элементов
- Вы начинаете с чернового наброска и хотите получить аккуратный макет

Применение автоматической компоновки
Через меню
- Выделите фигуры, которые хотите упорядочить (или выделите все с помощью Cmd+A)
- Перейдите в Arrange → Auto-Layout
- Выделенные элементы будут перераспределены
С панели инструментов
Нажмите кнопку автоматической компоновки на панели инструментов расположения (значок сетки).

Направление компоновки
Вы можете выбрать направление иерархии компоновки:
| Направление | Описание | Лучше всего подходит для |
|---|---|---|
| Сверху вниз | Корень сверху, листья снизу | Организационные схемы, блок-схемы |
| Снизу вверх | Корень снизу, листья сверху | Деревья решений |
| Слева направо | Корень слева, листья справа | Схемы процессов, временные шкалы |
| Справа налево | Корень справа, листья слева | Диаграммы справа налево |
Параметры направления доступны в Arrange → Auto-Layout → Направление.

Параметры компоновки
Интервалы
Управление расстоянием между элементами:
- Горизонтальный интервал: Расстояние между соседними узлами
- Вертикальный интервал: Расстояние между уровнями иерархии
Настройте их на панели параметров компоновки или в Инспекторе.
Выравнивание
Выберите, как узлы на одном уровне выравниваются:
- По центру: Узлы центрируются в пределах своего уровня
- По левому краю/верху: Узлы выравниваются по началу
- По правому краю/низу: Узлы выравниваются по концу
Алгоритм Sugiyama
Автоматическая компоновка использует алгоритм Sugiyama (также известный как послойное рисование графов), который:
- Назначает слои: Размещает узлы на иерархических уровнях на основе связей
- Уменьшает пересечения: Минимизирует пересечения рёбер между слоями
- Позиционирует узлы: Размещает узлы так, чтобы минимизировать длину рёбер
- Прокладывает рёбра: Создаёт аккуратные пути для коннекторов
Этот алгоритм идеально подходит для:
- Блок-схем
- Организационных схем
- Графов зависимостей
- Иерархий классов UML
- Автоматов состояний
Советы для лучших результатов
Перед запуском автоматической компоновки
- Удалите лишние связи: Дополнительные рёбра увеличивают сложность
- Сгруппируйте связанные элементы: Группы обрабатываются как единые узлы
- Продумайте направление: Подумайте, какое направление подходит для вашей диаграммы
После запуска автоматической компоновки
- Скорректируйте позиции: При необходимости подправьте отдельные элементы
- Проверьте надписи: Убедитесь, что надписи читаемы и не перекрываются
- Настройте интервалы: Увеличьте интервалы, если элементы расположены слишком тесно
Ограничения
- Циклические графы: Диаграммы с циклическими ссылками могут компоноваться неидеально
- Плотные графы: В очень плотных диаграммах могут остаться некоторые пересечения рёбер
- Ручное размещение: Компоновка переопределяет любое ручное позиционирование
- Соотношение сторон: Алгоритм не учитывает соотношение сторон холста
Отмена
Если результат вас не устраивает, нажмите Cmd+Z, чтобы отменить компоновку и восстановить предыдущие позиции.