Allora vediamo se in poche parole riesco a spiegare cosa ho fatto (iniziato a fare) e perchè ... vado rapido, poi se la cosa interessa sono qui per eventuali chiarimenti.
1) per gioco ho realizzato una piccola cnc che al posto dell'asse Z monta un diodo laser di un masterizzatore dvd
2) per comandare la macchina uso EMC2 perchè, a parte le considerazioni personali, per lavoro uso, configuro e scrivo software in ambiente linux
3) ho provato diversi software per trasformare un'immagine in gcode ma tutti hanno il maledetto vizio di fresare anche il piano intorno alla scritta (o immagine)
4) a me serviva un software che si comportasse come quello delle stampanti che scandiscono l'immagine (per righe o colonne) e spruzzano l'inchiostro solo dove c'è un puntino nero (lo so è una semplificazione...ma rende)
5) altra caratteristica è che il gcode deve essere generato in modo da accendere e spegnere il laser attaccato al relè dell'elettromandrino (vedi esempio dell'inchiostro)
Sono nuovo delle cnc e quindi non conosco tutti i software e le loro potenzialità ...così come non conosco il gcode...e tante altre cose
Allora ieri ho deciso di scrivere un programmino "imageLaserGcode" che fa tutto questo...o meglio lo farà . Per il momento è una alpha release e quindi è molto ma molto limitato. L'intento era quello di validare "il sistema" e penso che funzioni...per cui, tempo permettendo, posso proseguire
Solitamente scrivo codice pulito ed efficiente ma, in questo caso, non è così perchè ho dovuto imparare il python, i rudimenti di gcode e un sacco di altre menate...il tutto in 2 giorni (lavoro compreso). Chiedo pertanto venia per l'orribile codice scritto e prometto solennemente di migliorarlo in futuro
Mi ha molto aiutato studiare il codice di image-to-gcode di Chris Radek e Jeff Epler che fa parte di EMC2...pertanto li ringrazio e gli tributo i dovuti meriti.
Ovviamente il software è open source e completamente gratuito
Per usare il programma:
copiatelo nella stessa directory di image-to-gcode e da consolle scrivete
python imageLaserGcode.py nomeimmagine > nomefilegcode
es:
python imageLaserGcode.py logo_06.gif > prova.ngc
Uscirà un warning di sistema (non preoccupatevi) e caricate il gcode in EMC2
Al momento il software gestisce solo immagini in bianco e nero e, manco a dirlo, non è per niente ottimizzato
Nell'archivio allegato ho messo anche l'immagine di prova
Allego anche un paio di foto per capire anche senza provarlo
logo_06.gif: immagine bianco e nero di prova
img001.jpg: una vista del gcode caricato in EMC2
Aspetto commenti e critiche.
Ciao e grazie
Carlo