Язык тесселяции: формат данных программной обработки стереолитографии

Язык тесселяции: формат данных программной обработки стереолитографии

Традиционно аддитивный процесс послойного производства изделий сопровождается преобразованием трёхмерных моделей к формату STereo-Lithography (.STL). В принципе, имеется в виду язык тесселяции (компьютерной графики), на основе которого модель аппроксимируется треугольниками, разрезается и затем изготавливается машиной. Процедура тесселяции удачно вписалась в область обрабатывающей промышленности, где используется скоростное прототипирование для оценки дизайна и эстетики продукта путём создания реальных прототипов конструкции.

Что такое язык теселяции для прототипирования?

STL (STereoLithography) — формат файла программного обеспечения под стереолитографию САПР для создания 3D объектов. Файл «*.STL» также именуется стандартным языком тесселяции (компьютерной графики). Формат поддерживается многими похожими программными продуктами, применяется в системе скоростного прототипирования и автоматизации производства.

Системными файлами тесселяции характеризуется только поверхностная геометрия 3D объекта без учёта:

  • цветовой схемы,
  • текстурных характеристик,
  • прочих атрибутов модели САПР.

Используются как ASCII, так и двоичные формы. Но файлы бинарного построения языка тесселяции более применимы, благодаря компактности. Файлом языка тесселяции характеризуется необработанная неструктурированная триангулированная поверхность. Делается это посредством единичной нормали и вершин треугольников на основе 3D декартовой системы координат.

Исторические моменты использования

Стереолитографические машины представлены, в основном, 3D-принтерами, создающими любую объёмную форму в виде серии срезов. Машинам требуются серии замкнутых 2D контуров, заполненных затвердевшим материалом в результате сплава. Файл языка тесселяции под такой род машин — это серия замкнутых многоугольников с различными значениями Z.

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

Язык тесселяции и сегментация трёхмерной фигуры
Сегментированное трёхмерное изделие с плоскими треугольниками и без таковых. Такое компьютерное графическое представление используется файлами формата «*.STL»

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

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

Использование языка тесселяции в других областях

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

Так как выходной файл языка тесселяции почти всегда доступен из системы CAD, этот файл часто используется в качестве быстрого метода для импорта необходимой триангулированной геометрии в систему CAM. Также не исключается применение в обмене данными среди систем CAD / CAM и вычислительных сред, подобных «Mathematica».

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

Многие интегрированные системы CAD и CAM передают геометрические данные через формат файла языка тесселяции, потому что гарантируется отсутствие ошибок. Однако существует масса других форматов файлов, способных кодировать треугольники, например:

  • VRML,
  • DXF,

но все имеют недостаток возможного подмешивания вещей, отличных от треугольников. Отсюда создаётся что-то неоднозначное или непригодное для использования.

Твёрдая модель быстрого прототипирования

Быстрое прототипирование (Solid Freeform Fabrication) или послойное производство (Layered Manufacturing) автоматически генерирует физические объекты слой за слоем непосредственно из трёхмерных данных САПР. Обработка геометрической информации для прототипирования состоит из двух основных этапов:

  1. Разбиение геометрического описания детали на слои для генерации контуров детали для каждого слоя.
  2. Генерации путей сканирования в каждом слое способом, зависящим от конкретного процесса прототипирования.

Современной практикой прототипирования модель трёхмерного САПР обычно триангулируется в промежуточную форму (файл языка тесселяции), которая затем нарезается равномерными по толщине слоями. Каждый срез становится входом алгоритмов генерации путей осаждения / затвердевания материала. В этот процесс вносят вклад две важные проблемы точности:

  1. Тесселяция.
  2. Эффект лестницы.

Тесселяция (компьютерная графика)

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

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

Поэтому необходимо воссоздать топологию модели САПР программным обеспечением для «проверки и ремонта». Такое приложение требует вмешательства человека и несколько замедляет время производственного цикла.

Пользователь должен ввести приемлемый допуск по хорде — расстояние между плоскостью треугольника и поверхностью. Увеличение количества треугольников сглаживает поверхность, но одновременно приводит к большим объёмам файловых данных.

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

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

Эффект лестницы

После процедуры тесселяции модель обычно нарезают на стопку слоёв с плоскостью, параллельной горизонтальной плоскости. Граница прототипа-части является ступенчатым приближением границы исходной модели CAD.

