Inkscape - Ferramentas G-Code
... Muitos programas podem importar este formato. O Inkscape também pode fazer muito mais do que gráficos. Esta série mostrará algumas coisas que você pode fazer além dos gráficos com o Inkscape. Este primeiro artigo da série mostrará como a extensão G-Code Tools do Inkscape pode ser usada para produzir G-Code. O G-Code, por sua vez, é útil para programar máquinas, como plotters e gravadores a laser.
O que é G-Code e para que é usado?
A construção de máquinas para o setor de hobby está em alta. A publicação do código-fonte das impressoras RepRap 3D para autoconstrução e a disponibilidade de componentes eletrônicos, como Arduino ou Raspberry Pi, são provavelmente algumas das causas desse boom. A engenharia mecânica como hobby está encontrando cada vez mais adeptos. Essa tendência não parou com as impressoras 3D. Existem também fresadoras CNC, plotters, gravadores a laser, cortadores e até máquinas que você mesmo pode construir.
Você não precisa projetar ou construir essas máquinas sozinho. Você pode comprar essas máquinas por um preço relativamente baixo em kit ou já montadas. Todas essas máquinas têm uma coisa em comum: são controladas por computador. A manufatura auxiliada por computador (CAM), que se generalizou na manufatura, agora também é realizada em casa.
Código G ou linguagem de programação G
A linguagem mais amplamente usada para programar máquinas CAM é o G-Code. O Código G também é conhecido como linguagem de programação G. Essa linguagem foi desenvolvida no MIT na década de 1950. Desde então, várias organizações desenvolveram versões desta linguagem de programação. Lembre-se disso ao trabalhar com ele. Países diferentes têm padrões diferentes para este idioma. O nome vem do fato de que muitas instruções neste código começam com a letra G. Esta letra é usada para transmitir comandos de viagem ou rota para a máquina.
Os comandos vão, no verdadeiro sentido da palavra, de A (posição absoluta ou incremental em torno do eixo X; girando em torno de X) a Z (absoluta ou incremental na direção do eixo Z). Os comandos com o prefixo M (muitos) transmitem outras instruções à máquina. O refrigerante on / off é um exemplo de um comando M. Se você quiser uma lista mais abrangente dos comandos do código G, há uma tabela na Wikipedia.
%
G00 X0 Y0 F70
G01 Z-1 F50
G01 X0 Y20 F50
G02 X20 Y0 J-20
G01 X0 Y0
G00 Z0 F70
M30
%
Este pequeno exemplo usaria um quadrado. Você pode escrever este código G em qualquer editor de sua escolha. Mas quando se trata de coisas mais complexas, geralmente você não fará esse tipo de codificação de baixo nível manualmente. Quando se trata de impressão 3D, o cortador escreve o código G para você. Mas e quando você quiser usar uma plotadora ou gravador a laser?
Outro software para escrever código G
Então, você precisará de um programa para fazer esse trabalho por você. Claro, alguns programas CAD podem escrever G-Code. Mas nem todos os programas CAD de código aberto podem fazer isso. Aqui estão algumas outras soluções de código aberto para isso:
dxf2gcode, normalmente uma ferramenta de linha de comando, mas tem uma GUI implementada em Python
dmap2gcode, você pode importar gráficos raster e convertê-los
Millcrum, uma ferramenta baseada em navegador
LinuxCNC, pode importar gráficos raster e convertê-los em código G
TrueTypeTracer ou F-Engrave se você quiser gravar fontes
Como você pode ver, não há problema em encontrar uma ferramenta para fazer isso. O que não gosto é o uso de gráficos raster. Eu uso uma máquina CNC porque ela funciona com mais precisão do que eu poderia fazer manualmente. Usar gráficos raster e plotá-los para criar um caminho para o Código G não é mais preciso. Acho que usar gráficos vetoriais, que de qualquer maneira tem caminhos, é muito mais preciso.
Quando se trata de gráficos vetoriais, não há como contornar o Inkscape; pelo menos não se você usa Linux. Existem alguns outros programas. Mas eles estão longe da capacidade que o Inkscape tem. Ou eles são projetados para outros fins. Portanto, a questão é: "O Inkscape pode ser usado para criar o G-Code?" E a resposta é sim! "Desde a versão 0.91, o Inkscape vem com uma extensão chamada GCode Tools. Esta extensão faz exatamente o que queremos: converte caminhos em código G.
Então, tudo que você precisa fazer, se ainda não o fez, é instalar o Inkscape:
$ sudo dnf instalar o Inkscape
Uma coisa para ter em mente desde o início (onde está a luz, então está a sombra): a extensão GCode Tools tem muitos recursos que não estão bem documentados. O desenvolvedor acha que é uma boa ideia usar um fórum para documentação. Além disso, é necessário um conhecimento básico de Código G e CAM para compreender as funções.
Outro ponto a ser observado é que o desenvolvimento não é tão dinâmico como era na época em que as ferramentas GCode foram empacotadas com o Inkscape.
Introdução à extensão Inkscape G-Code Tools
A primeira etapa é a mesma de quando você faria qualquer outra coisa no Inkscape: ajustar as propriedades do seu documento. Portanto, abra as configurações do documento com Shift + Ctrl + D ou clicando no ícone na barra de comando e defina as propriedades do documento para o tamanho da sua peça de trabalho.
Em seguida, defina os pontos de orientação em Extensions> Gcodetools> Orientation Points. Você pode usar as configurações padrão. As configurações padrão provavelmente fornecerão algo semelhante ao que é mostrado abaixo.
Inkscape com configurações de documentos e pontos de orientação
A próxima etapa é editar a biblioteca de ferramentas (Extensões> Gcodetools> Biblioteca de ferramentas). Isso abrirá a janela de diálogo para a configuração da ferramenta. Lá você escolhe a ferramenta que usará. A ferramenta padrão está bem. Depois de escolher a ferramenta e clicar em Aplicar, um retângulo aparecerá na tela com as configurações da ferramenta. Essas configurações podem ser editadas com a Ferramenta de Texto (T). Mas isso é um pouco complicado.
Inkscape com configurações de biblioteca de ferramentas padrão adicionadas ao documento
A extensão G-Code Tools usará essas configurações posteriormente. Essas configurações de ferramenta são agrupadas com um nome identificável. Se você desagrupar essas configurações, esse nome será perdido.
Existem duas possibilidades para evitar perder o controle se você desagrupar as configurações da ferramenta. Você pode usar o desagrupamento de 4 cliques com a ferramenta de seleção ativada. Ou você pode desagrupá-lo usando Shift + Ctrl + G e, a seguir, dar um nome ao grupo mais tarde usando o editor de XML.
No primeiro caso, você precisa observar se o grupo é restaurado antes de desenhar algo novo. Caso contrário, o objeto recém-desenhado será adicionado a este grupo.
Agora você pode desenhar as rotas que deseja converter posteriormente para G-Code. Objetos como retângulos, círculos, estrelas e polígonos, assim como texto, devem ser convertidos em caminhos (Caminho> Objeto em caminho ou Shift + Ctrl + C).
Fontes Hershey ou fontes de traço
Com relação às fontes, observe que TTF e OTF são chamadas de fontes de contorno. Isso significa que o contorno do personagem individual é definido e será gravado ou cortado como tal. Se você não quiser isso e quiser usar, por exemplo, uma fonte de script, você deve usar Stroke Fonts. O próprio Inkscape vem com uma pequena coleção deles por padrão (veja Extensões> Texto> Texto da Hershey's).
Fontes de curso de extensão de texto Inkscape Hershey
As fontes de traço de extensão de texto da Hershey
Aqui está outro artigo sobre como criar suas próprias fontes de traço. Eles não são úteis apenas para gravar, mas também para bordar.
Funções de preenchimento de área
Em alguns casos, pode ser necessário preencher os caminhos com um padrão. A extensão G-Code Tools tem um recurso que oferece duas maneiras de preencher objetos com padrões: zig zag e espiral. Há outro recurso que não está funcionando no momento (o Inkscape mudou algumas partes das extensões com o lançamento da versão 1.0). A última função iria preencher o objeto com a ajuda das funções de compensação no Inkscape. Essas funções são encontradas em Extensions> Gcodetools> Area.
A função Preencher área da extensão G-Code Tools.
À esquerda, o preenchimento de padrão e à direita (atualmente não funcionando) o preenchimento de deslocamento. A extensão irá executar a guia ativa!
A área é preenchida da ferramenta GCode, na parte superior do Zigzag e na parte inferior da Espiral. Observe que os resultados parecerão diferentes se você usar esta função letra por letra em vez do caminho completo.
A área da ferramenta G-code é preenchida, no Zig zag superior e na Espiral inferior. Observe que os resultados parecerão diferentes se você aplicar esta característica letra por letra, em vez de todo o caminho.
Com mais e diferentes preenchimentos de área, geralmente você terá que desenhar os caminhos à mão (cerca de 90% das vezes). A extensão EggBot tem a função de preencher regiões com padrões. Você também pode usar os padrões clássicos de hachura. Mas você terá que converter o padrão de preenchimento de volta em um objeto. Caso contrário, a extensão G-Code Tools não pode convertê-lo. Além disso, Evilmadscientist tem uma bela página wiki que descreve os métodos de preenchimento.
Conversão de rotas em código G
Para converter os caminhos desenhados em G-Code, use a função Extensions> Gcodetools> Paths to G-Code. Esta função será executada nos objetos selecionados. Se nenhum objeto for selecionado, todos os caminhos no documento serão convertidos.
Atualmente, não há funcionalidade para salvar o código G usando o menu de arquivo. Isso deve ser feito a partir da caixa de diálogo de extensão Ferramentas do Código G ao converter os caminhos para Código G. Na guia Preferências, você precisa especificar o caminho e o nome do arquivo de saída.
Linhas e setas de cores diferentes serão renderizadas na tela. As linhas azuis e verdes apresentam curvas (G02 e G03). As linhas vermelhas mostram linhas retas (G01). Quando você vê esse estilo, sabe que está trabalhando com o G-Code.
Conclusão
As opiniões divergem sobre se o Inkscape é a ferramenta certa para criar G-Code. Se você tiver em mente que o Inkscape só funciona em duas dimensões e você não espera muito, pode criar G-Code com ele. Para trabalhos simples, como traçar algumas letras ou logotipos, é definitivamente o suficiente. A principal desvantagem da extensão G-Code Tools é a falta de documentação. Isso torna difícil começar a usar as ferramentas G-Code. Outra desvantagem é que atualmente não há muito desenvolvimento ativo de ferramentas G-Code. Existem outras extensões para o Inkscape que também têm como alvo o G-Code. Mas eles já são história ou também não estão se desenvolvendo ativamente. A extensão Makerbot Unicorn GCode Output e a extensão GCode Plot são alguns exemplos do último caso. Definitivamente, há uma necessidade de uma maneira fácil de exportar o G-Code diretamente.