В этом диалоге выбирают варианты оптимизации раскладки деталей для раскроя.
Значения настроек следующее:
Метод оптимизации
Список Метод оптимизации — позволяет выбрать один из методов оптимизации:
- Экономичный — обеспечивает минимальный расход материала. Помимо минимального количества расходуемых листов обеспечивает максимально возможный цельный остаток на одном из листов.
- Оптимальный — при таком же количестве листов расходуемого материала, что и в экономичном варианте, пытается подобрать вариант раскладки с меньшим количеством карт для лучшей технологичности процесса раскроя.
- Технологичный — обеспечивает минимально возможное с точки зрения алгоритма количество карт раскроя. Иногда за счёт дополнительного расхода материала.
- Длинные резы — обеспечивает минимальное количество резов при раскрое, пытаясь распилить листы длинными резами. Иногда за счёт дополнительного расхода материала.
Флаг Полосовой раскрой — включает
режим, при котором резы оптимизируются под распил полосами, уменьшая число
поворотов листов при распиле.
Направление первого реза
Выпадающий список Направление первого реза — направление первого реза относительно длинной (именно длинной, а не по текстуре) стороны листа. Позволяет выбрать один из вариантов:
- Авто — направление реза выбирает программа.
- Горизонтальный — первый рез всегда идет в горизонтальном направлении.
- Вертикальный — первый рез всегда идет в вертикальном направлении.
Раскладка полос
Список Раскладка полос — задаёт способ группировки полос раскраиваемой карты. Позволяет выбрать один из вариантов:
- Без сортировки — порядок полос не меняется.
- Сначала узкие — полосы располагаются по увеличению ширины.
- Сначала широкие — полосы располагаются по уменьшению ширины.
- Узкие в центре — располагаются таким образом, чтобы узкие полосы (и, соответственно, детали) выпиливались из середины листа. Например, для компенсации внутренних напряжений в листе.
Глубина перебора
Глубина перебора — задаёт алгоритму раскладки деталей на листе
максимальное количество возможных вариантов перебора.
Минимальное значение установлено в 1. Максимальное значение ползунка
задано в 7. Значение по умолчанию равно 5.
Увеличение значения позунка на единицу увеличивает количество вариантов вдвое.
Совет. Будьте осторожны с изменением этого значения -
его чрезмерное на большом количестве разных деталей может привести к слишком долгой работе алгоритма.
Ограничение числа поворотов
Группа Ограничить повороты — задаёт способ раскладки деталей на листе таким образом, чтобы количество поворотов листа при раскрое не превышало указанное значение.
- Флаг Ограничить повороты включает либо выключает режим раскладки с учётом количества поворотов.
- Поле Максимум задаёт максимальное количество поворотов.
Ограничение количества поворотов даёт более технологичные карты. Но может привести к повышению расхода материала.
Карта без ограничения поворотов
 |
Карта с ограничением в 2 поворота
 |
Деталь №5 при этом пришлось вынести на отдельную полосу, т.к. не нашлось свободной полосы такого размера.
Карта с ограничением в 1 поворот
 |
Все детали в этом режиме располагаются на отдельных полосах.
Пакетный раскрой
Группа Пакетный раскрой — задаёт способ раскладки деталей на листе таким образом, чтобы количество поворотов листа при раскрое не превышало указанное значение.
- Поле Листов в пакете задаёт количество листов, начиная с которого будут пытаться создать пакет.
- Флаг Только пакеты включает либо выключает режим раскладки оставшихся (не попавших в пакеты) деталей.
- Поле Приемлемое заполнение задаёт
процент заполнения карты деталями, при котором раскладка пакета считается приемлемой.
Увеличение процента заполнения в удачном случае даёт большую экономию
материала. Но может привести к тому, что пакеты так и не будут созданы - ну
не смогли... Помимо этого - увеличивается время на подбор вариантов,
программа работает дольше.
Допустим, у нас стоит в поле «Листов в пакете» значение 100. Пакет создаётся так:
- Начальное значение параметра «Листов в пакете» берут из диалога. В
нашем случае - 100.
- Алгоритм перебирает все нераскроенные детали и запоминает, сколько
их может участвовать в создании пакета. На первом проходе - берут
целую часть от деления на 100. Было 528 нераскроенных
деталей - запоминаем (528 / 100) = 5, следующая - (489 / 100) = 4,
следующая - (64 / 100) = 0 и т.д.
- Перебрав все детали, пытается запомненное количество (целую часть от
деления на 100) деталей разместить на листе. Если в результате раскладки
площадь заполнения листа не хуже (лучше - ну и
замечательно!) параметра «Приемлемое заполнение» - карта раскроя принимается.
Детали, разложенные на ней, удаляются из текущего набора.
- Если после раскладки на первый лист в наборе остались детали -
пытаемся заполнить второй, третий и т.д. листы.
- В какой-то момент нам не удаётся заполнить очередной
лист с приемлемым коэффициентом (в принципе - может, и первый не удалось заполнить!).
Если есть принятые к "пакетированию" карты раскроя - создаём их копии.
Количество копий соответствует текущему значению листов в создаваемом
пакете. В нашем случае - (100 - 1) = 99. Соответственно, уменьшая
реальное количество нераскроенных деталей.
- Дальше - уменьшаем текущее значение листов в создаваемом пакете. На
следующем шаге цикла оно будет равно 99. Повторяем так все операции раз
за разом, уменьшая количество листов. Минимальное значение - 2 листа в
пакете (меньше - это уже не пакет...).
В принципе у нас может получиться количество листов в пакете даже больше,
чем мы задавали. Т.е. сделали пакет на 100 листов, а потом - неважно, каким
способом, получилось ещё 2 точно таких же листа.
По окончании раскладки всех деталей перебирают карты раскроя и объединяют
одинаковые. Т.е. к 100 добавят ещё 2, получившиеся в другой раз.