Главное различие в одном слове: STEP — это «модель», STL — это «поверхность». От этого зависит, какие операции потом можно сделать с файлом, а какие — уже нет. Когда задача — печать, STL правильнее. Когда задача — переделка геометрии в CAD, STEP единственный годится. Оба формата, STEP и STL, НейроИнженер отдаёт из одного запроса.
Что внутри файла
В STEP лежит структурированное описание тела: грани, рёбра, вершины, параметры цилиндров и плоскостей, дерево сборки, единицы измерения, иногда — материалы. Открыв STEP в CAD, вы можете выделить грань, изменить радиус скругления, добавить отверстие, разбить тело на куски. Это «живая» геометрия.
В STL лежит только треугольная сетка: список вершин, список треугольников по этим вершинам. Никаких граней, никаких параметров, никакой иерархии. Слайсер 3D-принтера ровно это и хочет: пересечь сетку плоскостями слоёв и получить контуры — задача чисто геометрическая.
| Свойство | STEP | STL |
|---|---|---|
| Тип геометрии | BRep, точная | Триангуляция, аппроксимация |
| Единицы измерения | Записаны явно | Отсутствуют, числа без размерности |
| Параметры (R, Ø) | Есть | Нет, всё треугольники |
| Дерево сборки | Поддерживает | Один монолит |
| Размер файла (типичный) | 100 КБ – 5 МБ | 0.5 МБ – 200 МБ |
| Бинарный или текстовый | ASCII (можно открыть в редакторе) | Оба варианта, чаще бинарный |
| Что делать в CAD | Можно править | Только импорт как сетка |
| Что делать в слайсере | Не поймёт | Прямой вход |
Когда отдавать STEP
STEP — это формат, который понимают КОМПАС-3D, nanoCAD, SolidWorks, Fusion 360, FreeCAD, CATIA, Creo и десяток других CAD. Если деталь будет дорабатываться, ставиться в сборку, использоваться в чертеже с размерами и допусками — нужен STEP. Точнее, его подверсия — обычно AP242 или AP214.
Сценарии, где STEP — единственно правильный формат:
- Деталь идёт в сборку с другими — нужны точные грани и оси.
- Дальше будет фрезеровка или токарная обработка по ЧПУ — программисту ЧПУ нужны точные контуры, а не «облако треугольников» на 50 тысяч граней.
- Заказывается у подрядчика — STEP легче ревизуется, и подрядчик может открыть файл в любом CAD без потерь.
- Делается чертёж с размерами и допусками — на сетке проставить допуски невозможно.
Импорт STEP в каждом из четырёх популярных CAD имеет свои настройки и типовые проблемы — подробный разбор собран в статье «Импорт STEP в КОМПАС-3D, nanoCAD, SolidWorks и Fusion 360».
Когда отдавать STL
STL — единственный формат, который понимают все слайсеры FFF-печати: Cura, PrusaSlicer, OrcaSlicer, Bambu Studio. SLA-принтеры тоже работают с STL (хотя у Formlabs есть собственный FORM-формат, а Anycubic знает свой ACS).
Сценарии, где STL уместен и удобен:
- Печать прототипа: загрузили в слайсер, нажали «нарезать», поехали.
- Передача 3D-моделей в игры и анимацию — там тоже сетка.
- Визуализация и предпросмотр в браузере через библиотеки вроде three.js — формат лёгкий, парсер пишется за вечер.
- Передача файла, который никто не будет править: каталог моделей на сайте, библиотека печатных деталей.
Конвертация в обе стороны
STEP → STL: легко, но с компромиссом
Любой CAD умеет сохранить STEP в STL. Главный вопрос — точность триангуляции. У хорошей детали с криволинейными поверхностями «грубый» STL весит 200 КБ, «тонкий» — 5 МБ. Чем меньше отклонение поверхности, тем тяжелее файл и тем дольше слайсер режет на слои. Практический ориентир для FFF-печати с соплом 0.4 мм:
| Параметр | Значение |
|---|---|
| Отклонение поверхности (chord height) | 0.04–0.08 мм |
| Угловое отклонение | 10–15° |
| Минимальная длина ребра треугольника | не задавать |
Завышенная точность смысла не имеет: сопло 0.4 мм всё равно не положит слой тоньше 0.1 мм. Если на сферических поверхностях видны «грани» — уменьшайте chord height до 0.04, не ниже.
STL → STEP: сложно и обычно бесполезно
Обратная конвертация — это reverse engineering. Программы вроде Geomagic Design X, Rhino + RhinoResurf, FreeCAD с плагином Reverse Engineering умеют распознать в сетке цилиндры, плоскости, тороидальные переходы и сшить из них BRep. Но качество распознавания зависит от геометрии: правильную деталь с прямыми гранями — нормально, органическую форму — почти никак.
Если стартовая точка — STL, а целевая — параметрическая модель в CAD, чаще быстрее перемоделировать с нуля. На простой детали это 20 минут; на reverse engineering уходит час и в полтора раза больше нервов.
Что теряется при конвертации
Когда параметрический STEP превращается в STL, исчезают:
- Понятие «грань». Раньше можно было ткнуть в цилиндрическое отверстие и узнать его диаметр. Теперь это набор треугольников по окружности.
- Радиусы и фаски как параметры. Они становятся приближением — лесенкой коротких треугольников. На фотографии детали видно, что «гладкая фаска» состоит из 12 коротких сегментов.
- Метаданные о материале и сборке. В STL это просто «один объект из N треугольников».
Обратное преобразование возможно, но всегда с потерями. Если нужна одновременно и печать, и доработка в CAD — ИИ-генератор должен отдать оба файла из одного запроса; так и стоит просить.
Подвиды STEP, которые встречаются
В разговоре «STEP» — это собирательное название. На самом деле формат делится на «протоколы применения» (AP, Application Protocol). На практике встречаются три:
- AP203 — самый старый, проверенный, узкий по возможностям. Только геометрия деталей и сборок. Если CAD старый — экспортируйте в AP203.
- AP214 — расширенный, для автомобилестроения. Дополнительно несёт цвет, единицы, информацию о материале. Универсальный совместимый вариант для большинства задач.
- AP242 — новейший, объединяет 203 и 214 плюс несёт PMI (product manufacturing information) — допуски, посадки, обозначения шероховатости прямо в файле. Это «полный чертёж в 3D».
Если CAD-приёмник умеет AP242 — отдавайте его. Если есть сомнения — AP214. AP203 нужен, только если на той стороне CAD выпуска 2005-го года.
Подвиды STL: ASCII и бинарный
STL бывает двух форматов записи. ASCII-вариант — это текстовый файл с координатами треугольников по строкам; занимает в 3–5 раз больше места, читается человеком, удобно отлаживать. Бинарный — компактный, режется быстрее. Все современные слайсеры умеют оба, но по умолчанию выгружайте бинарный, у него меньше шанс сломаться при копировании через буфер обмена.
Когда нужны оба формата
Стандартный сценарий, где забирают оба файла одновременно:
- STEP идёт в CAD конструктора, дальше из него делают чертёж и согласовывают.
- STL идёт в слайсер и на принтер — печатают прототип, чтобы проверить посадку до подписания чертежа.
Это правильно и экономит итерации. Если печать показывает, что отверстие «слишком тугое» — поправку вносят в STEP, после чего обновляют STL. Обратный путь не работает: вырезать кусок из STL и положить его в STEP — это два часа работы; убрать миллиметр в параметрической модели и переэкспортировать — две минуты.
Частые вопросы
Слайсер не открывает STEP — это правильно?
Да. Слайсер работает только с сеткой. Cura, PrusaSlicer, OrcaSlicer, Bambu Studio все принимают STL, OBJ, 3MF и иногда AMF. Если хочется печатать прямо из STEP, нужен либо плагин (у PrusaSlicer есть экспериментальная поддержка через OpenCascade), либо предварительно перевести файл в STL.
Какой формат компактнее на одну деталь?
STEP почти всегда. Параметрическая запись «цилиндр Ø10×30» — это пара строк. Тот же цилиндр в STL — 96 треугольников по 50 байт, ~5 КБ. На детали с плавной поверхностью разница ещё больше: STEP 500 КБ, STL 18 МБ. Поэтому модели каталогов крепежа онлайн почти всегда лежат в STEP.
Можно ли проставить размеры и допуски прямо на STL?
Нет. В STL нет понятия «размер», «грань», «ось». Если планируется чертёж с допусками — формат STL не подходит. Нужен STEP (лучше AP242, если CAD умеет PMI), либо нативный формат CAD: SLDPRT для SolidWorks, F3D для Fusion, M3D для КОМПАС.
Что выбрать, если деталь идёт на печать и заодно нужна возможность «потом, может быть, доработать»?
Заберите оба формата сразу. STL пойдёт прямо в слайсер, STEP — в архив проекта. На итерации «нужна правка» возвращаетесь к STEP, меняете геометрию, переэкспортируете STL. Это стандартный пайплайн на любом производстве, и так же стоит вести персональные проекты.