Чем открыть gcode онлайн
В этой статье разберем что представляет из себя Gcode для 3d принтеров. Детально рассмотрим структуру, виды команд, принцип формирования кадров.
Итак, Gcode — это язык программирования для машин и станков с числовым программным управлением. Для 3d принтеров он формируется программой слайсером, предварительно загрузив в нее 3d модель и задав необходимые параметры печати.
По какому же принципу работает ПО для 3d печати?
Принцип по которому работает любой 3d принтер – это разбиение 3d модели на множество горизонтальных слоев. Каждый слой вне зависимости от способа его формирования (экструдером FDM принтер, лазером SLA, DLMS) разбивается на множество линий определенной толщины и ширины или формируется в виде растрового изображения если это DLP принтер. Например ширина такой линии для FDM 3d принтера – это диаметр сопла, высота это толщина слоя. Для того чтобы задать экструдеру маршрут необходимо сформировать своего рода карту. Простыми словами – этот набор команд и есть gcode, а формируется он автоматически, программой сласером типа Cura, Slick3r и т.д., при подгрузке в нее 3d модели .
Каждый вектор траектории в gcode описывается декартовыми координатами, по которым и перемещается экструдер. В этом файле еще описываются такие параметры как нагрев, скорость перемещения, скорость выдавливание пластика и т.д. Вообще Gcode создавался для ЧПУ станков, он имеет множество различных команд и функций. Для этих устройств G-код на много сложнее, нежели для 3d принтеров. Для sla и dlp 3d принтеров слайсеры устроены немного по другому принципу, т.к. sla иcпользую лазеры, которые управляются гальванометрами с зеркалами, а dlp — проекторы засвечивают каждый слой пятном созданным в виде растрового изображения.
Немного истории, gcode был создан компанией Electronic Industries Alliance ещё в 1960-х годах. В дальнейшем распространился по всему как стандарт для применения во всех устройствах с ЧПУ.
Итак, ваш 3 d принтер – это устройство с числовым программным управлением. Работает он в соответствии с командами которые описаны в запушенном Gcode .
Файл содержащий код имеет расширение. gcode и условно его структура выглядит следующим образом:
1. Подготовительные операции. Здесь подготавливается 3 d принтер к печати, запускаются нагрев стола, экструдера, устанавливается параметры системы координат, включается охлаждение, перемещение головки в нулевую точку отсчета, выдавливается тестовая порция пластика и другие установленные параметры.
2. Непосредственно 3 d печать объекта.
3. Заключительный этап. Перемещение экструдера и стола в исходное положение, отключение нагрева всех элементов 3 d принтера и т.д.
Весь код состоит из строк, каждая из них называется кадром. При этом для каждого кадра или группы кадров, для того что бы было понятно что будет выполняться можно прописать комментарии которые понятны только разработчикам и начинаются они со знака точка с запятой ; , например:
Ну а прошивка (машина воспринимает только 0 и 1) работает только по командам которые можно разделить на:
1. G – Основные (называемые в стандарте подготовительными) к оманды которые выполняют перемещение от точки к точке по прямой линии, в высоту или заданной дуге окружности определенного радиуса. Т.е. позиционирование экструдера или инструмента в пространстве.
2. М – Вспомогательные (технологические ) команды. Различные команды которые включают рабочие элементы нагрев, охлаждение, передача, считывание параметров и их вывод на дисплей и др. Это самая многочисленная группа.
3. T — смена инструмента т.е. в нашем случае переход от с первого на второй экструдер T 0, T 1.
Ниже идут параметры которые необходимо передать команде для ее выполнения. Это конкретные числовые значения:
1. X , Y , Z – координаты для позиционирования инструмента в пространстве. Могут быть целыми, дробными, отрицательными, положительными.
2. F — скорость движения печатающей головки в мм/мин.
3. S – значение температуры, время в секундах, напряжение
4. P – параметры в миллисекундах для настройки PID -контроллеров
5. Е – кол-во пластика в мм. Зависит от указанного диаметра сопла и диаметра нити. В Gcode устанавка скорость работы мотора подающий пластик в самом начале с помощью параметра F 200 [G1 F200 E10], так же в настройках самого 3 d принтера, можно увеличить обороты двигателя в %. До обнуления в каждом кадре указывается общее кол-во в мм начиная сначала. Может принимать отрицательные значения если необходимо втягивание нити.
6. H — номер нагревателя. H 0 — Для стола, H 1 — H … для экструдера и т.д.
7. R – радиус дуги
8. D – диаметр нити.
Основные команды G , которые применяются для управления 3 d принтерами:
- G0 — Холостой ход, без выдавливания пластика. Например [G0 F5400 X92.570 Y102.081 Z0.300] – Перемещение в точку с координатами X92.570 Y102.081 Z0.300, со скоростью 5400 мм/мин.
- G1 — Прямолинейное движение по осям X Y Z, с выдавливаем пластика Е в мм. Например [G1 F1200 X93.754 Y101.488 E0.0660] – это координаты точки куда необходимо перемеcтиться экструдеру, со скоростью 20 мм/с, при этом израсходуется 0.066 мм нити.
- G2 и G3 – перемещение по дуге. Эта команда практически не применяется если ее не задать вручную, т.к. периметр всегда представляет из себя ломанную (поверхность состоит из треугольников), а заполнение формируется прямыми линиями. Для этой команды необходимо задать R радиус окружности дуги.
- G4 — Пауза в секундах в S – в сек, P – миллисекундах. [G4 S15] — Останавливаемся на 15 мин.
- G21 – значения единиц измерения в мм. Устанавливается один раз в подготовительной части.
- G28 — Команда Home — паркуем головку. [G28 Y0 X0 Z0] – перемещение экструдера в указанные координаты.
- G90 — Использовать абсолютные координаты . В этой команде отсчет производиться от начально нулевой точки декартовой системы координат. Устанавливается один раз в подготовительной части.
- G91 — Использовать относительные координаты . В этой команде отсчёт производится от последней точки траектории перемещения.
- G92 — Установить текущую заданную позицию.
Основные команды M которые применяются для управления 3 d принтерами:
Обязатльные:
Команды для SD карты
Команды для экструдер а:
- M82 — Установить экструдер в абсолютную систему координат
- M83 — Установить экструдер в относительную систему координат
- M104 — Нагрева экструдера до определенной температуры [ M104 S210] – нагрев до 210 град.
- M105 — Получить текущую температуру экструдера [ M105 S2]
- M106 — Включение вентилятора обдува детали [ M106 S255] — мощность 100% , [ M106 S128]- мощность 50%
- M107 — Выключение вентилятора обдува детали
- M109 — Нагреть и удерживать температуру экструдера [M109 S210] – температура 210 град
Управление стол для 3d печати:
- M140 — Установить температуру стола [ M140 S75] – температура 75 град.
- M190 — Нагреть стол и удерживать температуру [M190 S70] — температура 70 град
PID (параметры для регуляторов температуры):
- M301 — Записать PID параметры в EEPROM [M301 H1 P1 I2 D3]
- где: H0 – стол, H1 – экструдер – это обязательные параметры.
- M302 — Разрешить холодное выдавливание [M302 P1].
- M303 — Запустить процесс PID калибровки [M303 E-1 C8 S110]
- где: E-1 – стол, E0 – хотэнд, C8 – количество попыток, S – температура.
- M304 – Задать PID параметры для стола [M304 P1 I2 D3]
EEPROM – внутренняя память микроконтроллера (не обнуляется при выключении)
- M500 — Сохранить параметры в EEPROM
- M501 — Прочитать параметры из EEPROM
- M502 — Сброс параметров EEPROM
Параметры для пластиковой нити:
- M200 — Задать диаметр нити [M200 D1.75] – диаметр 1.75
- M600 – Заменить пластик.
А теперь разберем Gcode сформированный программой Ultimaker — Cura , 3 d модель 3 dbenchy с двумя экструдерами. Поддержки печатаем вторым экструдером.
Приложено 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 107 – включается вентилятор.
Дальше идет формирование первого слоя LAYER 0
G0 F5400 X92.570 Y102.081 Z0.300 – Холостой ход со скоростью 90 мм/с. Обратите внимание на продвинутые настройки.
G1 F1200 X93.754 Y101.488 E0.06606 – скорость первого слоя 20 мм/с, расход нити на этот кадр 0.066 мм.
Ниже указывается скорость для структур заполнения:
G1 F4800 E18.03179
G1 F1200 X134.460 Y114.661 E18.06728
G0 F5400 X133.848 Y115.470
Смена экструдера для печати поддержек
Заключительный этап 3 d печати: Перемещение экструдера и стола в исходное положение, отключение нагрева всех элеменетов 3 d принтера и т.д.
Теперь необходимо сделать траекторию сверления отверстий.
Тут установлены значения по умолчанию, нам необходимо вписать свои значения.
Теперь создадим траекторию для обрезки центрального круга.
Тут так же установлены значения по умолчанию, нам необходимо вписать свои значения.
Теперь осталось, сделать траекторию обработки по контору детали.
Вписываем свои значения.
С траекториями мы закончили, теперь необходимо рассчитать их в G-Code.
После непродолжительных расчетов, мы получаем траектории движения фрезы.
Теперь необходимо, экспортировать все наши траектории в файл.
Открывается окно, с настройками сохранения траекторий.
Последовательность траекторий, можно менять.
В нашем случае, необходим следующий порядок выполнения:
1. drill 1 – Сверление отверстий;
2. profile 2 – Вырезание внутреннего круга;
3. profile 3 – Обрезка по внешнему контуру.
Проверка ваших программ G-Code имеет решающее значение для обеспечения надежной и максимально безотказной работы вашего ЧПУ станка. Лучший способ сделать это - использовать симулятор G-Code например NC Viewer.
Симулятор ЧПУ - этот тип программного обеспечения даст вам визуальную проверку того, что ваша программа будет делать, прежде чем вы запустите ее на своем станке с ЧПУ.
Подобные программы, также известны как: проверка G-кода, G-Code визуализатор или анализатор G-Code, помогают предотвратить сбои и поломку инструмента, что позволит сэкономить вам деньги и нервы.
NC Viewer - редактор и симулятор G-кода.
Nc Viewer - это редактор и симулятор G-Code в браузере. Это означает, что вы можете добавить веб-сайт в закладки и пользоваться им, без необходимости загрузки. Он также удобен для мобильных устройств, хотя использовать его на мобильном телефоне непросто, экран слишком мал для информативного отображения.
Как вы могли догадаться, симулятор очень простой, с ограниченными функциями, хотя он поддерживает токарный станок и G-код для 3D-печати.
После загрузки приложения в браузере, вам будет представлена сетка рабочей области, показывающая три основных направления осей X, Y и Z. Красная линия представляет ось X, зеленая линия - ось Y, а синяя линия - ось Z.
В левой части экрана находится боковая панель, содержащая редактор файлов G-кода и несколько основных параметров машины.
Эту панель можно включать и выключать, с помощью небольшого значка «свернуть меню» в верхнем левом углу экрана. Или, как вариант, нажав ESC на клавиатуре.
Меню под значком «свернуть меню» состоит из:
- Отменить;
- Повторить;
- Новый файл;
- Открыть файл;
- Сохранить файл;
- Образец.
«Отменить» и «Повторить» говорят сами за себя.
«Новый файл» очистит редактор, чтобы вы могли составить новую программу.
«Открыть файл» позволяет загрузить существующую программу с вашего ПК.
«Сохранить файл» загрузит текущую программу в редакторе на ваш компьютер, а «Образец» загрузит демонстрационную программу, чтобы вы могли быстро проверить, как работает NC Viewer.
Внизу экрана редактора находятся три значка: Plot - «График», «Удалить график» и кнопка настроек (значок шестеренки).
Если ваш G-код не отображается автоматически и модель обработки пуста, нажмите кнопку «Plot», и она должна появиться.
Нажатие красной кнопки «Удалить график» удалит траекторию инструмента из рабочей области.
Кнопка настроек откроет панель с набором параметров для настройки окна редактора.
Под окном редактора находятся цифровые данные "Digital Read Out". Эти параметры показывают положение фрезы на основе вашего G-кода.
В окне опций, под индикацией, есть две «machine options» (опции машины).
Ориентация графика «Plot orientation» позволяет вам просматривать вашу программу G-кода так, как если бы вы запускали ее на вертикальном или горизонтальном ЧПУ стане.
Опция «diameter mode» позволяет отображать программу токарного станка.
Переходя к главному экрану симуляции обработки, где отображаются ваши траектории инструмента, в нижней части экрана есть меню, которое будет управлять перемещением «виртуального резака».
Меню состоит из знакомых кнопок для воспроизведения, перемотки назад, перехода вперед и назад и т. д.
Наряду с ними есть несколько кнопок выбора, для настройки области заднего фона.
Чтобы перемещаться и отслеживать траектории резака, вы можете использовать мышь или шарик ориентации, в правом верхнем углу экрана.
Чтобы увеличивать или уменьшать масштаб траекторий резака, используйте колесико прокрутки мыши, либо вращая колесо, либо нажимая на него и перемещая мышь вперед или назад. Чтобы перемещаться по области обработки, нажмите и удерживайте левую кнопку и переместите мышь.
Чтобы повернуть область обработки, нажмите и удерживайте правую кнопку и переместите мышь.
Другой способ ориентировать область обработки - использовать «шар обзора» в правом верхнем углу экрана. Просто щелкайте по различным областям шара для разных перспектив просмотра или щелкните значок дома для стандартного изометрического вида.
Преимущество симулятор ЧПУ NC Viewer.
Я обнаружил, что симулятор лучше всего работает с отображением линий и дуг, и довольно быстро эмулирует, по сравнению с другими программами.
Ограничения NC Viewer.
Первой небольшой проблемой является невозможность распознания коррекции инструмента, G41, G42 и т. д. Это небольшая проблема, которая характерна для многих симуляторов ЧПУ. NC Viewer будет показывать только осевую линию траектории инструмента, поскольку нет функции распознавания диаметров инструмента.
Следующим тестом, который я делал, было построение программы G-Code, которая использует подпрограмму, как и ожидалось, NC Viewer не смогла ее правильно прочитать.
Вывод по NC Viewer.
Не смотря на то, что это веб-приложение для симуляции работы ЧПУ станка. Оно имеет ряд ограничений. Программа отлично подойдёт для проверки кодов, написанных для самодельных ЧПУ станков, сделанных на Arduino или ESP32.
Понравился статья NC Viewer - редактор G-Code и симулятор ЧПУ? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.
Я уже рассказывал как в Inkscape можно начертить 2D деталь. Если не читали смотреть тут: Inkscape где скачать русскую версию. Настройка Inkscape
После создания чертежа в формате .svg из него нужно сделать G-code. Это можно сделать и с помощью Inkscape. Но в данной программе делать, это достаточно долго и много ненужных операций. Для себя открыл онлайн генератор кода MakerCAM.
Наверняка всем приходилось слышать, что если со своего компьютера не удается зайти на какие-то ресурсы, нужно просто скачать vpn на пк, и проблема будет полностью решена.
Данная программа доступна из любого современного браузера. Не нужно ни чего скачивать на компьютер.
В MakerCAM можно создавать простые элементы тут есть инструменты которые позволяют нарисовать круг, прямоугольник, эллипс, многоугольник и даже звезду .
Но рисовать все ровно проще в Inkscape.
Итак, возьмем заготовку которая сделана в Inkscape. И сделаем наш первый G-code в MakerCAM.
Выбираем файл с компьютера, в меню выберем File - Open SVG File .
В меню CAM находятся все основные операции обработки.
Пункт меню drill operation отвечает за сверление.
Выбираем все нужные отверстия удерживая клавишу Shift. И настраиваем сверление.
name - название операции, можно не менять;
tool diameter - диаметр инструмента;
target depth - глубина сверления;
drill location - центр отверстия, оставляем path center;
hole spacing - расстояние между отверстиями;
safely height - безопасная высота перемещения;
stock surface - начальная высота сверления;
peck distance - заглубление сверла за один прием, выставляем в зависимости от жесткости материала;
plunge rate - скорость врезания режущего инструмента;
После заполнения всех полей должны получить вот такой результат.
Как видим, диаметр сверла выставил 5 мм. А отверстия изначально нарисованы 8 мм. Но несмотря на это сверление будет производиться в центре отверстия.
Сейчас выберем центральный круг сделаем выборку на глубину 3 мм. Выбираем пункт меню pocket operation.
name - название;
tool diameter - диаметр фрезы;
target depth - глубина фрезерования;
safely height - безопасная высота перемещения;
stock surface - начальная высота обработки;
step over - процент выборки от диаметра фрезы, не рекомендую ставить больше 50%.
step down - глубина фрезерования за один проход;
feed rate - скорость подачи по осям X, Y;
plunge rate - скорость врезания режущего инструмента;
direction - направление движения рабочего инструмента: по часовой стрелке, или против .
Дальше вырежем нашу деталь, для этого воспользуемся пунктом меню profile operation.
name - название;
tool diameter - диаметр инструмента;
target depth - глубина фрезерования;
Inside/Outside - вырезать внутри или снаружи, ставим Outside (снаружи);
safely height - безопасная высота перемещения инструмента;
stock surface - начальная высота обработки;
step down - глубина реза за один проход;
feed rate - скорость подачи режущего инструмента;
plunge rate - скорость фрезерования;
direction - направление движения рабочего инструмента: по часовой стрелке, или против .
Обработку детали выбрали сейчас нужно все перепробовать в G-code. Для этого в меню CAM выбираем пункт calculate all.
После чего все траектории обработки будут помечены красным полупрозрачным цветом.
Сейчас нужно сохранить в файл.
Выбираем в CAM пункт export gcode.
Не забутке выделить все операции. Они должны подсвечиваться синим цветом. В противном случае у вас будет обработка операции которая была выделена остальные не сохраняться.
Сейчас можно зайти в любую программах в которой можно проверить G-code. В Linux нет нормальных программ для эмуляции работы ЧПУ станка. Для проверки кода я пользуюсь программой Universal G-code Sender. Про данную программу уже рассказывал вот тут: Universal G-Code Sender программа для управления ЧПУ станком.
Готовый код можно скачать тут.
Читайте также: