Что такое G-code? Все, что вам нужно знать

G-код — это секретная магия всех станков с числовым программным управлением (ЧПУ/CNC), таких как 3D-принтеры, лазерные резаки и, конечно же, фрезерные станки с ЧПУ. Он служит связующим звеном между цифровыми проектами и физическим производством, переводя эти проекты в точные инструкции, которые машины могут выполнять, чтобы воплотить их в жизнь.

В этой статье мы изучим основы G-кода и то, как он работает в различных приложениях, таких как 3D-печать методом послойного наплавления (FDM/fff) , 3D-печать на основе смолы и фрезерование с ЧПУ. Кроме того, мы рассмотрим некоторые полезные навыки работы с G-кодом, такие как ручное редактирование файлов .gcode, понимание того, чем они отличаются от машины к машине, и как адаптировать G-код для разных прошивок.

Без лишних слов, давайте начнем!

Что такое G-код?

G-код позволяет нам передавать нашу конструкцию на станок с ЧПУ понятным ему способом (Источник: AethericEye через Reddit )

G-код означает «Геометрический код» и представляет собой язык программирования, используемый для управления станками с числовым программным управлением (ЧПУ).

Вы можете задаться вопросом, зачем нужен язык программирования для станков с ЧПУ?

Если мы хотим вырезать один куб из дерева с помощью нашего фрезерного станка с ЧПУ, это может не занять много времени, если управлять станком вручную. Однако, если мы хотим вырезать 50 кубов – или что-то более сложное – мы можем просто создать набор команд, написанных в G-коде, что позволит нам автоматизировать процесс управления и сэкономить много времени. Вот почему G-код играет важную роль в любом современном станке с ЧПУ, который также включает ваш 3D-принтер!

Первоначально разработанный в 1950-х годах как часть революции автоматизации , он вскоре стал основой для управления обрабатывающими инструментами, такими как токарные станки, фрезерные станки, а позднее 3D-принтеры и другое производственное оборудование. Но из чего он сделан?

Базовая структура G-кода

Инструкции G-кода состоят из простых, понятных человеку команд, которые сообщают машине, как себя вести. Каждая строка, называемая «блоком», представляет собой отдельную инструкцию или команду, которая состоит из:

  • Код команды (например, G01, M104)
  • Параметры, задающие координаты или настройки (например X10 Y20 Z5, для положения или F1500для скорости подачи)

В G-коде есть два вида команд. Одна — «G», которая управляет движениями в станке, например, G28 (возврат всех осей в исходное положение). Другая — «M», которая управляет функциями, не связанными с движением, например, установкой температур (M104) или сменой инструментов (M06).

Технологии в двух словах

Машина 3-в-1 для 3D-печати, лазерной гравировки и фрезерования с ЧПУ (Источник: Aurora Tech через YouTube )

Моделирование методом послойного наплавления (FDM) — это метод 3D-печати, который создает объекты слой за слоем путем выдавливания расплавленной нити. Хотя он не может печатать мелкие детали так же хорошо, как 3D-принтер на основе смолы , он по-прежнему популярен среди любителей благодаря своей простоте и доступной цене. G-код специфичен для каждой модели принтера и для самой печати, поскольку разные принтеры имеют разные размеры, движения (например, разные системы движения ) и многое другое.

В отличие от FDM 3D-принтеров, фрезерование с ЧПУ подразумевает вычитание материала из существующей детали. Таким образом, вместо инструкций о том, как добавлять материал определенным образом, G-код для фрезерования с ЧПУ основан на точных субтрактивных производственных практиках.

3D-печать на основе смолы, такая как стереолитография (SLA) и цифровая обработка света (DLP) , работает иначе, чем 3D-печать FDM. Концепция FDM основана на экструзии расплавленной нити через сопло для создания объекта слой за слоем — как глазурь на торте. С другой стороны, печать на основе смолы использует светочувствительную смолу, которая отверждается (затвердевает) путем воздействия на нее контролируемого света, по одному слою за раз. Для этого система управления в основном вращается вокруг движений оси Z и настроек экспозиции , поскольку нет сопла, выдавливающего нить.

Хотя G-код используется в FDM 3D-принтерах, фрезерных станках с ЧПУ и 3D-принтерах на основе смолы, конкретные команды и функции значительно различаются из-за их различий. Давайте рассмотрим их подробнее.

В FDM 3D-печати

От набора инструкций до Benchy (Источник: All3DP)

Печать FDM 3D основана на G-коде, который управляет движением головки инструмента, а также точным контролем экструзии. Общие команды включают:

  • Перемещение и позиционирование: G01 используется для управляемого линейного перемещения, задавая координаты X, Y и Z, а также скорость подачи (скорость перемещения головки инструмента), F. Например, G01 X50 Y25 Z0.3 F1200 перемещает головку инструмента на X=50 мм, Y=25 мм, Z=0,3 мм со скоростью подачи 1200 мм/мин.
  • Экструзия: Параметр E используется с G01 для выдавливания или втягивания нити. Например, G01 X60 Y25 E5 F1500перемещается на X=60 мм и Y=25 мм, выдавливая 5 мм нити со скоростью подачи 1500 мм/мин. Втягивание можно выполнить с помощью G01 E-1 F1800, что втягивает 1 мм нити со скоростью подачи 1800 мм/мин.
  • Настройки температуры: такие команды, как M104, устанавливают температуру сопла, а M140 используется для подогреваемого слоя. Например, M104 S200устанавливает температуру сопла на 200 °C, а M140 S60 температуру слоя на 60 °C.
  • Управление вентилятором: M106 включает вентилятор и задает его скорость, а M107 выключает вентилятор. Например: M106 S128 устанавливает вентилятор на 50% скорости (S128 из максимума S255).

G-код, специфичный для FDM, часто включает параметры для управления скоростью печати, настройками отвода и другими действиями, специфичными для печати, такими как пауза (M0) или смена нити (M600). Поскольку принтеры FDM работают, добавляя материалы в область построения, G-код ориентирован на методы аддитивного производства.

В ЧПУ фрезеровании

Когда речь идет о фрезеровании с ЧПУ, как уже упоминалось, движения связаны с удалением материала с заготовки. Например:

  • Управление траекторией инструмента: такие команды, как G17, G18 и G19, выбирают рабочую плоскость. G17 задает плоскость XY, G18 задает плоскость XZ, а G19 задает плоскость YZ, обеспечивая точную ориентацию режущего инструмента.
  • Скорость подачи и глубина резания: Параметр F определяет скорость подачи, а S задает скорость шпинделя (скорость вращения режущего инструмента). Например, F1000устанавливает скорость подачи 1000 мм/мин, а S1200скорость шпинделя 1200 об/мин. Эти параметры имеют решающее значение для управления скоростью и глубиной резания.
  • Расширенные операции: такие команды, как G02 и G03, управляют круговой интерполяцией. G02 задает дуги по часовой стрелке, а G03 — против часовой стрелки. Коррекция на резец выполняется с помощью G41 и G42, где G41 смещает инструмент влево от траектории резания, а G42 смещает его вправо, что позволяет выполнять точную настройку в зависимости от размера инструмента.

В 3D-печати на основе смолы

Мы уже узнали, как выглядят типичные операции G-кода для печати FDM. Смоляные принтеры обычно используют G-код следующим образом:

  • Движение по оси Z: необходимо только перемещать платформу сборки вдоль оси Z между слоями, что упрощает структуру G-кода по сравнению с FDM, поскольку оси X и Y не нужны. Например, G1 Z1.2 F150перемещает платформу сборки на Z=1,2 мм со скоростью 150 мм/мин.
  • Отверждение слоев: команды включают в себя различные настройки времени экспозиции, которые контролируют, как долго смола отверждается УФ-светом для создания каждого слоя, с различными вариантами для начальных и последующих слоев, например. Например, M106 S255 P10 включает УФ-свет на 10 секунд.
  • Операции отслаивания и подъема: принтеры для смолы могут включать специальные команды G-кода для отслаивания или подъема между слоями, чтобы уменьшить всасывание и подготовиться к следующему слою. Например, G1 Z1.5 F100слегка поднимает платформу до Z=1,5 мм, чтобы отслаивать слой.

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

Как это сделано

Если вы задаетесь вопросом, нужно ли вам изучать все команды G-кода, чтобы напечатать или фрезеровать модель, вам не о чем беспокоиться.

G-код для FDM-печати и печати на основе смолы генерируется с помощью программного обеспечения для нарезки, в которое вы можете импортировать свои модели, указать параметры 3D-печати и преобразовать (т. е. нарезать!) процесс в G-код для вашего принтера.

Для FDM популярными программами являются OrcaSlicer и PrusaSlicer , обе из которых имеют открытый исходный код и поддерживают множество принтеров на рынке. Печать на основе смолы использует собственные слайсеры, такие как Chitubox и Lychee Slicer . Как уже упоминалось, существует множество настроек для печати FDM , и хотя у 3D-печати на основе смолы их не так много, все равно есть несколько, на которые стоит обратить внимание.

Для фрезерных станков с ЧПУ программное обеспечение для автоматизированной обработки (CAM) может помочь подготовить соответствующий G-код из проекта. Autodesk Fusion включает в себя как функции CAD, так и CAM, что делает его лучшим вариантом для проектов с ЧПУ . Как и ожидалось, есть много других вариантов, в том числе множество бесплатных, которые можно проверить.

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

Редактирование G-кода вручную

Как уже упоминалось, редактирование G-кода может быть полезным навыком для развития. Это связано с тем, что оно позволяет вам настраивать операции печати или обработки более широко, чем позволяет программное обеспечение для нарезки или CAM, а также вы можете настраивать параметры «на лету» или устранять неполадки.

Редактирование G-кода может быть довольно простым, так как обычно любой текстовый редактор, поддерживающий простой текст, отлично подходит для открытия файлов .gcode. Вы можете использовать Notepad++, Visual Studio Code или любой другой текстовый редактор по вашему выбору. Однако, если вы делаете что-то большее, чем простые изменения, лучше использовать специализированный редактор G-кода , такой как Repetier-Host или PrusaSlicer. Они предлагают отличные функции, такие как подсветка синтаксиса и автоматическое обнаружение ошибок, поэтому сложные изменения можно выполнять безопасно и легко.

После внесения изменений вам также следует прогнать G-код через визуализатор, чтобы убедиться в отсутствии ошибок. Например, простая пропущенная цифра в командах перемещения головки инструмента может привести к столкновению с чем-то и вызвать дорогостоящие повреждения. Большинство слайсеров и CAM-инструментов в наши дни поставляются с собственным просмотрщиком G-кода. Если вы хотите использовать отдельный просмотрщик, вам пригодятся просмотрщик G-кода OctoPrint или Repetier-Host.

Почему каждый файл G-кода уникален

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

Вот некоторые типичные различия, которые можно обнаружить в файлах G-кода, созданных для разных машин FDM:

  1. Параметры, характерные для конкретного станка: они часто включают в себя уникальные настройки, такие как размер рабочей пластины, ограничения осей и смещения инструмента, которые могут различаться в зависимости от модели.
  2. Различия в прошивках: Различные прошивки (например, Marlin, Klipper, GRBL) интерпретируют и поддерживают различные команды G-кода по-разному (или не поддерживают вообще), что влияет на совместимость.
  3. Требования к материалам: G-код включает настройки температуры и скорости, специфичные для используемого материала (например, PLA или ABS ). Другой материал может работать некорректно или вообще не работать из-за неправильных настроек.
  4. Возможности принтера: Для машин с такими функциями, как двойная экструзия или автоматическое выравнивание платформы, требуются отдельные команды в G-коде.

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

Разные вкусы (FDM)

Как уже упоминалось, даже специально для FDM 3D-принтеров не существует универсального G-кода, который бы работал на всех машинах (независимо от размера и используемого материала). Каждая машина использует определенную прошивку (которую можно изменить). Прошивка «транслирует» инструкции G-кода для машины, чтобы она могла их выполнить. Различные типы прошивок требуют различных «ароматизаторов» G-кода, которые в основном адаптированы к конкретным функциям указанной прошивки. Давайте рассмотрим три наиболее распространенных варианта прошивки.

Широко используемый в потребительских 3D-принтерах, Marlin поддерживает обширные команды, связанные с экструзией, контролем температуры и движением, такие как M600 для смены нити и G92 для установки положения. Он известен своей гибкостью и большой поддержкой сообщества.

Klipper — это современная прошивка, которая повышает производительность, перекладывая сложные вычисления на компьютер (например, Raspberry Pi) вместо того, чтобы полагаться на плату контроллера 3D-принтера. Она поддерживает расширенные функции, такие как прогрессивное давление и формирование ввода , изменяя структуру G-кода с помощью расширенных команд, чтобы обеспечить больший контроль над принтером. Она в первую очередь ориентирована на высокоскоростную печать.

Первоначально разработанная для проекта 3D-принтера RepRap, прошивка RepRap поддерживает команды, похожие на Marlin, и популярна среди DIY и пользовательских сборок за свою адаптивность. Тем не менее, она считается немного устаревшей по сравнению с Marlin и Klipper.

Как и почему разновидности G-кода различаются

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

Из-за различий в ограничениях файлы Marlin, Reprap и Klipper G-code обычно несовместимы друг с другом. При этом основные команды обычно одинаковы во всех прошивках. Дело в том что часть команд могут просто не поддерживаться например Marlin.

Конвертация между вкусами

Если у вас есть G-код, предназначенный, например, для 3D-принтера с Klipper, но вы также хотите использовать его на машине с Marlin, есть несколько способов сделать это.

  • Повторная нарезка файла: если у вас есть оригинальная модель, всегда лучше выбрать нужный тип g-code (он также называется пост-процесс) в слайсере и снова нарезать файл, чтобы убедиться в отсутствии проблем с G-кодом.
  • Ручное редактирование: это включает открытие G-кода в текстовом редакторе, идентификацию команд G-кода, специфичных для прошивки, и изменение или удаление неподдерживаемых команд по мере необходимости. Например, если есть вызов для макроса, реализованного в Klipper, вы должны попытаться найти конкретный G-код макроса и добавить его отдельно вместо Marlin. Аналогично, расширенный G-код Klipper должен быть заменен стандартным G-кодом Marlin.

G-code множество нюансов, одни и теже команды в разных ЧПУ станках могу писаться по разному, где то нужны проблемы между командами, где то двоеточие, также с обозначением дополнительных осей.

Это стоит учитывать. При выполнении g-code всегда необходимо проводить тесты перед финальной работой.

полезное видео об автоматизации с помощью g-code —

https://rutube.ru/video/d8110d7e73a955b50d9c2b1207c179ab

«Центр 3d печати и 3d сканирования Фидллер» готов предложить своим клиентам значительно более широкие возможности для реализации самых сложных задач — от 3д сканирования до серийной 3д печати различными материалами.

Находимся в Краснодаре.

Наши работы можно увидеть в группе вконтакте тут — https://vk.com/3d_krd_123

Наш магазин — https://fidller.com/blog/

По всем вопросам можно связаться:

телеграм — https://t.me/fidller

почта — shope@fidller.com

телефон — +79531178495

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Занимаюсь проектированием/ 3d печатью больше 10 лет. Со-переводчик книги "Доступная 3д печать для науки, образования и устойчивого развития". По всем вопросам писать в телеграм - https://t.me/fidller

You May Have Missed

Спасибо!

Теперь редакторы в курсе.