Я устал рисовать планы в AnyLogic руками
Если коротко: я делаю себе (и, возможно, другим) инструмент, который превращает картинку плана помещения в готовую разметку в AnyLogic.
Потому что вручную это боль: сидишь, двигаешь стены, подгоняешь размеры, промахнулся на пиксель — поехало всё… А если план поменялся — начинай заново.
Я решил: “Ок, раз уж я всё равно работаю с AnyLogic — почему бы не автоматизировать”.
Что я сейчас делаю в своей мини-библиотеке:
1) Стены из картинки → стены в модели
Берём план (обычно чёрные толстые стены на белом фоне). Дальше по шагам: - делаю изображение чёрно-белым (чётко отделяю стены от фона) - “чищу” шум (чтобы не ловить мусор) - превращаю толстые стены в тонкие линии (скелетизация) - нахожу линии и куски стен (алгоритм типа “поиск отрезков”) - объединяю куски, чтобы не было миллиона коротких сегментов - рисую это в AnyLogic (оказалось надёжнее рисовать стенки как RectangleWall, а не как “обычный Wall”)
2) Пути по цвету (например, голубая линия)
Я начал делать “разметку маршрутов” прямо на картинке: рисую голубую линию — и библиотека: - выделяет голубой цвет - превращает линию в набор точек - рисует Path в AnyLogic
3) Узлы (например, зелёные прямоугольники) Зелёный прямоугольник на картинке = будущая точка/узел в модели.
Сейчас я: - нахожу все зелёные прямоугольники - создаю RectangleNode - делаю автопривязку: путь стыкуется к узлу
Зачем это может быть полезно не только мне?
Если вы моделируете: -офис/магазин/склад/производство -логистику внутри помещения -движение людей/тележек/AGV …то можно быстро собирать геометрию так: картинка → координаты → AnyLogic.
И самое приятное: поменяли план — просто прогнали скрипт ещё раз, а не “перерисовываем вручную 2 часа”.