Открыть сервис

STL-формат

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

История

Формат STL был разработан компанией 3D Systems в 1987 году для использования в технологии стереолитографии — одном из первых методов 3D-печати. Изначально аббревиатура расшифровывалась как stereolithography, что отражало его прямое назначение. Позднее, с распространением формата на другие технологии, появились альтернативные расшифровки, такие как Standard Tessellation Language (язык стандартной тесселяции) или Standard Triangle Language (язык стандартных треугольников), однако ни одна из них не является официальной.

В 1989 году 3D Systems опубликовала спецификацию формата в открытом доступе, что способствовало его быстрому принятию в индустрии. К середине 1990-х годов STL стал де-факто стандартом для обмена данными между системами САПР и устройствами 3D-печати, вытеснив более сложные и ресурсоёмкие форматы. Несмотря на появление более совершенных форматов (например, OBJ, AMF, 3MF), STL остаётся наиболее распространённым благодаря своей простоте и широкой поддержке.

Структура и типы файлов

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

Существует два основных представления STL-файлов:

  • Текстовый (ASCII) формат. Читаемый человеком, но занимает больше места. Файл начинается со строки solid <имя>, затем следует список треугольников, каждый из которых описывается ключевыми словами facet normal, outer loop, vertex и endloop, и заканчивается строкой endsolid <имя>.
  • Бинарный формат. Более компактный и быстрый для обработки. Начинается с 80-байтового заголовка (обычно не используется), затем следует 4-байтовое целое число без знака, указывающее количество треугольников, после чего идут сами треугольники. Каждый треугольник занимает 50 байт: 12 байт на нормаль (три числа с плавающей точкой), 36 байт на вершины (три вершины по три координаты) и 2 байта (атрибут, обычно не используется).

Бинарный формат является предпочтительным для практического использования из-за меньшего размера файла и более высокой скорости загрузки.

Характеристики и ограничения

STL-формат обладает рядом особенностей, которые определяют как его сильные стороны, так и недостатки.

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

  • Простота. Лёгкость синтаксиса и минимальный набор данных делают формат удобным для реализации в программном обеспечении и аппаратных контроллерах.
  • Широкая поддержка. Практически все программы для 3D-моделирования, слайсеры и устройства 3D-печати могут импортировать и экспортировать STL-файлы.
  • Независимость от производителя. Открытая спецификация и отсутствие патентных ограничений обеспечивают совместимость между различными системами.

Недостатки:

  • Отсутствие информации о цвете, текстуре и материале. Модель описывает только геометрию, что делает STL непригодным для задач, требующих визуализации или физических свойств (например, цвета для многоцветной печати).
  • Аппроксимация поверхностей. Криволинейные поверхности представляются в виде набора плоских треугольников, что приводит к погрешности. Для повышения точности требуется увеличивать количество треугольников, что ведёт к росту размера файла.
  • Избыточность данных. Вершины треугольников могут дублироваться, так как они не связаны в единую топологию. Это увеличивает объём файла и усложняет обработку (например, расчёт объёма или сглаживание).
  • Отсутствие проверки на ошибки. Формат не содержит механизмов для проверки целостности модели. Часто встречаются ошибки, такие как «дыры» (отсутствующие треугольники), перекрывающиеся грани или неправильная ориентация нормалей.

Применение

Основная область применения STL-формата — аддитивные технологии, в частности 3D-печать. Практически все слайсеры (программы, преобразующие 3D-модель в G-код для принтера) принимают на вход STL-файлы. Формат используется для печати как пластиком (FDM/FFF), так и фотополимерными смолами (SLA/DLP), металлическими порошками (SLM/DMLS) и другими материалами.

Помимо 3D-печати, STL применяется в:

  • Быстром прототипировании. Для создания физических прототипов деталей и изделий.
  • Медицине. Для печати моделей органов и костей на основе данных КТ и МРТ, а также для создания хирургических шаблонов.
  • Образовании и хобби. Для обмена моделями в онлайн-репозиториях (например, Thingiverse, MyMiniFactory).
  • Архитектуре и дизайне. Для создания масштабных моделей зданий и интерьеров.
  • Инженерии. Для проверки собираемости и эргономики деталей.

Программное обеспечение для работы с STL

Для обработки, редактирования и исправления ошибок в STL-файлах существует множество программ. К наиболее популярным относятся:

  • Autodesk Netfabb. Профессиональный инструмент для анализа и исправления ошибок в сетках, подготовки к печати.
  • Blender. Бесплатная программа для 3D-моделирования, позволяющая импортировать, редактировать и экспортировать STL-файлы.
  • Meshmixer. Бесплатное приложение от Autodesk для редактирования и ремикширования сеток, в том числе STL.
  • Microsoft 3D Builder. Встроенное в Windows приложение для базового просмотра и редактирования 3D-моделей.
  • Cura, PrusaSlicer, Simplify3D. Слайсеры, которые не только преобразуют STL в G-код, но и часто имеют встроенные инструменты для исправления ошибок.

Сравнение с альтернативными форматами

С развитием технологий 3D-печати и моделирования появились форматы, преодолевающие ограничения STL. Наиболее известные из них:

  • OBJ. Более гибкий текстовый формат, поддерживающий цвета, текстуры и нормали. Однако он сложнее и менее распространён в слайсерах.
  • AMF (Additive Manufacturing File Format). Стандарт ISO/ASTM 52915, разработанный специально для аддитивных технологий. Поддерживает цвета, материалы, градиенты, сложные структуры (например, решётки) и метаданные. Несмотря на преимущества, не получил широкого распространения.
  • 3MF (3D Manufacturing Format). Формат, разработанный консорциумом 3MF (включает Microsoft, HP, Autodesk и др.). Ориентирован на устранение недостатков STL, поддерживает цвета, текстуры, материалы, метаданные и сжатие. Активно внедряется в современные слайсеры и САПР.

Несмотря на существование более совершенных форматов, STL сохраняет доминирующее положение благодаря своей простоте, обратной совместимости и огромной библиотеке существующих моделей.

Интересные факты

  • Первая в мире 3D-печать, выполненная Чаком Халлом на стереолитографической установке в 1984 году, использовала формат, который впоследствии стал STL.
  • Из-за отсутствия информации о единицах измерения в самом файле, STL-модели могут быть напечатаны в неправильном масштабе, если программное обеспечение не укажет единицы (например, миллиметры или дюймы) отдельно.
  • Термин «тесселяция» (от лат. tessella — мозаика) в контексте STL означает разбиение поверхности на треугольники.

Источники

  1. Спецификация формата STL, опубликованная компанией 3D Systems (1989).
  2. ISO/ASTM 52915:2016 — Стандарт для формата AMF.
  3. Спецификация формата 3MF, консорциум 3MF.
  4. Обзор форматов 3D-моделей для аддитивных технологий (журнал «Аддитивные технологии», 2020).
  5. Материалы курса «Основы 3D-печати» (Университет ИТМО, 2022).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →