Inkscape - Инструменты G-кода
... Многие программы могут импортировать этот формат. Inkscape также может делать гораздо больше, чем просто графика. Эта серия статей покажет вам, что вы можете делать помимо графики с помощью Inkscape. В этой первой статье из серии будет показано, как расширение Inkscape G-Code Tools можно использовать для создания G-кода. G-Code, в свою очередь, полезен для программирования таких машин, как лазерные плоттеры и граверы.
Что такое G-код и для чего он используется?
Производство машин для хобби переживает бум. Публикация исходного кода 3D-принтеров RepRap для самостоятельной сборки и доступность электронных компонентов, таких как Arduino или Raspberry Pi, вероятно, являются одними из причин этого бума. Машиностроение как хобби находит все больше и больше приверженцев. Эта тенденция не остановилась на 3D-принтерах. Существуют также фрезерные станки с ЧПУ, плоттеры, лазерные граверы, резаки и даже станки, которые вы можете построить самостоятельно.
Вам не нужно самостоятельно проектировать или строить эти машины. Вы можете купить эти машины по относительно невысокой цене в комплекте или уже в сборе. У всех этих машин есть одна общая черта: они управляются компьютером. Автоматизированное производство (CAM), получившее широкое распространение в производстве, теперь также осуществляется дома.
G-Code или язык программирования G
G-Code - наиболее широко используемый язык для программирования CAM-машин. G-Code также известен как язык программирования G. Этот язык был разработан в Массачусетском технологическом институте в 1950-х годах. С тех пор различные организации разработали версии этого языка программирования. Помните об этом при работе с ним. В разных странах разные стандарты для этого языка. Название происходит от того факта, что многие инструкции в этом коде начинаются с буквы G. Эта буква используется для передачи машине команд перемещения или маршрута.
Команды идут в прямом смысле слова от A (абсолютное или инкрементное положение вокруг оси X; вращение вокруг X) до Z (абсолютное или инкрементальное в направлении оси Z). Команды с префиксом M (многие) передают машине другие инструкции. Включение / выключение охлаждающей жидкости - это пример команды M. Если вам нужен более полный список команд кода G, в Википедии есть таблица.
%
G00 Х0 Y0 F70
G01 Z-1 F50
G01 Х0 Y20 F50
G02 X20 Y0 J-20
G01 Х0 У0
G00 Z0 F70
M30
%
В этом небольшом примере будет измельчаться квадрат. Вы можете написать этот G-код в любом редакторе по вашему выбору. Но когда дело доходит до более сложных вещей, вы обычно не будете выполнять такое низкоуровневое кодирование вручную. Когда дело доходит до 3D-печати, резак пишет за вас G-код. Но как насчет того, чтобы использовать плоттер или лазерный гравер?
Другое программное обеспечение для написания кода G
Тогда вам понадобится программа, которая сделает эту работу за вас. Конечно, некоторые программы САПР могут писать G-код. Но не все программы САПР с открытым исходным кодом могут это сделать. Вот несколько других решений с открытым исходным кодом для этого:
dxf2gcode, обычно инструмент командной строки, но имеет графический интерфейс, реализованный на Python.
dmap2gcode, вы можете импортировать растровую графику и конвертировать ее
Millcrum, инструмент на основе браузера
LinuxCNC, может импортировать растровую графику и преобразовывать ее в код G
TrueTypeTracer или F-Engrave, если вы хотите гравировать шрифты
Как видите, нет проблем с поиском инструмента для этого. Что мне не нравится, так это использование растровой графики. Я использую станок с ЧПУ, потому что он работает более точно, чем я мог бы сделать вручную. Использование растровой графики и ее построение для создания пути для G-кода больше не является точным. Я считаю, что использование векторной графики, в которой в любом случае есть пути, намного точнее.
Когда дело доходит до векторной графики, от Inkscape никуда не деться; по крайней мере, если вы используете Linux. Есть и другие программы. Но они далеки от возможностей Inkscape. Или они предназначены для других целей. Итак, вопрос: «Можно ли использовать Inkscape для создания G-кода?» И ответ - да! «Начиная с версии 0.91, Inkscape был связан с расширением GCode Tools. Это расширение делает именно то, что мы хотим: оно преобразует пути в G-код.
Итак, все, что вам нужно сделать, если вы еще этого не сделали, это установить Inkscape:
$ sudo dnf установить Inkscape
Одна вещь, о которой следует помнить заранее (там, где есть свет, и тень): расширение GCode Tools имеет множество функций, которые недостаточно хорошо документированы. Разработчик считает, что использовать форум для документации - это хорошая идея. Кроме того, для понимания функций требуются базовые знания G-Code и CAM.
Также следует отметить, что разработка не так динамична, как в то время, когда инструменты GCode были упакованы с Inkscape.
Введение в расширение Inkscape G-Code Tools
Первый шаг такой же, как если бы вы делали что-нибудь еще в Inkscape: настройте свойства вашего документа. Итак, откройте настройки документа с помощью Shift + Ctrl + D или щелкнув значок на панели команд и установите свойства документа в соответствии с размером вашей заготовки.
Затем установите точки ориентации, перейдя в Extensions> Gcodetools> Orientation Points. Вы можете использовать настройки по умолчанию. Настройки по умолчанию, вероятно, дадут вам нечто похожее на то, что показано ниже.
Inkscape с настройками документа и точками ориентации
Следующим шагом является редактирование библиотеки инструментов (Расширения> Gcodetools> Библиотека инструментов). Это откроет диалоговое окно для настройки инструмента. Здесь вы выбираете инструмент, который будете использовать. Инструмент по умолчанию в порядке. После того, как вы выбрали инструмент и нажали «Применить», на холсте появится прямоугольник с настройками инструмента. Эти настройки можно редактировать с помощью инструмента «Текст» (T). Но это немного сложно.
В документ добавлен Inkscape с настройками библиотеки инструментов по умолчанию
Расширение G-Code Tools будет использовать эти настройки позже. Эти настройки инструмента сгруппированы под понятным именем. Если вы разгруппируете эти настройки, это имя будет потеряно.
Есть две возможности избежать потери ручки, если вы разгруппируете настройки инструмента. Вы можете использовать разгруппировку в 4 щелчка мышью с активированным инструментом выбора. Или вы можете разгруппировать ее, используя Shift + Ctrl + G, а затем дать группе имя позже с помощью редактора XML.
В первом случае нужно следить за тем, чтобы группа восстановилась, прежде чем рисовать что-то новое. В противном случае вновь нарисованный объект будет добавлен в эту группу.
Теперь вы можете нарисовать маршруты, которые позже хотите преобразовать в G-код. Такие объекты, как прямоугольники, круги, звезды и многоугольники, а также текст должны быть преобразованы в пути (Путь> Объект в путь или Shift + Ctrl + C).
Шрифты Hershey или штриховые шрифты
Что касается шрифтов, обратите внимание, что TTF и OTF называются контурными шрифтами. Это означает, что очертание отдельного персонажа определено и будет выгравировано или вырезано как таковое. Если вы этого не хотите и хотите использовать, например, скриптовый шрифт, вам следует использовать вместо него Stroke Fonts. Сам Inkscape по умолчанию поставляется с небольшой коллекцией из них (см. Расширения> Текст> Текст Херши).
Штриховые шрифты для расширения текста Inkscape Hershey
Штриховые шрифты расширения текста Hershey
Вот еще одна статья о том, как создавать свои собственные штриховые шрифты. Они пригодятся не только для гравировки, но и для вышивки.
Функции заполнения области
В некоторых случаях может потребоваться заполнение дорожек узором. Расширение G-Code Tools имеет функцию, которая предлагает два способа заливки объектов узорами: зигзаг и спираль. Есть еще одна функция, которая в настоящее время не работает (Inkscape изменил некоторые части расширений с выпуском версии 1.0). Последняя функция будет заполнять объект с помощью функций компенсации в Inkscape. Эти функции находятся в расширениях> Gcodetools> Area.
Функция Fill Area расширения G-Code Tools.
Слева заливка узором, а справа (в настоящее время не работает) заливка смещения. Расширение запустит активную вкладку!
Область заполняется инструментом GCode вверху зигзага и внизу спирали. Обратите внимание, что результаты будут выглядеть иначе, если вы используете эту функцию по буквам вместо полного пути.
Область инструмента G-кода заполняется вверху зигзагом и внизу спиралью. Обратите внимание, что результаты будут выглядеть иначе, если применить эту функцию по буквам, а не по всему пути.
При большем количестве различных заливок областей вам часто придется рисовать пути вручную (примерно в 90% случаев). В расширении EggBot есть функция заливки областей узорами. Также можно использовать классические образцы штриховки. Но вам придется преобразовать узор заливки обратно в объект. В противном случае расширение G-Code Tools не сможет его преобразовать. Помимо этого, у Evilmadscientist есть хорошая вики-страница, описывающая методы заполнения.
Преобразование маршрутов в G-код
Чтобы преобразовать нарисованные пути в G-код, используйте функцию Extensions> Gcodetools> Paths to G-Code. Эта функция будет выполнена на выбранных объектах. Если ни один объект не выбран, все пути в документе будут преобразованы.
В настоящее время нет возможности сохранить G-код с помощью меню файла. Это необходимо сделать из диалогового окна расширения G-Code Tools при преобразовании путей в G-Code. Во вкладке Preferences вам необходимо указать путь и имя выходного файла.
На холсте будут отображаться линии и стрелки разного цвета. Синяя и зеленая линии показывают кривые (G02 и G03). Красные линии показывают прямые (G01). Когда вы видите этот стиль, вы знаете, что работаете с G-Code.
Заключение
Мнения расходятся относительно того, является ли Inkscape правильным инструментом для создания G-кода. Если вы помните, что Inkscape работает только в двух измерениях, и вы не ожидаете слишком многого, вы можете создать G-код с его помощью. Для простых работ, таких как начертание букв или логотипов, этого определенно достаточно. Основным недостатком расширения G-Code Tools является отсутствие документации. Это затрудняет начало работы с инструментами G-Code. Еще одним недостатком является то, что в настоящее время инструменты G-Code не очень активно развиваются. Существуют и другие расширения для Inkscape, которые также нацелены на G-Code. Но они уже история или активно не развиваются. Примерами последнего случая являются расширение Makerbot Unicorn GCode Output и расширение GCode Plot. Определенно существует потребность в простом способе прямого экспорта G-кода.