3D-модель STL (.stl)
Спецификация СтандартStandard Triangle Language (STL, также известный как стереолитография) - это универсальный и незаменимый формат индустрии 3D-печати и быстрого прототипирования, описывающий поверхностную геометрию твердотельных 3D-объектов с помощью сырых треугольных фасетов.
Конвертировать из OBJ в STL
Бесплатный конвертер из OBJ в STL прямо в браузере. Конвертируйте файлы мгновенно на вашем устройстве.
Анализ и метаданные
Операционные системы и анализаторы файлов идентифицируют файлы STL по начальной двоичной последовательности байтов:
Сигнатура заголовка на уровне байтов (Magic Bytes)
Операционные системы и анализаторы файлов идентифицируют файлы STL по начальной двоичной последовательности байтов:
HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):
73 6F 6C 69 64ПРЕДСТАВЛЕНИЕ ASCII: solid
Стандартизация: Спецификация стереолитографии от 3D Systems
Технические спецификации
| Архитектура контейнера | ASCII-формат (начинающийся с 'solid') или бинарный формат (заголовок 80 байт + 32-битный счетчик треугольников + 50-байтные записи фасетов) |
| Сжатие | Несжатые сырые треугольные фасеты |
| Порядок байтов (Endianness) | С младшим байтом в начале (Little-Endian, Intel x86) для бинарного STL |
| Цветовые пространства | Отсутствуют (монохромная геометрия; существуют проприетарные цветовые хаки VisCAM/Magics) |
| Каналы и структура | Треугольные фасеты: вектор нормали поверхности (I, J, K) и координаты трех вершин (X, Y, Z) |
| Макс. габариты | Неограниченные трехмерные физические координаты (обычно измеряются в миллиметрах) |
| Прозрачность | Отсутствует (сплошные физические объекты) |
| Потоковая передача и прогрессивная загрузка | Последовательная потоковая передача фасетов обеспечивает непрерывную нарезку по слоям |
Техническая матрица сравнения: STL против конкурентов
| Технический атрибут | STL (Текущий) | OBJ | 3MF | STEP |
|---|---|---|---|---|
| Поддержка слайсерами 3D-печати | 100% универсальный стандарт | Универсальная поддержка | Современный стандарт-преемник | Стандарт САПР (CAD) для инженерии |
| Поддержка цвета и текстур | Отсутствует (чистая поверхностная геометрия) | Полная UV-текстурная развертка | Полный цвет, материалы и многоэкструдерность | Параметрические сплошные цвета |
| Структура фасетов | Независимые треугольные фасеты | Связанная сетка с общими вершинами | Индексированная сетка с общими вершинами | Точные параметрические кривые (NURBS) |
| Определение единиц | Без единиц (предполагаются мм) | Без единиц (предполагаются метры/мм) | Явные единицы (мм, см, дюйм) | Явные инженерные единицы |
Типичные режимы повреждения и руководство по восстановлению в HEX
3D-слайсер выводит сообщение 'Модель не является многообразием / Содержит не многомерные ребра'.
Первопричина: Отверстия в треугольной сетке, самопересекающиеся треугольники или инвертированные нормали поверхностей.
Восстановление: Сделайте сетку водонепроницаемой с помощью инструмента восстановления 3D-сеток File2File или Netfabb.
Анализ безопасности и векторы атак на парсер
Бинарные парсеры STL оценивают 32-битные счетчики треугольников, где переполнение целых чисел может вызвать небольшое выделение кучи (heap) и запись за пределами буфера.
Известные векторы атак
- Переполнение целых чисел при выделении памяти под triangle_count * 50 байт.
- Чтение за пределами буфера, когда физический размер файла меньше заявленного количества треугольников.
- Отказ в обслуживании (DoS) из-за выделения памяти под многогигабайтные треугольники.
Защитные лучшие практики: Проверяйте, чтобы заявленное количество треугольников точно соответствовало формуле (file_size - 84) / 50 перед чтением.
Исторические истоки и вехи
Ключевые преимущества и плюсы
- Бесспорный мировой стандарт для 3D-печати: поддерживается 100% слайсеров (PrusaSlicer, Cura, Bambu Studio) и CAM-программ.
- Бинарный формат прост и компактен: ровно 84 байта заголовка плюс 50 байт на каждый треугольный фасет.
- Прямое представление герметичных поверхностных границ, необходимых для генерации траектории движения инструмента при аддитивном производстве.
Технические ограничения и минусы
- Полное отсутствие поддержки цвета, материалов или текстур: невозможно изначально представить полноцветные 3D-отпечатки.
- Изогнутые поверхности должны аппроксимироваться тысячами плоских планарных треугольников, что приводит к высокому количеству полигонов.
- Не задает физические единицы измерения (слайсеры должны предполагать миллиметры или дюймы).
Интересные технические факты
- Чак Халл запатентовал 3D-печать в 1986 году и создал формат STL в 1987 году для подачи 3D-моделей на свой принтер SLA-1.
- Файл STL содержит нулевые метаданные единиц измерения: куб с размерами '10' может означать 10 миллиметров, 10 метров или 10 дюймов в зависимости от настроек вашего слайсера.
- Бинарные файлы STL имеют 80-байтный заголовок, который может содержать любой текст, но НЕ должен начинаться со слова 'solid', иначе некоторые декодеры ошибочно примут его за файл ASCII.
Часто задаваемые технические вопросы
Какая программа открывает файлы STL?
Вы можете открывать файлы STL в слайсерах для 3D-печати, таких как Cura, PrusaSlicer и Bambu Studio, в САПР-программах вроде Fusion 360 и Blender, либо мгновенно просматривать их онлайн в File2File.app.
В чем разница между ASCII и бинарным STL?
Бинарный STL примерно в 5 - 6 раз меньше ASCII STL и загружается значительно быстрее, что делает бинарный STL предпочтительным выбором для 3D-печати.
Как конвертировать файл STL в OBJ или GLB?
Вы можете конвертировать файлы STL в текстурированные модели OBJ или готовые для веб-просмотра файлы GLB прямо в браузере с помощью File2File.app.
Связанные пары конвертации STL
Конвертация файлов Wavefront OBJ в формат Stereolithography STL преобразует цветные дизайнерские модели в сетки из сырых треугольников, готовые к 3D-печати.
Конвертация файлов Stereolithography STL в формат Wavefront OBJ преобразует исходные треугольные полигональные сетки в гибкие геометрические описания с поддержкой текстур и материалов.