Что такое формат файла STL?
.stl - это универсальный формат файлов для хранения данных о 3D-геометрии, созданный компанией 3D Systems (разработчиком технологии 3D-печати стереолитографией) в 1987 году. Файл .stl хранит данные о 3D-объекте либо в текстовом виде ASCII, либо в бинарной форме.
Простота STL
Файлы .stl используются для хранения и определения 3D-моделей, описанных триангулированными поверхностями. Формат известен своей простотой: каждый объект определяется геометрией его поверхности, без представления текстур, цветов или других стандартных атрибутов CAD, таких как материалы или единицы измерения. Каждая поверхность разбита на треугольные грани (фасеты), каждая из которых описывается тремя вершинами углов и вектором нормали, направленным наружу.
Популярность STL
Изначально .stl поддерживался только системой 3D-печати стереолитографией, которая и дала ему название, но вскоре он приобрел популярность благодаря своей простоте и теперь поддерживается практически всеми современными приложениями для CAD, 3D-моделирования и слайсерами. .stl считается одним из самых простых форматов обмена 3D-данными и используется как профессионалами, так и любителями - он остается доминирующим форматом для настольной 3D-печати FDM и SLA, хотя новые форматы, такие как 3MF, постепенно вытесняют его в более сложных рабочих процессах.
Две версии STL
Формат .stl доступен в двух версиях - бинарной и текстовой ASCII. Версия ASCII определяет 3D-объекты с помощью текстовых ключевых слов (solid, facet normal, vertex, endloop, endfacet, endsolid) в структурированном цикле для каждого треугольника. Бинарная версия использует другую, более компактную структуру: 80-байтовый заголовок, за которым следует 4-байтовое количество треугольников и по 50 байт на каждый треугольник. Бинарный вариант гораздо популярнее, так как бинарные файлы .stl имеют гораздо меньший размер - часто в 5-6 раз меньше, чем эквивалентный файл ASCII.
Безопасность и защита
РИСК: LOWФайлы STL представляют собой пассивные геометрические данные и не содержат исполняемого кода, поэтому их открытие сопряжено с низким риском. Реальные предостережения носят практический, а не технический характер: STL не хранит единицы измерения, поэтому модель может импортироваться в неправильном масштабе (проверьте мм против дюймов), а сетки часто бывают негерметичными или имеют перевернутые нормали, что вызывает ошибки нарезки - исправляйте их в MeshLab/Blender/Meshmixer. При загрузке STL для печати придерживайтесь проверенных сайтов с моделями и избегайте страниц с «бесплатными STL», которые упаковывают загрузки в установщики с рекламным ПО.
Детали формата
в двух словахПрограммы, открывающие файлы STL
Технические подробности
глубокая спецификация| Тип формата | Треугольная сетка - только геометрия триангулированной поверхности (без волюметрических данных или NURBS) |
| Варианты кодирования | Две официальные кодировки: текстовая ASCII и бинарная; обе представляют одну и ту же геометрию |
| Геометрический примитив | Треугольная грань (фасет): три вершины (X, Y, Z в виде 32-битных чисел с плавающей запятой) плюс один внешний вектор нормали |
| Поддержка текстур и цвета | Отсутствует - только геометрия; цвета, текстуры, материалы или информация о слоях не сохраняются |
| Система координат | Правосторонняя декартова (X, Y, Z) с 32-битными значениями с плавающей запятой IEEE 754 одинарной точности |
| Единицы измерения | Не кодируются в формате; за интерпретацию масштаба отвечает импортирующее приложение |
| Ключевые слова структуры ASCII | `solid`, `facet normal`, `outer loop`, `vertex`, `endloop`, `endfacet`, `endsolid` |
| Бинарный заголовок | 80-байтовый заголовок со свободным текстом (без фиксированной сигнатуры), за которым следует 4-байтовое целое число uint32 (little-endian) - количество треугольников |
| Размер бинарной записи | 50 байт на треугольник: 12 байт (нормаль) + 36 байт (3 × вершина XYZ) + 2-байтовый счетчик атрибутов |
| Идентификация файла | Файлы ASCII начинаются с `solid` со смещением 0; бинарные файлы не имеют фиксированной сигнатуры - инструменты используют эвристику для их различения |
| MIME-тип | `model/stl` (также исторически `application/sla` и `application/vnd.ms-pki.stl`) |
| Соотношение размеров файлов | Бинарная кодировка обычно в 5-6 раз меньше, чем ASCII для тех же данных сетки |
| Порядок обхода вершин | Против часовой стрелки при взгляде снаружи поверхности (правило правой руки определяет внешнюю нормаль) |
| Требование к целостности сетки | Слайсеры для 3D-печати требуют «герметичных» (замкнутых, многообразных) сеток; сам формат это не контролирует |
| Поддержка нескольких материалов | Нативно отсутствует; каждый файл `.stl` кодирует одну однородную поверхность без назначения материалов или цветов |
| Основной сценарий использования | 3D-печать (FDM, SLA, SLS) и быстрое прототипирование; широко используется для обмена CAD-геометрией между приложениями |
| Выпущен | 1987 (created by 3D Systems for stereolithography 3D printing) |
| Открыть стандартное | Да · без роялти |
| Спецификация | en.wikipedia.org |
Конвертации STL
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах STL.