МД (1194692), страница 13
Текст из файла (страница 13)
Так как существуют модели, которые по своей структуре имеют разноесечение по высоте. При разном сечении и при одинаковой толщине слоя возникают места наибольшей вероятности излома в местах резкого изменения сечения. На данный момент существует множество слайсеров и программ для генерации трехмерного g-код, эти программы позволяют: строить поддержки; рассчитывать расход пластика; генерировать мосты; генерировать заполнение и пр.Однако в этих программах можно указать только основную толщину слоя,которая не меняется в процессе печати всей модели.Из указанного с одной стороны возникает проблемы – больше времени печати тратится на вертикальные участки, что может привести к проблемам в местах резкого изменения формы секущей плоскости.78Возникает потребность в динамическом изменении слоев во время слайсинга.
При написании такой программы-слайсера, следует учитывать предъявляемые требования на основе правил, стандартов и ожиданий инициатора.Постановка требований: программа должна позволять загружать stl файлы; генерировать массив вершин в плоскости требуемого разреза (или наборыразрезов для готовой модели); генерировать траекторию внешнего периметра модели (в т.ч. многоконтурных); позволять совершать простейшие пространственные преобразования надмоделью (перемещение, масштабирование, поворот); анализировать трехмерную структуру модели на предмет схожих сечений; в результате анализа создавать структуру с учетом высоты слоя; позволять экспортировать полученную структуру в формате g-код (длявозможности печати на принтере).2.3 Проблемы заполнения моделиЗаполнение играет очень большую роль в печати 3D модели.
Оно служитдля того чтобы укрепить модель и поддерживать ее слой за слоем. Одной из самых важных настроек в слайсере является «Заполнение». В слайсере уже естьнесколько типов сеток заполнения. Например, «линии», «сетка» и «пчелиныесоты». При печати следует учесть, что некоторые типы заполнения жертвуютплотностью модели в пользу более быстрой печати, например, «линии» [9].Рассмотрим подробнее основные типы заполнения (таблица 4).На заполнениях, таких как Line и Rectilinear, где нити печатаются перпендикулярно друг другу, экструзия на скорости 70 мм/с рвется.
Нить зацепляетсяза нить предыдущего слоя и обрывается, получаются дыры, что может плохосказаться на прочности детали. Поэтому такие типы заполнения на высоких79скоростях лучше либо не использовать, либо снижать скорость печати приблизительно до 40 мм/с. Заполнения Hilbert Curve, Archimedean Chords, OctagramSpiral и Concentric печатаются быстро, но эти типы будут полезны при печатимакетов, где прочностные характеристики не так важны.Таблица 4 – Типы заполнения моделейПример моделиТип заполненияПростая модель.Куб сзаполнениемПластина сосложнымконтуромВремя печати: мин.секМодель сложнойконструкцииВремя печати:час.минHilbert Curve24.279.346.14ArchimedeanChords24.249.356.1Line25.19.416.15Rectilinear25.429.446.25Octagram Spiral24.369.456.15Grid36.309.536.580Продолжение таблицы 4Concentric25.519.546.343d Honeycomb25.389.586.35Cubic27.3310.127.2Stars28.2610.157.1Triangles27.4310.207.3Honeycomb28.4411.117.36Детали с заполнениями Honeycomb, 3d Honeycomb, Cubic, Stars и Trianglesоказались самыми прочными, но плотность заполнений Cubic, Stars и Trianglesвизуально ниже, чем у Honeycomb и 3D Honeycomb, несмотря на одно значение10%.
При необходимости получить более плотную сетку (15-20%), время печати соответственно тоже увеличится. По качеству печати на скорости 70 мм/с, повремени печати и по прочности выигрывает 3d Honeycomb.Также виднеется закономерность, что в фигурах сложных форм заполнениене во всех областях требуется сгущенным.
Возникает ситуация подобная проблеме заданных слоев печати с одинаковой толщиной – слишком разряженноезаполнение сделает модель хрупкой, а слишком сгущенное не во всех областях81необходимо. При возможности изменения сгущения сетки заполнения, в зависимости от формы модели, при печати решаются те же проблемы, которые возникают при введении динамического изменения слоев во время слайсинга.Наибольший интерес в отображении такой сетки заполнения вызывает сеткаВороного (рисунок 35).Рисунок 35 – Сетка ВороногоДиаграмма Вороного – геометрическое разбиение области на многоугольники, обладающие следующим свойством: для любого центра pi системы точекможно указать область пространства, все точки которой ближе к данному центру системы.
Такая область называется многогранником Вороного, или областью Вороного. Строгое определение многоугольника Вороного Ti вводитсяследующим образом: = { ∈ 2 : (, ) < (, )∀ ≠ }(1)Окружность называется пустой, если внутри нее не содержится ни однойточки из множества P. Вершина ячейки Вороного – центр пустой окружности,проходящей через три или более точек из заданного множества. При этом ребром ячейки Вороного служит прямая, проходящая между двумя узлами pi и pj,такая, что центр пустой окружности, проходящей через эти точки, принадлежитпрямой (рисунок 36).82Используя формулу Эйлера для планарного полносвязного графа, можнодоказать, что при виде узлов n≥3 диаграмма Вороного содержит не менее 2n-5вершин и не менее 3n-6 ребер.Важным свойством диаграммы Вороного является ее двойственность к триангуляции Делоне.абРисунок 36 – Диаграмма Вороного: а – двойственность триангуляции Делоне; б – диаграммы ВороногоДля того чтобы получить триангуляцию Делоне, необходимо соединить отрезками все пары точек, многоугольники Вороного которых имеют общее ребро.
Определение естественных соседей для вычисления интерполяций Сибсонаи Лапласа вводится через разбиение Вороного и триангуляцию Делоне: дляячейки Вороного Ti, xi ϵ P натуральные соседи для xi ϵ P есть вершины треугольников Делоне, инцидентных к xi.Для построения диаграммы Вороного существует множество методов. Самый простой и известный – метод пересечения серединных перпендикуляров(полуплоскостей), идея которого заключается в поочередном построении многоугольников, входящих в диаграмму.
Для двух точек pi и pj множество точек,более близких к pi, чем к pj, есть плоскость H (pi, pj), определяемая прямой, перпендикулярной к отрезку ̅̅̅̅̅ и делящая его пополам, и содержащая точку pi.Множество точек, более близких к pi, чем к любой другой точке из множества,получается в результате пересечения n-1 полуплоскостей: () = ⋂≠ ( , ).Временная сложность алгоритма составляет (2 log ).Следующий класс методов основывается на инкрементальном алгоритме,асимптотическая оценка которого составляет (√).
Суть метода состоит в83следующем: строится диаграмма Вороного для некоторого начального числаточек, затем в нее поочередно вставляются оставшиеся из множества точки иперестраивается лишь часть диаграммы.С развитием вычислительной геометрии был разработан более сложный, нопревосходящий оценку ( ∙ log ) алгоритм. Этот алгоритм основан на принципе «разделяй и властвуй» («divide and conqueror»). Множество точек P делится на два приблизительно равных подмножества P1 и P2, а затем с помощью«разделяющей цепи» восстанавливается диаграмма для исходного множества P.Несмотря на всю привлекательность данного метода, он вызывает большиетрудности при численной реализации.В 1987 году Стивен Фортун на основе метода «sweep line» (метод заметающей плоскости) предложил алгоритм для вычисления диаграммы Вороного,временная сложность которого составляет O(n log n).
Данный метод быстрыйпо скорости работы и относительно простой в реализации.2.3.1 Идея метода «sweep line»Группа методов «sweep line» нашла свое применение во многих практических задачах вычислительной геометрии. Все они сводятся к задаче построенияграфа определенного вида. Идея методов «sweep line» заключается в перемещении горизонтальной линии «sweep line» l («линии зачистки») сверху-вниз поплоскости. Во время движения такой линии формируется информация о графе,который необходимо вычислить.
Вид найденного графа меняется при достижении «линией зачистки» специальных точек на плоскости – событий. При построении диаграммы Вороного необходимо сохранять точки пересечения диаграммы с линией «sweep line». Трудность заключается в том, что вычисленнаяна текущий момент часть диаграммы зависит от точек pi ϵ P, которые могутнаходиться как выше, так и ниже прямой l. При достижении «линией зачистки»самой верхней вершины ячейки Вороного невозможно определить, узел pi ϵ P,вокруг которого строится данная ячейка. Для решения указанных проблем С.Фортун предложил модифицированный вариант метода «sweep line» построе84ния диаграммы Вороного на плоскости. Вместо того, чтобы искать диаграммуВороного через пересечение с линией l, строится только та часть диаграммы, накоторую точки, находящиеся ниже l, не оказывают влияния.Пусть задано множество точек на плоскости P={p1, p2, …, pn}.
Для преодоления проблемы взаимного влияния точек, расположенных по разные стороны отпрямой l, необходимо разделить полуплоскость, лежащую над «линией зачистки», на две области. Одна область содержит точки, расположенные над «sweepline», находящиеся ближе к некоторой точке pi ϵ P, чем к самой «sweep line»,другая – точки, распложенные ближе к «sweep line», чем к некоторой точке иззаданного множества P. Множество точек q, равноудаленных от «sweep line» исамой близкой точки pi ϵ P, называется «береговой линией» («beach line»). Поопределению, множество точек, равноудаленных от заданной точки pi ϵ P, лежащей выше горизонтальной линии, и самой линии, образует параболу.