Рис. 11. Сечение пресс-формы микролинзы.
В предыдущем случае рассматривали ситуацию, где сечение состоит только из внешних контуров. Здесь у нас есть один внешний контур, который совпадает с границей рабочей зоны. Для такого контура мы не построим ни одной эквидистанты, так как они все находятся вне рабочей зоны. А для внутреннего контура эквидистанты будут находиться внутри рабочей зоны. Результат первого этапа для рассматриваемого слоя показан на рисунке 12.

Рис. 12. Эквидистанты для внутреннего контура.
Упорядочив полученные эквидистанты от ближайшей к контуру к более отдаленной мы получим траекторию обработки данного внутреннего контура, что и будет являться результатом второго этапа.
Перейдем к более сложному случаю, когда сечение исходной модели имеет как внешние, так и внутренние контура. На первом этапе также строятся эквидистанты для всех контуров. А второй этап разбивается на 2 части: построение траекторий для внешних контуров и для внутренних. Итоговые траектории получаются так, что сначала обрабатываются внешние контура, а затем внутренние.
Глава 3. Реализация алгоритма
В настоящей главе будут рассмотрены аспекты технической реализации предложенного алгоритма контурного подхода построения траекторий. Этап разделения исходной 3D модели на слои уже реализован в программном решении MarkCAM. Результатом этого этапа является набор слоев, где каждый слой представляет из себя упорядоченный набор контуров (сечений исходной модели этим слоем). Каждый контур слоя однозначно определяется порядковым номером. Также считается известными: размер рабочей зоны, радиус пятна, и перекрытие световых пятен. Далее в этой главе описывается реализация построения траекторий для одного слоя.
Построение эквидистант для одного слоя
Любую эквидистанту к контуру можно однозначно задать двумя параметрами: вид контура (внешний или внутренний) и расстояние до контура. Первая эквидистанта к контуру строится на расстоянии радиуса светового пятна (r), далее расстояние между эквидистантами определяется по формуле ![]()
(Рис. 13).

Рис. 13. Расчет расстояния до эквидистант.
Таким образом расстояния до n-ого контура (![]()
) вычисляется по следующей формуле:
![]()
,
где PO (Pulse Overlap) – перекрытие между световыми пятнами, которое задается в процентах; n – целое положительное число, определяющее порядковый номер эквидистанты; r – радиус пятна.
Для определения типа контура берется произвольная точка этого контура и смотрится, лежит ли она внутри другого.
Определение принадлежности точки контуру (лежит ли она внутри контура) выполняется методом трассировки луча. Суть метода состоит в том, что из данной точки строится луч в произвольном направлении и подсчитывается количество пересечений этого луча с контурами. Если количество переселений четное, то точка не принадлежит ни одному из контуров, если нечетное, то она находится внутри какого-либо контура.
Теперь нам точно известно какие именно эквидистанты нужно построить для каждого из контуров. Далее описывается способ хранения эквидистант и способ их построения.
Для хранения точек эквидистант реализован контейнер, который по номеру контура и порядковому номеру эквидистанты сохраняет точку. И также по номеру контура и порядковому номеру эквидистанты выдает множество точек принадлежащих данной эквидистанте.
Построение эквидистант реализуется следующим образом. Для слоя строится двухмерная сетка по XY с шагом задаваемым оператором (минимальный шаг ![]()
. Шаг определяет точность вычисления эквидистант. После этого, для каждого узла сетки определяется принадлежит ли данная точка какому-либо из контуров. На рисунке 14 показаны три возможных случая:

Рис. 14.
Результатом прохода по сетке является заполненный контейнер. На этом этапе любая эквидистанта, хранящаяся в контейнере, представляет из себя неупорядоченный набор точек.
Реализация построения траекторий
Реализация данного этапа подробно описана в предыдущей главе. Далее будет рассмотрено только реализованные части алгоритма, а именно: как из набора точек получается выпуклый замкнутый контур и как происходит переход с одного витка траектории на другой.
Задача построения выпуклого контура для набора точкек решается построением выпуклой оболочки. Выпуклой оболочкой для множества точек на плоскости называется наименьшее выпуклое множество, которое содержит все эти точки (Рис. 15).

Рис. 15. Внешняя оболочка.
Приведем алгоритмы построения выпуклой оболочки:
Алгоритм обхода Джарвиса [18]. Алгоритм обхода Грэхема [19]. Алгоритм монотонных цепочек Эндрю [20]. Алгоритм типа «Разделяй и властвуй» [21]. Алгоритм «быстрого построения» [22-23]. Алгоритм Чена [24].Для реализации этой задачи была реализована модификация алгоритма Грэхема, а именно только его первая часть. Это связанно с тем, что мы изначально знаем, что все точки множества принадлежат границе выпуклого многоугольника.
На первом этапе алгоритма находится начальная точка, гарантированно принадлежащая выпуклой оболочке. Выбирается самая левая точка. Далее все остальные точки сортируются по возрастанию полярного угла, который образован осью Y, начальной и текущей точкой (Рис. 16).

Рис. 16. Сортировка по полярному углу. (б – полярный угол)
Так как мы изначально знаем, что все точки являются вершинами выпуклого многоугольника, то отсортировав их по полярному углу мы получаем выпуклый замкнутый контур, содержащий все точки.
Таким образом, изначально мы имеем множество точек принадлежащих определенной эквидистанте и хоронящихся в контейнере. В результате построения внешней оболочки, эти точки сортируются по полярному углу, и уже хоронятся в контейнере, как выпуклый замкнутый контур. Построение внешней оболочки для одной эквидистанты происходит только один раз. Также, данная операция выполняется только для тех эквидистант, которые используются в процессе построения траектории.
Покажем, как происходит построение траекторий для одного слоя, который содержит только один контур. На рисунке 17 изображены часть конура и некоторые точки, принадлежащие первой и второй эквидистанте этого контура (точки уже отсортированы по полярному углу). Так как начальная точка выбирается как самая левая, то последняя точка первой эквидистанты находится очень близко к начальной точке второй эквидистанты. Таким образом, итоговые траектории получаются последовательной записью эквидистант. При переходе с одного витка траектории на другой подача лазерного излучения выключается.

Рис. 17. Построение траекторий.
Глава 4. Тестирование
В данной главе представлены результаты тестирования реализованных частей разработанного алгоритма. А именно: построение эквидистант и построение итоговых траекторий для выпуклых контуров. Также показаны результаты тестирования контурных траекторий при формировании массива микролинз и проведено сравнение данного способа построения траекторий с контурным.
Тестирование построения эквидистант
Тестирование построения эквидистант проводилось на конурах различной формы не имеющих самопересечений. В качестве выпуклого контура была взята окружность с радиусом 50 мкм при размере рабочей зоны 200x200 мкм. При расчете радиус пятна составлял 10 мкм, а перекрытие 80%. На рисунке 18 показан результат работы данной части алгоритма. Точность вычисления эквидистант составляла ![]()
.

Рис. 18. Эквидистанты выпуклого контура.
На рисунке 18 видно, как при построении траекторий был выполнен отступ от границы рабочей зоны и контуры на расстояние радиуса пятна. Расстояние между эквидистантами составляет 4мкм.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 |