Каждый физический слой генерируется, когда лазерная (формующая) головка сканирует плоский профиль на внутренней стороне двумерного среза. В результате все детали прототипирования демонстрируют эффект вертикальной лестницы.

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

MiniMagics – свободно распространяемый визуализатор файлов «*.STL»

Существует программное обеспечение «MiniMagics», при помощи которого открываются возможности:

  • импорта, сохранения файлов языка тесселяции (*.STL);
  • сжатия файлов языка тесселяции (*.STL);
  • просмотра деталей вращением, панорамированием или масштабированием;
  • сканирования дефектных кромок, развёрнутых треугольников;
  • создания разделов;
  • запроса информации на деталь (измерений XYZ, объёма, площади, числа дефектных кромок);
  • измерения отдельных частей;
  • добавления текстовых аннотаций;
  • создания распечатки деталей;
  • просмотра информации файла «*.magics» (рисунки, аннотации и т. д.);
  • расширенных измерений (точки, круги, плоскости);
  • расширенной визуализации;
  • простых опций установки без вывода сообщений на сервер.

Ограничительная рамка (прямоугольник детали)

Ограничительный прямоугольник детали — это прямоугольник, определяемый минимальными и максимальными координатами X, Y, Z детали. Эти минимальные и максимальные координаты можно найти в инструментальной таблице информации о детали. Ограничительная рамка допускает визуализацию через «Меню / Вид / Размеры детали» или на панели инструментов «Вид».

Язык тесселяции для программного обеспечения MiniMagics
Таким выглядит рабочий экран приложения, которым обеспечивается визуализация системных файлов языка тесселяции формата «*. STL», используемых стереолитографией

Стандартное представление поверхности, используемое в промышленных системах CAD, представляет собой обрезанные неоднородные рациональные поверхности «B-Spline (NURBS)». Основным преимуществом этого представления является возможность компактного описания поверхности практически любой формы.

Недавним введением «T-Splines» расширили это представление поверхности еще более иерархическими концепциями, сделав более привлекательным для целей проектирования.

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

Передача данных от системы CAD в систему прототипирования

Скоростное прототипирование — технология, преобразующая дизайн, созданный в системе автоматизированного проектирования (CAD) для деталей 3D-модели. Модели САПР обычно делаются в системе САПР, а затем переносятся в систему прототипирования. Удобный интерфейс между CAD и системой прототипирования видится одним из ключевых факторов создания прототипа хорошего качества.

САПР — создание и оптимизация инженерного проектирования с использованием компьютера в качестве инструмента повышения производительности. «Computer Aided Manufacturing (CAM)» — использование компьютера для управления деятельностью на производственном участке. Интеграция между CAD и CAM необходима для повышения производительности в производственной среде, а также для обеспечения качества продукции, произведённой в сжатые сроки, с малыми затратами.

Система быстрого прототипирования является одним из примеров технологии, выигрывающей от интеграции CAD и CAM. Прототипирование определяется как термин, используемый для описания ряда методов. Эти методы дают быстрое производство твёрдых физических моделей компонентов и продуктов с использованием трёхмерных компьютерных данных группой относительно новых производственных технологий.

По сути, прототипирование импортирует данные или модель из системы CAD и использует для создания физического прототипа модели. Этот прототип модели полезен для реализации концептуализации дизайна. Прототипирование может создать реальную трёхмерную физическую модель, которую доступно физически проверить или оценить. Модель также может быть использована для быстрого изготовления пресс-форм и штампов, что сокращает время и стоимость внедрения новых продуктов.

Однако в некоторой степени качество изготовленного прототипа зависит от качества интерфейса между CAD и системой прототипирования. Любые данные, потерянные или искажённые во время взаимодействия между системами, влияют на качество созданного прототипа.

Основная функция интерфейса — обрабатывать и передавать данные данной детали из систем CAD в системы прототипирования. Данные из системы CAD используются системой прототипирования для создания модели или прототипа детали, компонента или продукта.

Подходящие форматы файла

Между тем система не может напрямую использовать данные из системы CAD. Данные необходимо преобразовать в подходящий формат файла, который удобно читать и понимать системе прототипирования. Ниже отмечены некоторые форматы файлов, которые допустимо использовать системой:

  • HPGL (графический язык Hewlett-Packard),
  • STL (язык тесселяции стереолитографии),
  • IGES (международный стандарт обмена графическими данными),
  • STEP (стандарт обмена продуктами),
  • CLI (интерфейс общего уровня).

При помощи информации: Valahia