понедельник, 26 августа 2019 г.

Изменения в работе с петлями

При построении основного контура детали (линии шва) или прибавки на шов очень часто возникают петли. Такие ситуации нужно уметь обрабатывать. По мере улучшения алгоритма нами было обнаружено все больше таких случаев. Этот аспект работы программы является очень важным, поскольку без знания того как это работает не удастся построить правильную форму.

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

Классическим примером петли является цифра 8 или знак бесконечности . В данном случае наш контур имеет два подконтура которые образуют петли. И самым главным вопросом здесь является то какую из двух петель нам нужно вырезать? На этот счет мы ввели правило "Главного контура". 

Песочные часы
Это правило гласит: Главным контуром будет считаться тот контур с которого мы начинаем. То есть в зависимости от того, какую мы точку выберем первой при построении контура детали, будет зависеть какую часть контура будет откинуто как петлю.
В этом случае отброшенной была верхняя часть. Поскольку контур начинается с точки А4.

Особое внимание нужно пределить точкам А и А1. Начинать контур с них не будет самой лучшей идеей поскольку они лежат в точке пересечения.
Еще одной проблемой является деталь "Песочные часы". Особенностью таких деталей является наличие "узкого места", которое программа распознает как петлю. Ведь петлей распознается не только пересечение, но и касание. В нашем случае четыре отрезка сходятся в одной точке. Здесь я намерено не буду касаться разбора всех вариантов взаимного расположения отрезков. Рассмотрим только самые важные моменты.

Саму форму детали можно строить двумя способами: обе петли идут по часовой стрелке; одна петля по часовой, а вторая против часовой. Где первый вариант приемлемый и вырезать петлю не надо, а второй - петлю вырезать нужно однозначно. Для внутренней петли все будет наоборот. "Хорошая" петля будет идти против часовой стрелки.

Сначала мы попытались это учесть и научить программу определять направление петли. Но обнаружились новые примеры, которые вынудили нас отказаться от этой идеи. Теперь все пересечения и касания считаются петлями и будут вырезаться по правилу "Главного контура".

Как же теперь создать "Песочные часы"? Да, действительно, если у вас есть только одна центральная точка, то создать их не получится. Поэтому в качестве решения мы рекомендуем вам создавать две точки.





Как видно на примере мы создали перемычку АА1. И таким образом обошли новое ограничение. Если вам может показаться, что это решение будет не точным, стоит заметить, что длина АА1 0.015 см. А пример который вы наблюдаете сделан с максимальным разрешением. На практике это будет означать, что точки практически сливаются в одну.

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

Как видите, нам удалось успешно построить, задуманную нами форму.

Это изменение носит регрессионный характер. Если в своих деталях вы полагались на старое поведение вам придется переделать ваши детали.

Комментариев нет:

Отправить комментарий