Описание
В общем случае задача такова: требуется разрезать набор хлыстов на детали, использовав как можно меньше хлыстов. Перечень хлыстов и деталей произвольно задает пользователь.
Предлагаемое решение использует перебор случайных вариантов, лучшие из которых берутся как результат. Несмотря на кажущийся незатейливым подход, метод даёт эффективный итог. Что наглядно видно на планах резки, выдаваемых обработкой.
Ввод исходных данных производится вручную или из документов учетной системы (для второго варианта Вам понадобится разработать собственный функционал).
Версия 7.7
Опции обработки:
- возможность использования нескольких различных материалов
- построение плана резки только для части исходных данных
- возможность использования технологических производственных ячеек для складирования изготовленных деталей
- установка толщины реза
- установка длины деловых отходов
- установка количества случайных вариантов построения планов резки
- указание порядка использования хлыстов
Тестирование производилось на релизе 7.70.010 конфигурации "Торговля+Склад для Украины".
Привязка решения к конфигурации отсутствует. Требования - наличие справочника "Номенклатура", а в нём - реквизита "Номенклатурная группа" (новый справочник, содержащий материалы/профили номенклатуры).
Порядок использования:
- Загружаем из существующих документов или заполняем руками таблицу "Детали" - это перечень того, что мы хотим получить в результате раскроя хлыстов. Обязательно указываем длину, количество и профиль каждой детали. Необязательно - номер ячейки (одинаковые номера ячеек обозначают, что детали принадлежат одному изделию, но об этом позже). В помощь Вам кнопки справа от таблицы "Детали" - для добавления, удаления или загрузки строк таблицы.
- Заполняем таблицу "Хлысты" - это перечень исходных заготовок, которые будем кроить. Обязательно указываем длину, количество и профиль каждого хлыста. Кнопки справа от таблицы помогут добавить, удалить или переместить заготовки в таблице. Самая нижняя кнопка (стрелка влево) автоматически сгенерирует наборы хлыстов стандартной длины, необходимые для осуществления раскроя уже внесенных деталей.
- Таблица "Профили" заполняется автоматически и отображает перечень всех используемых профилей (материалов) деталей.
- Колонка с птицами "Использовать" во всех трех верхних таблицах предназначена для включения/отключения части данных в план раскроя.
- Кнопки "Сохранить" и "Восстановить" предназначены для записи/восстановления содержимого таблиц "Детали" и/или "Хлысты". Пригодится если Вы ежедневно работаете с одинаковыми хлыстами или готовыми деталями.
- Заполняем технологические данные:
- количество ячеек (Дело в том, что при изготовлении рамочных конструкций возникает необходимость размещать на складе изготовленные детали наборами, поскольку из одного набора деталей будет собрано одно изделие. Каждый набор помещается в нумерованную складскую ячейку, и сколько этих ячеек будет - следует указать). Необязательно
- толщина реза и длина остатка, который считаем деловым - здесь, думаю, всё понятно
- количество вариантов раскладки - чем больше вариантов, тем вероятнее бОльшая оптимизация, но и более продолжительное время построения плана раскроя
- использование хлыстов при построении раскроя можно задать произвольным, либо указать, что хлысты должны использоваться в порядке следования в одноименной таблице
- Жмём кнопку "Сформировать раскрой" - получаем в таблицу "План резки" планы кроя отдельно с учетом разных профилей (материалов) и заполнением ячеек. Один план будет содержать такое количество деталей, чтобы они заполнили заданное в диалоге количество ячеек (например, для 100 ячеек можем получить 2 плана резки: один - 40 деталей профиля А и 60 деталей профиля Б, второй - 90 деталей профиля Б).
- Печатаем планы резки и этикетки для деталей. На плане желтым выводятся деловые отходы, серым - неделовые; на самих деталях надпись "7 -> 4" обозначает что деталь номер 7 резчику следует положить в ячейку номер 4.
Версия 8.х (неуправляемые формы)
Упростил алгоритм, отказался от показателя "деловой отход".
Опции обработки:
- построение плана резки для парного реза (когда под один рез пилы идут два хлыста)
- возможность использования нескольких разных материалов
- построение плана резки выборочно для части исходных данных
- возможность использования технологических производственных ячеек для размещения изготовленных деталей
- установка толщины реза
- указание порядка использования хлыстов
Тестирование производилось на релизе 1.2.62.1 конфигурации "Управление торговым предприятием для Украины".
Привязка решения к конфигурации отсутствует. Требования - наличие справочника "Номенклатура".
Порядок использования:
- Загружаем из существующих документов или заполняем руками таблицу "Детали" - это перечень того, что мы хотим получить в результате раскроя хлыстов. Обязательно указываем длину, количество и профиль каждой детали. Необязательно - код изделия (одинаковые коды обозначают, что детали принадлежат одному изделию и будут помещены в одну ячейку; подробнее об использовании ячеек будет написано ниже).
- Заполняем таблицу "Хлысты" - это перечень исходных заготовок, которые будем кроить. Обязательно указываем длину, количество и профиль всех хлыстов. Кнопка "Заполнить по деталям" автоматически сгенерирует наборы хлыстов стандартной длины, необходимые для раскроя уже внесенных деталей.
- Колонки с птицами в таблицах "Хлысты" и "Детали" предназначены для включения/отключения данных в план раскроя.
- Заполняем технологические данные:
- максимальное количество ячеек (Дело в том, что при изготовлении рамочных конструкций возникает необходимость размещать на складе изготовленные детали наборами, поскольку из одного набора деталей будет собрано одно изделие. Каждый набор помещается в нумерованную складскую ячейку, и сколько этих ячеек будет - следует указать). Необязательно
- количество вариантов раскладки - чем больше вариантов, тем вероятнее лучшая оптимизация, но и более продолжительное время построения плана раскроя
- порядок использования хлыстов - либо сначала короткие, либо в порядке их следования в таблице "Хлысты"
- Жмём кнопку "Выполнить раскрой" - получаем в таблицу "Планы резки" планы кроя раздельно по разным профилям (материалам) и заполнением ячеек. Один план будет содержать такое количество деталей, чтобы они заполнили указанное количество ячеек (например, для 100 ячеек можем получить 2 плана резки: один - 40 деталей профиля А и 60 деталей профиля Б, второй - 90 деталей профиля Б).
- Печатаем планы резки и этикетки для деталей. На плане надписи на деталях обозначают "номер детали -> номер ячейки" (например, "7 -> 4" обозначает что деталь № 7 резчику следует положить в ячейку номер №4).
Внедрение
Обработка работает как внешняя, без необходимости включения в состав конфигурации.
Скорее всего, Вам понадобится добавить самостоятельно функционал автоматического заполнения таблицы "Детали".