среда, 3 апреля 2019 г.

Раскладка по времени

Практика использования раскладки показывает, что людям очень сложно эффективно ее использовать. Поэтому настало время это изменить.

Самыми сложными для понимания и, к сожалению, самыми важными для правильной работы раскладки были настройки смещения и поворота деталей. Очень часто встречались случаи установки этих значений неправильным образом, что увеличивало время поиска раскладки, но не приносило видимого результата. По этому для многих эта часть программы не смогла в полной мере открыть свой потенциал.



В качестве решения этой проблемы я предлагаю вместо двух старых настроек: смещения и поворота, две новые: время и эффективность. Чем такой подход лучше? Он позволит перекласть ответственность за выбор оптимальных настроек на плечи программы. Все что вам нужно так это указать как много времени вы даете программе на то, что бы найти самое оптимальное решение. Минимальное время 1 минута.

Алгоритм настроен таким образом, что он сначала попытается найти самое быстрое решение, и если время еще не исчерпалось, перейдет к более сложным конфигурациям. При этом делается это за счет уменьшения в двое стартового значения смещения. Которое рассчитывается по длине наибольшего ребра из всех деталей. Функция поворота детали используется только в крайнем случаи, когда из за сложной формы детали, ее не удается уложить обычными методами.

Второй параметр отвечает за эффективность раскладки. Она рассчитывается как отношение суммы площадей все деталей на листе к площе описанного прямоугольника. Другими словами, чем меньше пустого места осталось тем лучше. Например, полностью заполненная площадь будет иметь 100% эффективность. Недостижимое значение в большинстве случаев. Эта опция прекрасно дополняет первую. Установив значение отличное от нуля, вы указываете программе значение, при достижении которого, можно прекратить поиск решений. Это позволит не тратить время зря, дожидаясь окончания отведенного времени. Установив значение в 0 %, вы отключите данную функцию.



Выше показан пример первого результата с эффективностью 56,7 %. Выждав еще немного, программа сумела нам предложить немного улучшенный результат с эффективностью 58,2 %.


Таким образом, такой подход избавляет вас от необходимости понимания тонкостей работы алгоритма, а так же ручного подбора оптимального варианта. Слабым местом остается стратегия подбора оптимальных параметров. К сожалению, понять насколько удачна та или иная конфигурация можно будет только после получения реальных данных. 

Все же, я предполагаю, многим ожидание даже несколько минут покажется излишним. В таком случаи для полноты картины, возможно, потребуется добавления возможности создания ручной раскладки.


3 комментария:

  1. Здравствуйте! Роман,программа замечательная. Низкий Вам поклон за её создание. Только одно омрачает удовольствие от использования программы- раскладка. Это действие, по-моему, занимает больше времени, чем создание чертежа)). В промышленном масштабе, возможно, автоматическая раскладка хороша, но для использования дома - это мучение. Две детали раскладываются так, что между ними полметра, а противоположные края в раскладку не влезают и т.д. Пожелание - сделайте ручную раскладку, пожалуйста)) Спасибо!

    ОтветитьУдалить
  2. Здравствуйте, не могу в последней версии найти как сохранить в пдф, для печати на принтере. Где это находится?Есть только сразу печать или сохранение в пдф в ненужном мне размере, который используется при раскладке.

    ОтветитьУдалить
  3. Самый последний формат, находится в самом низу из всех предложеных.

    ОтветитьУдалить