Входные геометрические данные

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

Как правило, формат, в котором хранится геометрическая модель трехмерного объекта, зависит от используемой системы твердотельного или поверхностного моделирования. Поэтому в SLA и других машинах для быстрого прототипирования предусмотрен прием данных в одном фиксированном формате — STL. Формат файлов STL (расширение .stl), разработанный Albert Consulting Group, был введен в обращение фирмой 3D Systems в 1987 году.

В STL-файле объект представлен в виде сети из соединенных между собой треугольников. Представленный таким образом объект называется мозаичным объектом (tessellated object) или фасетным объектом (faceted object). На рис. 12.27, а показана твердотельная модель, а на рис. 12.27 (б) — мозаичная модель панели для мобильного телефона из главы 1.

 
 

Входные геометрические данные

 
 

В STL-файле вершины каждого треугольника перечислены в порядке, который указывает, какая из сторон треугольника «содержит» материал. Вектор нормали указывает наружу (рис. 12.28). STL-файл в ASCII-формате представлен в листинге 12.1, а STL-файл в бинарном формате — в табл. 12.4. Обратите внимание, что текстовая и бинарная версия STL-файла не полностью совместимы. Бинарная версия содержит дополнительную информацию об атрибутах, которая в настоящее время не используется. Формат ASCII предназначен для целей отладки и тестирования. Преимущества и недостатки формата STL могут быть охарактеризованы следующим образом.

Входные геометрические данные
 
 

Входные геометрические данные

Входные геометрические данные
 
 

Преимущества

  • Простота преобразования. Структура STL-файла очень проста, поскольку он содержит только список плоских треугольников. Трехмерную модель можно преобразовать в формат STL с помощью стандартных алгоритмов плоской триангуляции. Точностью выходных данных можно легко управлять, и возникающие вырождения минимальны.
  • Широкий диапазон входных данных. Любая форма трехмерной геометрии может быть преобразована в триангулированную модель ввиду широкой применимости имеющихся алгоритмов поверхностной триангуляции.
  • Простой алгоритм расщепления. Алгоритм расщепления STL-модели прост; он включает лишь обработку набора треугольников1.
  • Разбиение STL-моделей. Если рабочее пространство машины для быстрого прототипирования мало по сравнению с размером модели, STL-файл модели необходимо разбить на несколько частей, которые смогут уместиться в этом пространстве. С STL-файлом эту операцию выполнить легко. Однако разбитые STL-файл должны проверяться на корректность индивидуально.

Недостатки

  • Многословность и избыточность данных. Хранящиеся в файле данные о нормалях ячеек являются избыточными, поскольку эти данные можно получить из списка вершин ячеек путем их обхода в определенном порядке. Кроме того, координаты одних и тех же вершин фигурируют в файле неоднократно, поскольку каждая вершина принадлежит более чем одной ячейке.
  • Ошибки, обусловленные аппроксимацией. Основная проблема STL заключается в его относительно неудачном способе представления кривых поверхностей, которые можно аппроксимировать лишь треугольными ячейками.
  • Ошибки округления. Ошибки округления в STL, возникающие при арифметических операциях с плавающей точкой, являются значительными из-за отсутствия топологической информации о модели.
 

Входные геометрические данные

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

Недостатки STL-файлов — это проблемы, характерные для формата STL как такового. Более того, ошибки могут возникать на этапе обработки и преобразования трехмерной модели в формат STL. Даже если исходная трехмерная модель не имеет дефектов, результирующая STL-модель может содержать ошибки, зависящие от эффективности, надежности и точности алгоритма преобразования. Например, треугольники могут не полностью покрывать граничные поверхности исходного объекта. В этой ситуации поперечное сечение, которое будет получено на следующем шаге, будет иметь открытую границу, что даст неверную форму прототипа (рис. 12.29). На рис. 12.29, а ошибка в фасетной аппроксимации боковой поверхности цилиндрического контейнера привела к возникновению зазора, на который указывает треугольник. В результате было получено неправильное поперечное сечение (рис. 12.29, б). Поэтому программа-транслятор, преобразующая геометрическую модель в STL-файл, должна быть написана так, чтобы не нарушать ни одно из описанных выше требований.

Входные геометрические данные
 
Можно задать определенные параметры, с помощью которых мы могли бы контролировать общее число треугольников в фасетной аппроксимации при использовании транслятора. Иначе говоря, при создании STL-файла из трехмерной модели мы можем контролировать величину отклонения фактической поверхности модели от аппроксимирующих ее треугольных ячеек по нормали (рис. 12.30).
 
Входные геометрические данные

 

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

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

 

1 Расщепление необходимо для того, чтобы предоставить машине для быстрого прототипирования информацию о поперечных сечениях.

Смотрите также