Softwares para CNC em Linux

Olá! Há algum tempo atrás fiz uma publicação acerca do Meu laboratório caseiro onde mostrei uma pequena CNC que construí. Na mesma publicação referi que um dia iria fazer uma outra retratando os diversos softwares que uso para desenhar peças a 3D e operar a CNC e esta publicação trata-se exactamente disso.
 
O processo de usar uma CNC para fazer peças a 3D segue três passos principais:
 
1. Desenhar as peças.
 
Para desenhar as peças eu uso o HeeksCAD. O HeeksCAD é uma aplicação de CAD gratuita e open source, desenvolvida por Dan Heeks.
 
visualização do HeeksCAD

Encontrei-o há algum tempo atrás e penso que não existe nenhum software gratuito e open source que se possa comparar ao mesmo. Acho que é bastante bom para desenhar as peças. Pode-se:
  • Importar modelos sólidos a partir de ficheiros STEP e IGES;
  • Desenhar a geometria da construção, linhas e arcos, criar sólidos primitivos ou fazer sólidos através da extrusão de um esboço;
  • Modificar sólidos misturando-os com outros ou usando operações booleanas;
  • Guardar em IGES, STEP e STL.
  • Fazer a impressão da geometria 2D ou gravar em HPGL;
  • Importar e exportar ficheiros dxf;
  • Suporte de desenho linhas, arcos, elipses, splines e poli-linhas;
  • Desenho baseado em regras também é suportado.
Aprender a usá-lo é bastante simples e intuitivo. Existem alguns tutoriais em vídeo no youtube que ensinam a usar todas as funcionalidades do HeeksCAD. Vejam o vídeo abaixo para vê-lo em acção. Há mais alguns vídeos no youtube.
 
 
Actualização (18/03/12): Recentemente encontrei outro software, o FreeCAD, que se tornou na minha escolha #1 em software CAD. É muito rico em funcionalidades e a possibilidade de fazer desenhos orientados por regras torna-o muito fácil e rápido de usar. Após desenhar as peças no FreeCAD pode ainda exportá-lo como .dxf mas para depois importá-lo no HeeksCAD é preciso primeiro abrir o ficheiro .dxf no QCad e depois salvá-lo novamente no mesmo formato. Por alguma razão o HeeksCAD não consegue abrir os ficheiros .dxf exportados pelo FreeCAD. Pode-se ainda exportar os modelos 3D num ficheiro .step e depois importá-lo directamente no HeeksCAD. Fácil, rápido e funciona perfeitamente.
 
visualização do Freecad
 
Os outros softwares de desenho 3D que já usei são o Google Sketchup (gratuito) e o Alibre Design (comercial) mas nenhum deles pode ser usado no linux. O Google Sketchup é muito fácil de usar mas não possui algumas funcionalidades importantes como o desenho baseado em regras. Port outro lado, o Alibre Design é um software profissional muito bom e fácil de utilizar, mas tem que ser comprado. Contudo, considero o Heekscad muito mais próximo do Alibre Design do que do Google Sketchup. Há  ainda outro software de modelação 3D que pode ser usado em linux, que é o OpenSCAD. O OpenSCAD não é um modelador interactivo. Em vez disso, é uma espécie de compilador 3D que lê scripts que descrevem objectos 3D e faz a renderização dos mesmos. É muito bom no sentido em que dá um controlo absoluto do processo de modelação e permite mudar facilmente qualquer passo no mesmo ou fazer desenhos que tenham parâmetros configuráveis. Contudo, uma vez que usei o Alibre Design, o FreeCAD tornou-se a minha escolha #1 em software CAD em linux (sendo o HeeksCAD a #2). O HeeksCAD também tem uma outra funcionalidade muito boa que, tanto quanto sei, nenhum dos  outros softwares referidos tem e que irá ser descrita no próximo passo.
 
2. Gerar o G-code a partir das peças desenhadas
 
Para gerar o G-Code para as peças desenhadas eu uso o plugin do HeeksCAD, HeeksCNC. O HeeksCNC permite escolher de entre vários tipos de operações de corte, tais como operações de “pocketing” ou perfil, de entre outras. Podem-se definir tolerâncias, avanços, ferramentas a ser usadas, etc. A primeira imagem neste post mostra os caminhos de corte a verde. Abaixo é mostrado outro tutorial que ensina como usar o plugin HeeksCNC:
 
 
Relativamente à fresagem de PCBs, uso a aplicação pcb2gcode. Basta colocar um ficheiro “millproject” dentro da pasta onde os ficheiros gerber estão localizados e correr a aplicação na consola. O meu ficheiro “millproject” contém os seguintes dados:

# this is an example config file for pcb2gcode.
# place this in the same directory as your gerber files to save typing# You may want to uncomment and change those in local project files
#front=mirror-Inferior.gbl
back=Sensibilizadora-Inferior.gbl
drill=Sensibilizadora.drl
#outline=contour.back.gbr
#verbose# parameters for isolation routing / engraving / etching
zwork=-0.008
zsafe=0.8
zchange=1.0
mill-feed=6
mill-speed=30000

# parameters for cutting out boards
cutter-diameter=0.059055118
zcut=-0.08
cut-feed=3
cut-speed=20000
cut-infeed=1

# drilling parameters

zdrill=-0.08
drill-feed=3
drill-speed=20000
#offset=0.006
# generate voronoi regions
offset=1.0
dpi=1000
#max-deviation=0

O primeiro ficheiro “millproject” que encontrei e usei como exemplo foi a que encontrei na Wiki da RepRap. Há alguma informação útil lá que podem também consultar lá. 🙂

Com o pcb2gode também se podem gerar PCBs com regiões de Voronoi. Voro.. quê? Vou explicar 🙂 Uma PCB com regiões de Voronoi é uma PCB em que o roteamento de isolamento é optimizado para o caminho mais curto a ser feito pela fresadora CNC. Abaixo podem ver-se as diferenças entre uma PCB normal e uma PCB com regiões de Voronoi:

imagem da PCB original
imagem da PCB com regiões de Voronoi
 

3. Enviar os comandos G-Code para a máquina.

Para realizar este passo final uso o Linux EMC2. Pode ser instalado no computador ou pode usar-se apenas como live CD. Penso que é um software muito bom e simples para controlar máquinas. Sim, digo máquinas porque é possível controlar vários tipos de máquinas com o mesmo. Tem um configurador que faz com que seja muito fácil criar um perfil para qualquer máquina CNC, podendo-se configurar as ligações, as velocidades e as frequências dos sinais a ser aplicados aos motores. Também tem dois modos manuais: o modo de joystick e o modo de consola. No modo de joystick pode-se controlar a máquina usando o rato ou o teclado. No modo de consola podem-se inserir comandos em G-code.

Captura de ecrã do LinuxCNC
 
E com estes três passos fica-se com tudo o que é necessário para fazer qualquer coisa com uma CNC usando apenas software gratuito e open source 😉 Espero que tenham gostado e se tiverem algumas questões ou sugestões que não tenha mencionado nesta publicação, sintam-se à vontade para as deixar na secção de comentários abaixo. Até à próxima!

Achou esta publicação útil? Deseja contribuir para outros projectos envolvendo ciências computacionais, electrónica, robótica ou mecatrónica que serão publicados neste blog? Se sim, pode fazer uma doação utilizando o botão do Paypal abaixo. Obrigado! 🙂
 

Donate