Как сконвертировать G-код в STL

21 августа 2023
0 комментариев

Преобразование 3D-моделей в формате STL в машинный код (G-код) с помощью слайсера — привычная задача для любого пользователя 3D-принтеров, но как быть, если нужно сделать наоборот? Разберемся на примере программы Gcode2l.

Как сконвертировать G-код в STL

STL остается самым популярным, хотя и малость устаревшим форматом файлов, используемым в 3D-моделировании под 3D-печать. Эти файлы содержат меши, то есть полигональные сетки. 3D-принтерам, с другой стороны, требуется набор команд по позиционированию головки, температуре хотэнда, подаче материала и так далее. Эта информация содержится в G-коде. Главная задача всех слайсеров, например Cura, Simplify3D или PrusaSlicer — преобразование STL-файлов с полигональными моделями в G-код, понятный 3D-принтерам.

Необходимость в обратном процессе тоже иногда возникает, например если на руках есть готовый G-код, но хочется внести изменения в 3D-модель. Сразу предупредим, что обратная конвертация никогда не дает стопроцентную гарантию успеха или, по крайней мере, идеального качества, так в G-коде зачастую содержится информация, добавленная слайсером и не имеющая отношения к исходной 3D-модели. Как результат, могут возникать неточности, артефакты, которые необходимо удалять вручную уже на этапе редактирования восстановленной 3D-модели.

Кое-какие программы под эту задачу все же существуют, и сегодня мы взглянем на один весьма неплохой пример под названием Gcode2l.

Что такое Gcode2l

Gcode2l — универсальный онлайн-инструмент, созданный специально для преобразования G-кода обратно в STL-файлы. Это бесплатная программа с удобным интерфейсом и высокой эффективностью. От пользователей не требуется углубленное изучение G-кода и формата STL, так что приложение вполне подходит начинающим пользователям.

Как и у других подобных программ, у Gcode2l есть ограничения. Разработчики протестировали приложение на файлах, сгенерированных слайсерами PrusaSlicer, Slic3r и Cura. Совместимость с другими слайсерами — это открытый вопрос: скорее всего приложение будет совместимо, но не факт, что полностью, а следовательно необходимо учитывать повышенный риск возникновения дефектов. Проверить можно только опытным путем.

Кроме того, Gcode2l не поддерживает преобразование нескольких моделей в одном файле. Как правило, в таких случаях программа выдает STL-файл только с одной моделью — самой большой в исходной группе.

Еще один важный момент заключается в том, что программа использует вычислительные мощности пользовательских компьютеров. Облачные вычисления не предусмотрены, так что скорость реконструкции будет зависеть от вашего оборудования. На всякий случай разработчики предусмотрели встроенную защиту: если размер файла в оперативной памяти превысит 8 Гб или время реконструкции превысит девять минут, процесс прекратится автоматически. Если вы столкнетесь с этой проблемой, не отчаивайтесь: программа предлагает ряд настроек, позволяющих снижать нагрузку и время обработки, хотя и ценой качества.

Рабочий процесс

Первым делом зайдите на сайт Gcode2l. В правом нижнем углу будет опция логина через Google, но входить не обязательно — учетная запись просто дает дополнительные опции по хранению и управлению файлами.

Как сконвертировать G-код в STL


Файлы с G-кодом можно заливать двумя способами — выбирая нужный файл через проводник после нажатия на символ плюса в нижней части экрана, либо просто перетаскивая файлы. Проверить работу приложения можно на заботливо предоставленных тестовых файлах — горшке от Prusa и всем известном катере 3DBenchy. Нажмите Import Test Files Set (Импортировать набор тестовых файлов), чтобы увидеть тестовые модели.

Как сконвертировать G-код в STL


Окошки предварительно просмотра будут пустыми — это нормально. После нажатия на тот или иной файл откроется окно с информацией об использованном слайсере, количестве и толщине слоев, количестве проходов головки и толщине линий — все это указывается в левой части окна. В правой же части расположены слайдеры для регулировки параметров реконструкции — к ним мы еще вернемся.

Как сконвертировать G-код в STL

Если нажать на кнопку Reconstruct (Восстановить), Gcode2l приступит к работе по реконструкции 3D-модели. Готовый результат отобразится в новом окне. Здесь 3D-модель можно покрутить, чтобы оценить результат со всех сторон.

Как сконвертировать G-код в STL

Теперь, если результат устраивает, можно наживать на кнопку скачивания — Download STL. Если что-то не так, можно вернуться к предыдущему этапу и изменить настройки, а затем запустить реконструкцию заново.

Параметры реконструкции

Какого-то идеального набора параметров не существует. В каждом случае настройки придется подбирать индивидуально, отталкиваясь от размера 3D-модели, детализации и параметров экструзии.

Gcode2l дает выбор из четырех регулируемых параметров:

Разрешение (Resolution). Разрешение регулируется верхним ползунком — от высокого (Detailed) до грубого (Rough). Как вариант, можно просто ввести желаемое значение на шкале от 0,1 до 1, где 0,1 — самая высокая детализация, а 1 — самая низкая. Если размеры модели невелики, стоит выбирать высокую детализацию, а при работе с большими моделями настройку можно понизить, если с высокой детализацией реконструкция занимает слишком много времени.

Упрощение (Simplify). Второй ползунок сверху управляет сложностью модели, то есть количеством полигонов. Значение в процентах показывает, какую долю полигонов программа сохранит во время реконструкции. Само собой, чем ниже процент, тем выше угловатость поверхностей модели, зато ниже нагрузка на компьютер.

Оптимизация (Optimize). Эта экспериментальная функция исключает из обработки заполнение каждого слоя, оставляя только оболочку. С одной стороны, это значительно сокращает нагрузку на вычислительные мощности и тем самым снижает время реконструкции. С другой стороны, повышается риск возникновения дефектов. Попробуйте сами: если получите брак, функцию оптимизации всегда можно отключить и запустить реконструкцию заново.

Пропуск слоев (Skip). Начальные слои можно пропустить — это удобно в тех случаях, когда в G-код добавлены команды на построение вспомогательных структур — юбок, бримов или рафтов, не входящих в состав самой 3D-модели. Если вспомогательные структуры не предусмотрены, оставьте это значение на нуле. В противном случае выставьте значение, соответствующее количеству слоев во вспомогательной структуре. Имейте в виду, что юбки и бримы выстаиваются на одном уровне с нижними слоями самих моделей, так что эта функция может «съесть» дно изделия. С рафтами проблем быть не должно, так как модели печатаются поверх них, а не внутри.

Как сконвертировать G-код в STL

Результат со включенной полигональной сеткой

По завершении реконструкции результаты можно оценить в окне просмотра — покрутить, масштабировать и при необходимости включить или отключить отображение полигональной сетки. Иконка с буквой «i» в нижней части окна, рядом с переключателем отображения сетки, даст основную информацию о результатах и затраченных ресурсах — разрешении, оптимизации, уровне упрощения сетки, стартовом слое, использованной памяти и времени обработки.

Как сконвертировать G-код в STL

На результаты могут влиять разные факторы вне возможностей Gcode2l. В частности, от настроек 3D-печати, заданных в слайсере перед генерацией G-кода, будет зависеть максимальная детализация после реконструкции. Например, если в G-коде заданы толстые слои, на стенках полученной модели может быть хорошо заметна ребристость. Мелкие детали, например рельефный текст, вообще может быть невозможно восстановить, по крайней мере полностью. Если G-код содержит информацию об опорных структурах (поддержках), они тоже будут включены в модель, так как программа просто неспособна отличать опоры от моделей. В таких случаях модель придется чистить вручную.