Суть проекта
Нам необходим интеллектуальный алгоритм раскроя листового акрилового камня. Мы производим изделия серийно, и ручной расчет раскладки деталей приводит к перерасходу дорогого материала. Цель - автоматизировать этот процесс.
Что нужно сделать
- Оптимизация раскроя: Написать алгоритм, который с учетом заказанных размеров (прямоугольные детали разной длины, плюс сложные формы радиусных углов) разместит их на стандартном листе материала (3000x900 мм или других форматах).
- Минимизация отходов: Программа должна находить раскладку с минимальным количеством остатков, которые потенциально могут быть использованы для мелких изделий (например, частей одного радиуса).
- Учет направления текстуры и дефектов: Алгоритм должен уметь отзеркаливать детали для плотной укладки и исключать участки с браком (на них можно указать перед запуском).
- Визуализация: Генерация визуальной схемы раскроя (в виде png, без использования сторонних платных сервисов). На размеры спроецировать автоматические обозначение деталей, свободных мест и учтенных дефектов.
Технические требования
Код написать на Python полностью с нуля, используя только библиотеки: pandas, numpy, math, PIL (Pillow). Этот список критичен. Упоминание офисной программы или чего-то дорогого из CAD убирать. Взаимодействие должно быть через простой интерфейс (консольный ввод JSON).
- Входные данные: готовые json со списком зачаст вин радиусов сов и все заводские размеры.
- Выходные данные: JSON (массив листов с координатами деталей + само изображение схемы).
- Предоставить развернутую python-документацию с объяснением логики приоритетов сборки рядом с обрыв отверстий прямоугольных сложных агрегатов надо надбавить алгоритм открытия взаимос реза по линии сдвит."