Руководство
Что такое STL: конвертер OBJ в STL
Обновлено · Только меш OBJ в STL
Треугольники STL, масштаб без единиц, бинарные файлы и путь слайсера. Потом получи STL из OBJ приватно: конвертер OBJ в STL в браузере.
STL — файл треугольников, которого ждут слайсеры. Имя часто расшифровывают как стереолитография, по раннему смоляному процессу, но формат пережил ту одну машину. Сегодня это скучный надёжный способ отдать форму в Bambu Studio, UltiMaker Cura или PrusaSlicer. Это не формат моделирования. Он не помнит материалы. Он не помнит единицы. Он помнит углы.
Треугольники, и только треугольники
Каждая запись — грань: нормаль и три вершины. Квад сохранить негде, n-угольника нет, кривой нет. Когда этот сайт читает OBJ, многоугольники сначала режутся на треугольники, затем эти треугольники записываются. Число треугольников на странице инструмента — это это число. Оно не совпадёт со «счётом полигонов» редактора, который ещё считал квад одной гранью. Куб с шестью квадами — двенадцать треугольников. Это верно, а не ошибка удвоения.
Нормаль — направление грани. Слайсерам важнее, замкнута ли оболочка и согласован ли обход, чем точные числа нормали. Согласованный обход всё ещё важен, когда инструмент решает, где внутри, а где снаружи. Этот экспорт считает нормали по порядку углов. Недостающие грани он не выдумывает.
В STL, который мы пишем, нет текстурной координаты и нет цвета. В мире существуют малоизвестные расширения. Этот конвертер их не производит, и на то, что слайсер их почтит, рассчитывать не стоит. Одна мысль, которая совпадает с файлом: один цвет филамента.
Без единиц нарочно
Спецификация, которую люди реально реализуют, не содержит флага миллиметров. Привычка сообщества в FDM: одна единица равна одному миллиметру. Вершина на 25 при этой привычке — вершина в 25 mm, даже если автор имел в виду 25 метров или 25 дюймов. Пособие миллиметры и метры про то, как запечь верную привычку в числа. После этого STL всё ещё «не знает». Следующая программа должна разделить ту же привычку.
Поэтому габариты в конвертере полезнее фразы в заголовке файла. Бинарные заголовки — 80 байт, и они часто пустые или заполнены именем инструмента. Не храни там единственную копию «это были дюймы». Храни это в своих заметках и в координатах, которые уже совпадают с миллиметрами.
Бинарный, ASCII и слайсеры
Те же треугольники можно упаковать бинарно или выписать текстом ASCII. Бинарный меньше, и это скачивание по умолчанию. ASCII читается и громоздок. Бинарный и ASCII STL разбирает выбор. Оба открываются в названных слайсерах, когда байты целы. Файл ASCII, который попортил текстовый редактор, сменив концы строк или десятичные знаки, может не открыться. Экспортируй снова, а не правь большой STL руками.
Импорт в слайсер — не последняя проверка. Посмотри заявленный размер. Посмотри, стоит ли модель. Посмотри предпросмотр слоёв на щели, которых ты не хотел. STL может быть геометрически годным и всё равно плохой печатью. Тонкие стенки, пересекающиеся тела и открытое дно всплывают там. Эти проблемы возвращай в меш, а не в надежду, что повторный экспорт той же сломанной поверхности её залечит.
Откуда STL должен браться
На этом сайте STL должен браться из меша Wavefront OBJ. Это файл со строками v и f, описанный в что такое OBJ. Он не должен браться из PNG, JPG или твёрдого тела STEP. Мы не вокселизируем картинки и не тесселируем граничные модели CAD. Если в инструменте проектирования только тело, тесселируй или экспортируй OBJ там, с допуском хорды, который тебя устраивает, затем конвертируй. Число треугольников, которое получишь, — тесселяция, которую ты попросил у того инструмента. Мы не добавим треугольники, чтобы сделать поверхность глаже.
Когда файл есть, путь печати обычный. Подтверди миллиметры, сориентируй, поставь поддержки, если без них нельзя, нарежь и печатай. Оставь OBJ, если форму ещё будешь править. OBJ и STL объясняет, почему эти два файла должны лежать рядом, а не заменять друг друга. Пошагово из Blender — как конвертировать OBJ в STL.
Вопросы
STL знает, что модель в миллиметрах?
Нет. Формат хранит координаты и нормали граней. Слайсеры обычно считают их миллиметрами. Меню единиц на этом сайте меняет числа до записи.
Годный STL всегда печатается?
Нет. Файл может быть правильным списком треугольников и всё равно иметь дыры, пересекающиеся оболочки или слишком тонкие стенки. Конвертация ничего из этого не чинит.
Бинарный или текст?
Оба — STL. Здесь по умолчанию бинарный, потому что его ждут слайсеры и файл меньше. ASCII — текстовая форма. Смотри пособие про бинарный и ASCII.
Другие руководства
- Что такое файл OBJWavefront OBJ, грани и файл MTL, который мы не читаем.
- OBJ и STLКогда оставить OBJ и что STL выбрасывает.
- Бинарный и ASCII STLПочему скачивание по умолчанию — бинарный STL.
- Миллиметры и метрыПочему печать выходит в 1000× больше и как проверить бокс.
- Как конвертировать OBJ в STLЭкспорт из Blender, этот конвертер, потом Bambu, Cura или Prusa.
- ВопросыПриватность, размер, текстуры, STEP и картинки.