что такое g code в 3d печати
Что такое gcode. Учимся читать и редактировать. Принципы формирования кадров, команды и функции.
В этой статье разберем что представляет из себя Gcode для 3d принтеров. Детально рассмотрим структуру, виды команд, принцип формирования кадров.
Итак, Gcode — это язык программирования для машин и станков с числовым программным управлением. Для 3d принтеров он формируется программой слайсером, предварительно загрузив в нее 3d модель и задав необходимые параметры печати.
По какому же принципу работает ПО для 3d печати?
Каждый вектор траектории в gcode описывается декартовыми координатами, по которым и перемещается экструдер. В этом файле еще описываются такие параметры как нагрев, скорость перемещения, скорость выдавливание пластика и т.д. Вообще Gcode создавался для ЧПУ станков, он имеет множество различных команд и функций. Для этих устройств G-код на много сложнее, нежели для 3d принтеров. Для sla и dlp 3d принтеров слайсеры устроены немного по другому принципу, т.к. sla иcпользую лазеры, которые управляются гальванометрами с зеркалами, а dlp — проекторы засвечивают каждый слой пятном созданным в виде растрового изображения.
Немного истории, gcode был создан компанией Electronic Industries Alliance ещё в 1960-х годах. В дальнейшем распространился по всему как стандарт для применения во всех устройствах с ЧПУ.
Файл содержащий код имеет расширение. gcode и условно его структура выглядит следующим образом:
1. Подготовительные операции. Здесь подготавливается 3 d принтер к печати, запускаются нагрев стола, экструдера, устанавливается параметры системы координат, включается охлаждение, перемещение головки в нулевую точку отсчета, выдавливается тестовая порция пластика и другие установленные параметры.
2. Непосредственно 3 d печать объекта.
3. Заключительный этап. Перемещение экструдера и стола в исходное положение, отключение нагрева всех элементов 3 d принтера и т.д.
Ну а прошивка (машина воспринимает только 0 и 1) работает только по командам которые можно разделить на:
1. G – Основные (называемые в стандарте подготовительными) к оманды которые выполняют перемещение от точки к точке по прямой линии, в высоту или заданной дуге окружности определенного радиуса. Т.е. позиционирование экструдера или инструмента в пространстве.
2. М – Вспомогательные (технологические ) команды. Различные команды которые включают рабочие элементы нагрев, охлаждение, передача, считывание параметров и их вывод на дисплей и др. Это самая многочисленная группа.
3. T — смена инструмента т.е. в нашем случае переход от с первого на второй экструдер T 0, T 1.
Ниже идут параметры которые необходимо передать команде для ее выполнения. Это конкретные числовые значения:
2. F — скорость движения печатающей головки в мм/мин.
3. S – значение температуры, время в секундах, напряжение
5. Е – кол-во пластика в мм. Зависит от указанного диаметра сопла и диаметра нити. В Gcode устанавка скорость работы мотора подающий пластик в самом начале с помощью параметра F 200 [G1 F200 E10], так же в настройках самого 3 d принтера, можно увеличить обороты двигателя в %. До обнуления в каждом кадре указывается общее кол-во в мм начиная сначала. Может принимать отрицательные значения если необходимо втягивание нити.
6. H — номер нагревателя. H 0 — Для стола, H 1 — H … для экструдера и т.д.
Основные команды M которые применяются для управления 3 d принтерами:
Обязатльные:
Команды для экструдер а:
Управление стол для 3d печати:
PID (параметры для регуляторов температуры):
EEPROM – внутренняя память микроконтроллера (не обнуляется при выключении)
Параметры для пластиковой нити:
Вообще различных комманд великое множество, а также появляются новые, посмотреть все вы сможете тут — http://reprap.org/wiki/Gcode
Приложено 2 скриншота, с основными настройками и продвинутыми:
Сопоставить параметры Cura и исходных записей Gcode :
M 190 S 70.000000 – температура стола
M 104 T 1 S 210.000000
M 109 T 0 S 210.000000 — температура первого экструдера 210
M 109 T 1 S 210.000000– температура второго экструдера 210
Дальше описываются параметры первого и второго экструдера + комментарии:
Выбираются единицы измерения, система координат, точки начального отсчета.
M 117 – сообщение о начале печати, если все подготовительные операции выполнены.
M 107 – включается вентилятор.
Дальше идет формирование первого слоя LAYER 0
G0 F5400 X92.570 Y102.081 Z0.300 – Холостой ход со скоростью 90 мм/с. Обратите внимание на продвинутые настройки.
G1 F1200 X93.754 Y101.488 E0.06606 – скорость первого слоя 20 мм/с, расход нити на этот кадр 0.066 мм.
Ниже указывается скорость для структур заполнения:
G1 F1200 X134.460 Y114.661 E18.06728
G0 F5400 X133.848 Y115.470
Смена экструдера для печати поддержек
Заключительный этап 3 d печати: Перемещение экструдера и стола в исходное положение, отключение нагрева всех элеменетов 3 d принтера и т.д.
Инструкция по использованию G-code для 3D-печати: создание, редактирование, конвертация
Аддитивные технологии на современном уровне развития дают возможность пользователю создавать сложнейшие объекты, практически не вникая в суть техпроцесса. Тем не менее, пользователи 3D-принтеров часто интересуются тем, как работает G-code и как его наиболее эффективно использовать — это помогает глубже погрузиться в процесс и понять все тонкости.
Читайте нашу подробную инструкцию о командах G-code, чтобы узнать — что такое G-code для 3D-принтера и как с ним работать.
Содержание
Что такое G-code?
G-code — условное наименование языка программирования устройств с числовым программным управлением (ЧПУ) и написанного на этом языке кода. Был создан компанией Electronic Industries Alliance в начале 1960-х. Программа, написанная с использованием G-code, имеет жесткую и последовательную структуру. В отличие от других языков программирования, в G-code нет циклов, функций и логических команд, т.е. оборудование выполняет ровно то, что подготовила программа, либо пользователь ручным набором.
Основные команды языка
Основные команды языка начинаются с буквы G (отсюда и его название), это например:
— перемещение рабочих органов оборудования с заданной скоростью (линейное и круговое,
— выполнение типовых команд (таких, как запуск вентиляторов, нагревателей и т.д.),
— управление параметрами, системами координат ( абсолютное или относительное исчисление).
Также существует большое количество команд, что начинаются с букв M и T, они относятся к вспомогательным и используются в фрезерных станках и фрезерных обрабатывающих центрах.
Каждая строка G-code содержит в себе конкретную команду и набор параметров, характеризующий само действие оборудования. Так, обычное перемещение во время печати может характеризоваться рядом параметров, таких как направление, время работы приводов, для перемещения на заданное расстояние, количество выдавленного пластика, скорость и ускорение.
Если раньше программировать действия станков приходилось вручную, то в наше время существует большое многообразие программ, что могут преобразовать загруженный 3D-объект в код управления, необходимый станку для создания этого объекта.
Для 3D-принтеров применяются программы, называющиеся слайсерами.
Такие слайсеры, как Cura, Simplify3D и множество подобных, помогают автоматизировать процесс написания кода управления, пользователю остается лишь использовать полученный с их помощью код. Возможная ручная корректировка сводится к коррекции одного или двух параметров, или поиску лишней команды. Теперь не требуется писать 100-200 строк кода, достаточно лишь сгенерировать код в слайсере и, если требуется, внести небольшие правки.
Для ручного внесения правок в G-code рекомендуем использовать бесплатную программу NotePad++. С её помощью можно найти вредоносную команду, пометить все её повторения в коде и удалить их.
Подробнее о командах читайте далее, в разделе “Популярные команды G-code”.
На какие принтеры можно загружать G-code?
Большинство популярных принтеров работает на G-code. Поскольку этот код можно генерировать в любых доступных слайсерах, таких как как Simplify3D, Cura, Chitubox, CreatWare, Slic3er, и легко редактировать в обычном блокноте или NotePad++, то пользователи самых доступных 3D-принтеров Anet A8, профессиональных 3D-принтеров Wanhao Duplicator 6 Plus и 3D-принтеров с двумя экструдерами Hercules Strong DUO могут перенастроить работу аппаратов для достижения оптимального результата.
Но бывают случаи, когда оборудование работает на зашифрованном G-code. Как пример — это Zortrax и их Слайсер Z-suite, что генерирует файл в расширении Z-code. Увы, такие файлы уже не открыть блокнотом и NotePad++, а сторонний слайсер с этим принтером использовать нельзя.
Принцип кодировки команд для 3D-принтера
Каждая строка G-кода — это команда, которую выполняет 3D-принтер. Если ваш принтер “делает что-то не так”, а механика его при этом исправна и настроена правильно, скорее всего дело в коде, где-то в него закралась неверная или находящаяся не на своем месте команда.
Рассмотрим типичную команду:
G1 X-9.2 Y-5.42 Z0.5 E0.0377
В этой кодировке содержится следующая информация:
G1 — перемещаться по прямой;
Координата Z — 0,5 мм;
Экструзия — 0,0377 мм.
Как видно на примере, кодировка G-code имеет простой синтаксис. Разобраться в командах может любой пользователь и помнить их все не обязательно — достаточно иметь под рукой список.
Рекомендуем заглянуть в “Энциклопедию Тридэшника” Там можно найти описание и параметры большинства команд.
В каких случаях использовать G-code?
В абсолютном большинстве случаев слайсеры составляют корректный G-code, который обеспечит отличный результат в процессе печати, но существует несколько сценариев, когда оправдана ручная правка G-code.
Случаи, когда целесообразно переписать G-код:
Точечные правки — если уже подготовлен для печати файл крупной сложной модели, но имеется ошибка в настройке слайсера и пользователь не может в этом разобраться. Иногда нужно вручную найти лишнюю команду и исправить её.
Специальные настройки — выполнение 3D-принтером определенных действий, таких как изменение температуры экструдера в конкретные моменты времени, при печати деликатных/тонких или просто важных областей модели, если слайсер не имеет такого функционала.
Решение проблемы — при печати крупной сложной детали могут возникнуть сложности на определенном этапе. Для устранения проблемы можно добавить специальную команду, например — включение или выключение обдува или добавление ряда своих команд.
Популярные команды G-code
G28 — вернуться в исходное положение
Эта команда сообщает 3D-принтеру о необходимости вернуться в нулевую точку. С этой команды начинается работа 3D-принтера, а также этой командой заканчивается печать. Печатающая головка перемещается в дальний угол печатной камеры, чтобы пользователь мог легко извлечь деталь.
G1 — линейное движение
С этой команды начинается около 95% строк в файле для печати. Команда G1 задает и направление перемещения печатающей головки. В этой же строке может содержаться команда E, которая указывает, сколько филамента (в миллиметрах) необходимо протолкнуть в сопло. Также в строке можно указать команду F, которая задает скорость движения в миллиметрах в минуту.
Пример: G1 X30 E10 F1800 — протолкнуть 10 мм филамента в экструдер, пока печатающая головка перемещается на 30 мм по координате X со скоростью 1800 мм/мин.
G92 — установить текущее положение
Команда задает текущее положение осей. Одно из наиболее распространенных применений команды — это ось E (положение филамента). Если переопределить текущее положение нити, то все будущие команды будут определяться по новому значению. Обычно это делается в начале каждого слоя.
Пример: G92 E0 — установить текущее положение нити в качестве нулевого.
M104 и M109 — температура экструдера
Команды M104 и M109 задают температурные значения в градусах Цельсия (S) для экструдера (экструдеров). При использовании команды M104 3D-принтер может производить другие действия в процессе нагрева. Команда M109 указывает принтеру не предпринимать других действий, пока не будет достигнута заданная температура. При использовании 3D-принтера с двумя экструдерами используются команды T0 для установления температуры правого экструдера и T1 — для левого.
Пример: M104 S190 T0 — начать разогревать правый экструдер до температуры 190 °C.
M140 и M190 — температура рабочего стола
Эти команды указывают на необходимость нагреть рабочий стол до заданной температуры в градусах Цельсия (S). Аналогично примеру выше, команда M140 будет выполняться 3D-принтером одновременно с другими процессами, а команда M190 указывает на необходимость ожидания, пока рабочий стол не будет нагрет до заданной температуры.
Пример: M140 S50 — разогревать рабочий стол до 50 °C.
M106 — скорость вращения кулера
Эта команда задает скорость вращения кулера, который охлаждает изделие. Скорость вращения (S) устанавливается в диапазоне значений от 0 (выключен) до 255 (максимальная скорость).
Пример: M106 S128 — включить кулер на скорости 50%.
Как отредактировать G-code?
Для редактирования G-code можно использовать различные оффлайн- и онлайн-программы. Рассмотрим основные инструменты.
Notepad++
Бесплатная программа, в которой можно настроить выделение синтаксиса G-code. ПО доступно для ОС Windows.
gCodeViewer
Облачное приложение, которое оптимизировано для создания команд для 3D-принтеров. Среди специфических функций — послойный просмотр изделия в 2D-режиме.
Simplify3D
Популярный слайсер, имеет собственный редактор G-code. Пользователю доступно создание автоматических сценариев, например — стандартное выполнение 3D-принтером определенных действий в начале и в конце процесса печати.
Итоги
Использование языка программирования G-code не только насущно необходимо, но и способствует пониманию 3D-печати. Пользователь не обязан следовать рекомендациям производителей филамента или 3D-принтера, чтобы получить идеально напечатанный объект. Экспериментируя с настройками слайсеров и возможностью ручного редактирования команд G-кода, пользователь может получить любой результат, опираясь на собственный опыт работы с различными материалами и свою фантазию.
Купите Simplify3D — слайсер с редактором G-code, для максимально удобного и понятного взаимодействия с кодом 3D-моделей, а значит и более простой, беспроблемной печати. Покупая ПО в Top 3D Shop вы приобретаете лицензионный программный продукт у официального поставщика на территории России, вся необходимая для отчетности документация предоставляется по требованию.
GCODE: Основы
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Добрый день Уважаемые читатели!
GCODE: Плюшки от ПавлушкиПосле написания предыдущей статьи ко мне стали поступать вопросы на поводу G-CODE.
Решил написать пост об основах G-CODE.
Не для кого не секрет, что наш с Вами 3D принтер является простым ЧПУ станком (CNC), который просто выполняет команды оператора.
Чтобы мы с принтером понимали друг друга, умными людьми в начале 1960 годов был придуман специальный язык под названием «G-CODE» (G-код).
Программа, написанная с использованием G-кода, имеет жесткое строение.
Кадр завершается символом перевода строки (CR/LF).
Порядок команд в кадре строго не оговаривается, но традиционно предполагается, что первыми указываются подготовительные команды, затем команды перемещения, затем выбора режимов обработки и технологические команды.
Если говорить коротко, то наш ПК через USB, просто посылают команды на порт принтера (микроконтроллера), а принтер без прикословно их выполняет.
Немного забегая вперед скажу, что G-код для принтера местами отличается от привычного G-кода. Какие-то команды были переделаны под нужды принтера, какие-то были удалены, какие-то вообще не используются, но в целом все очень похоже.
Описание команд будет производится для прошивки MARLIN, возможно будет работать и на других прошивках.
Будут рассмотрены самые только самые основные команды (рабочий минимум), в поисках экзотики, можно пройти по ссылке.
Сами команды делятся на группы:
Эти команды имеют параметры.
На пример, если головка находиться в положении X10 Y10, то при подаче команды G91
G1 X10 F1000, произойдет смещение головы на 10 мм по оси Х на скорости 1000.
Эту команду можно делать много раз, до достижения «софтового» ограничение в прошивке.
Команда выполниться только один раз.
где: H0 – стол, H1 – экструдер
где: E-1 – стол, E0 – хотэнд, C8 – количество попыток, S – температура.
M304 – Задать PID параметры для стола [M304 P1 I2 D3]
EEPROM – внутренняя память микроконтроллера (не обнуляется при выключении)
M600 – Замена филамента.
Данные команды можно подавать в консоли из таких программ как Pronterface или Universal-G-Code-Sender.
В Pronterface можно включить режим ответа в меню Settings / Debug communications, программа будет писать все ответы от принтера.
Или открыть файл с G-кодом в блокноте и написать все руками. =)
Чтобы не быть голословным предлагаю Вам разобрать пример G-кода программы:
M300 S5000 P280 – звуковой сигнал
M300 S5000 P280 – звуковой сигнал
Благодарю Вас за внимание!
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
G-code для 3D-принтера
Что такое G-code?
G-code представляет собой программный язык для машин и станков со встроенным модулем числового программного управления.
Он был разработан компанией Electronic Industries Alliance в первой половине 1960-х годов. Программы, созданные с использованием этого кода, отличаются жесткой и предельно последовательной структурой. В G-code отсутствуют циклы, функции и логические команды, его возможности позволяют настроить оборудование только таким образом, чтобы оно исполняло лишь те действия, которые были заложены в компьютер.
G-code для 3D-принтеров может быть сформирован специальной программой – слайсером – посредством предварительной загрузки в нее 3D-модели и выставления требуемых параметров печати.
G-code в работе используют подавляющее большинство популярных принтеров. Его популярность обусловлена простотой использования и возможностью генерировать код в любых доступных слайсерах, в том числе Cura, Chitubox, Simplify3D, Slic3er и др. Редактировать написанную программу можно в обычном блокноте или NotePad++, который доступен всем пользователям операционной системы Windows.
Но бывают случаи, когда печатные устройства работают на зашифрованном G-code, например – Zortrax, использующий собственный слайсер, который генерирует файл в расширении Z-code.
Созданные таким образом файлы нельзя открыть с помощью стандартных программ и сторонних слайсеров.
Независимо от типа шифрования, код состоит из строк, каждая из которых при этом является кадром. Для каждого кадра или группы кадров разработчики прописывают комментарии, которые выделяются в ленте кода знаком точки с запятой.
Основные команды языка
Все команды языка, относящиеся к основным, начинаются с буквы G. Они ответственны за следующие действия:
Дополнительными считаются команды, название которых начинается с М или Т. Команды М являются вспомогательными, технологическими. Они отвечают за использование нагрева, охлаждения, считывания параметров и их последующего вывода на дисплей печатного устройства.
Команды T отвечают за смену используемого инструмента или переход от одного экструдера к другому.
Каждая строка (кадр) G-code несет в себе зашифрованную конкретную команду, а также набор характеристик, который определяет действие оборудования: время работы приводов, количество подаваемого материала, его нагрев, и др.
Разработка и популяризация специальных программ-слайсеров помогла оптимизировать и сделать автоматическим процесс программирования. Код, полученный с помощью современного программного обеспечения, как правило, не требует корректировки, а если и требует, то изменения разработчику приходится вносить не в весь код, а в несколько строк, корректируя один или несколько параметров.
Принцип работы ПО для 3D-принтера
Каждая из строк G-code является командой, которую должно выполнить печатное устройство. Принцип работы программного обеспечения для 3D-принтеров заключается в разбивке 3D-моделей на множество слоев, расположенных в горизонтальной плоскости.
Каждый из них, независимо от способа создания, в дальнейшем проходит еще одну разбивку на множество линий разной толщины и ширины, параметры которых задает разработчик.
К примеру, ширина линии для 3D-принтера, работающего на технологии FDM, должна соответствовать диаметру сопла, а высота – толщине слоя выдавливаемого материала.
Каждый вектор в траектории движения G-code может быть описан исходя из декартовой системы координат, по которым движется экструдер. Также в этом файле дополнительно указываются сопутствующие параметры: нагрев, скорость движения экструдера, скорость подачи материала и др.
Когда использовать G-код?
Редактирование G-кода, составленного слайсерами, целесообразно в следующих случаях:
Команды G-code
К самым популярным G командам относятся:
Команды M
Самая многочисленная группа, включающая команды, ответственные за управление печатным устройством.
Как редактировать G-код?
Для редактирования G-code могут использоваться самые разнообразные онлайн- и офлайн-программы. Самыми популярными при этом являются:
Знание языка программирования G-code необходимо каждому владельцу 3D-принтера. Экспериментируя с ручной настройкой слайсеров, пользователь может получить любой результат, исходя из собственного опыта работ с разнообразными материалами.