Comments
Description
Transcript
HOWTO: incidere scritte con 3Drag/K8200
HOWTO: incidere scritte con 3Drag/K8200 Ver. 1.0 1 Problema 2 Attrezzature 3 Sofware 3.1 TextGraver 3.2 DeskEngrave 3.3 StickFont 3.4 Inkscape 4 Incisione PLA 5 Toolchain 6 Note e riferimenti 1 Problema Per realizzare un portachiavi stampato 3D per le premiazioni del nostro circolo di Bridge, (http://www.thingiverse.com/thing:1235307) volevo incidere la scritta “GIOBRIDGE 2015” sul retro di un portachiavi in PLA, usando la 3Drag come CNC. Ma dopo aver rotto 2 punte senza un risultato accettabile ho deciso di fermarmi un attimo e rivedere un po’ tutta la faccenda. In questo documento i risultati delle mie ricerche e prove per incidere scritte, inclusa una toolchain con un mio programma di filtro per file testo che automatizza le operazioni, con la speranza che siano utili e facciano risparmiare tempo a qualche altro utente 3Drag e che sollecitino correzioni e ulteriori consigli da parte degli esperti. 1.2 Funzionalità richiesta. ✔ Caricare il Gcode su Repetier host. ✔ Montare l’oggetto da incidere sul piano, ben orizzontale. ✔ Posizionare a mano con Repetier host la fresa in corrispondenza di un punto di riferimento sull’oggetto da incidere. ✔ Regolare l’altezza Z in base alla profondità di incisione voluta. ✔ Avviare il motore a 220 V, e poi su Repetier host il Gcode. ✔ Al termine la fresa si riposiziona in HOME. ✔ Fermare la fresa e smontare l’oggetto inciso. In altre parole, non desidero un codice assoluto, che costringa a posizionare gli oggetti sempre nella stessa posizione sul piano, ma un codice relativo. Per l’asse Z, imposto nel Gcode sempre 2 come valore basso e 5 come valore alto. La posizione all’avvio della fresa è presa come 3 (dal codice iniziale G92 X0 Y0 Z3). Pertanto se la fresa è all’inizio esattamente 0.7 mm sopra la superficie, la profondità di fresatura sarà 0.3 mm. Il tutto in ambiente Windows 10, con sw free, e nel modo più semplice possibile: in fondo sono solo un principiante nel campo CNC nota: i software sono stati provati tutti in Windows 10, ma Inkscape, Notepad++ e Repetier hanno versioni per diversi S.O. e la toolchain finale è facilmente adattabile, 2 Attrezzature 2.1 Motore fresa e supporto per 3Drag Utilizzo un mini-trapano Valex (Brico) con supporto fast-clamp (vedi http://www.thingiverse.com/thing:951383 ) ma si può usare anche un Dremel (http://www.thingiverse.com/thing:225465 ), un Parkside (Lidl) (http://www.thingiverse.com/thing:768599) o un qualunque motore rotante con mandrino da 3mm e sufficiente numero di giri. Nota: se il cavo a 220V è troppo vicino alla scheda della 3Drag ho notato malfunzionamenti. 2.2 Quirk della 3Drag Non volendo alterare il firmware Marlin, la 3Drag come CNC soffre dei seguenti limiti: ◦ Va in errore se il termistore dell’estrusore (o del piano) non sono collegati. Soluzione: mettere un connettore (eg. DB9) sugli 8 cavi dell’estrusore. Tolto l’estrusore inserire un connettore “tappo” con solo un resistore da 100 KΩ che simula il termistore a temperatura ambiente. Altenativa: fissare la resistenza ad un connettore a due poli da inserire direttamente sulla scheda al posto del collegamento al termistore estrusore (cavi giallo/blu). ◦ L’uscita E è disabilitata se il termistore non segnala almeno 170°C Soluzione: Va bene così (non uso l’uscita E) ma se serve basta ridurre il valore del resistore da 100 KΩ in modo che simuli una temperatura maggiore di 170°C. ◦ X, Y, Z devono assumere solo valori positivi nota: purtroppo questo è vero anche se si imposta la modalità coordinate relative (G91), il che rende questa modalità del tutto inutilizzabile. Soluzione: usare nel G-code opportuni codici iniziali e finali, utilizzare degli offset per avere coordinate sempre positive. 2.3 Repetier: preparazione In Repetier/Impostazioni stampante creare un nuovo profilo, per esempio “3Drag-CNC”, clonando il profilo 3DRAG. (Repetier deve essere disconnesso dalla 3Drag per fare ciò). In “3Drag-CNC”, eliminare tutti gli scripts: Codice iniziale, Codice finale, Ferma, Vai in pausa 2.4 G-code: Simulazione su schermo Per una prima idea sul risultato ottenibile, oppure per valutare alcune misure, o per valutare l’effetto di modifiche al Gcode, ho trovato utile l’uso di un simulatore SW. Dopo alcune prove la mia scelta è caduta su CAMotics (http://camotics.org/download.html), precedentemente chiamato anche openSCAM. 2.5 Simulazione su carta con 3Drag Dopo gli sfortunati tentativi iniziali ritengo anche utile, prima di usare la fresa, fare alcune prove su carta, per verificare i risultati. Occorre fissare una penna sulla 3Drag, meglio usando un supporto per penna/matita facile da montare. Questo è il mio (http://www.thingiverse.co m/thing:1196997). 3 Software per incidere testi ….....3.1 TextGraver http://www.cncdrive.com/downloads.html 3.1.1 PRO • Utilizza i fonti TTF installati in Windows (v. nota 2). • Permette di definire codice iniziale e finale. 3.1.2 CONTRO • Permette solo scritte rettilinee. • Permette di salvare in tre formati (.gc, .nc, .tap) ma il contenuto è identico. Usato .nc • Accetta moltiplicatori di dimensione solo interi, quindi le dimensioni minime si ottengono ponendo al minimo l’altezza del font in punti nel menu font. (nelle figure: Microsft Sans Serif 8 punti: testo 6mm x 68mm) • L’origine 00 è in alto a SX, e corrisponde al all’angolo del rettangolo che contiene il primo carattere più spazio interlinea e spazio tra caratteri (Coordinate Y negative). • Non salva il setup: deve essere re-inserito ad ogni run. • Si consiglia l’uso del punto decimale con questo programma (vedi Nota 1) 3.1.3 USO: Molto semplice ed immediato. Unica avvertenza: regolare nel setup l’Offset Y 1. effettuare “View/Generate code” con Offset X = 0, Offset Y = 0, 2. poi mettere Offset Y = Y max (negativo) nota: su PC in italiano usare la virgola (,) e non il punto(.) decimale 3. Codice iniziale (nota 3): G90 G92 X0 Y0 Z3 4. Codice finale (nota 3): G00 Z30 G28 X G28 Y Z 5. Z deep = 2 (1 mm più basso della posizione iniziale). 6. View/Generate code 7. salvare come file .nc 3.1.4 USO CON SIMULATORE Con un editor ascii (io uso Notepad++ ) oppure dentro CAMotics, scegliendo “Edit File” nel menu contestuale di Files: Eliminare le righe iniziali di commento (iniziano con ‘%’) Se non si usa il punto decimale (nota 1) sostituire tutte le virgole (,) con il punto (.) Eliminare le ultime righe. (G0 Z30 G28 X G28 Y Z).. Se si è usato un editor, salvare come .ngc e caricare nel simulatore. 3.1.4 USO CON 3Drag Se non si usa il punto decimale (nota 1) sostituire tutte le virgole (,) con il punto (.), aprendo il file del Gcode creato in un editor ASCII. Altrimenti il file generato da TextGraver è direttamente utilizzabile con Repetier. Posizionare con Repetier la penna (fresa) nel punto di partenza. Scendere con la penna (fresa) fino a quando non tocca (usare un foglio di carta: deve essere estratto senza rompersi). Alzare la penna esattamente 1mm, (fresa: 1mm – profondità d’incisione) poi bottone “Avvia lavoro”.. ….....3.2 deskEngrave http://www.deskam.com/deskengrave.html 3.2.1 PRO • • • Utilizza i fonti TTF installati in Windows (v. nota 2). Permette scritte circolari Dimensionamento diretto dell’altezza del carattere oppure della lunghezza totale del testo in mm. 3.2.2 CONTRO • Permette di salvare in un solo formato (.dnc) • L’origine 00 è in basso a SX (ok), oppure al centro del cerchio (X, Y negativi) • Asse Z giù: sempre valori negativi • Non permette di definire codice iniziale o finale. • Inserisce sempre i numeri di linea nel codice G • Si consiglia l’uso del punto decimale con questo programma (vedi Nota 1) 3.2.3 USO: 1. Impostare Height all’altezza in mm del testo 2. Caso circolare: Rad = raggio del cerchio Center X = Heigth + Rad Center Y = Heigth + Rad 3. View/Generate code 4. salvare come file .nc 3.2.4 USO CON SIMULATORE Se non si usa il punto decimale (nota 1) sostituire tutte le virgole (,) con il punto (.), aprendo il file del Gcode creato in un editor ASCII. Altrimenti il file generato da deskEngrave è direttamente visibile in CAMotics. 3.2.4 USO CON 3Drag Impostazioni: (Create/Set parameters) Parameters - deep = 2 Parameters – Rapid Height = 5 Line Number – Start at = 1 Line Number – Increment = 0 Salvare (File – Save As G-Code) con estensione .gcode Aprire il file del Gcode creato in un editor ascii: • Se non si usa il punto decimale (nota 1) sostituire tutte le virgole (,) con il punto (.). • Sostituire tutti “Z-2” con “Z2” • Sostituire tutti “N1 G” con “G” • Sostituire tutti “N1 X” con “G00 X” • Sostituire tutti “N1 F” con “G00 F” • Inserire codice START (all’inizio) e END (alla fine), vedi nota 3. Salvare e caricare in Repetier. Posizionare con Repetier la penna (fresa) nel punto di partenza. Scendere con la penna (fresa) fino a quando non tocca (usare un foglio di carta: deve essere estratto senza rompersi). Alzare la penna esattamente 1mm, (fresa: 1mm - profondità d’incisione) poi bottone “Avvia lavoro”. ….....3.3 StickFont http://www.ncplot.com/freetools.htm Forse il miglior programma del gruppo specializzato per l’incisione di testi. 3.3.1 PRO • Utilizza un proprio formato per i font (.CHR) • Libreria extra da scaricare con 14 font, con alcuni font single line, altri multilinea, formato CHR • Si possono fare font (disegni) custom, in formato CHR.(ascii). • Può converte i fonti TTF in CHR, ma solo se si usa il punto decimale (nota 1). • Permette scritte inclinate e circolari • Dimensionamento diretto dell’altezza del carattere in mm. • Dimensionamento della spaziatura tra caratteri • Permette di definire codice iniziale e finale. • Gestisce 3 valori per l’asse Z. 3.3.2 CONTRO • Permette di salvare in un solo formato (.dnc) • Non trasforma i font TT in single line, in CHR resta il doppio profilo (v. nota 2) • I font CHR sono formati da segmenti rettilinei, non curve. • Non esiste un convertitore CHR → TTF • L’origine 00 è in basso a SX (ok), oppure al centro del cerchio (X, Y negativi) • “Save as Gcode” non funziona nel menu: usare il bottone. • E’ praticamente indispensabile l’uso del punto decimale (vedi Nota 1) 3.3.3 USO: 1. regolare la posizione dell’origine nel caso circolare: Text X Center = Text Heigth + Arc Radius Text Y Center = Text Heigth + Arc Radius 2. Altri parametri: Z Retract Z Approach Z Deep Pludge Feedrate Feedrate =5 =3 =2 = 200 = 100 3. Codice iniziale (nota 3): G90 G92 X0 Y0 Z3 4. Codice finale (nota 3): G00 Z30 G28 X G28 Y Z 5. salvare come file .nc 3.3.4 USO CON SIMULATORE Aprire il file del Gcode creato in un editor ascii: • Se non si usa il punto decimale (nota 1) sostituire tutte le virgole (,) con il punto (.). • Eliminare il codice finale: G28 X G28 Y Z.. Se si è usato un editor, salvare (.ngc) e caricare nel simulatore. 3.3.5 USO CON 3Drag Aprire il file del Gcode creato in un editor ascii: • Se non si usa il punto decimale (nota 1) sostituire tutte le virgole (,) con il punto (.). • Sostituire tutti “X” con “G00 X” • Sostituire tutti “Y” con “ Y” (spazio+’Y’) • Sostituire tutti “Z” con “ Z” (spazio+’Z’) • Sostituire tutti “F” con “ F” (spazio+’F’) Ma non nella 2° riga: “G92 X0 Y0 Z3” Salvare salvare come file .gcode e caricare in Repetier. Posizionare con Repetier la penna (fresa) nel punto di partenza. Scendere con la penna (fresa) fino a quando non tocca (usare un foglio di carta: deve essere estratto senza rompersi). Alzare la penna esattamente 1mm, (fresa: 1mm - incisione) poi bottone “Avvia lavoro”. ….....3.4 Inkscape 0.91 https://inkscape.org/it/ Questo programma è diverso dai precedenti, perché è un programma di grafica vettoriale generico, quindi più performante ma indubbiamente più complesso. Per esempio, queste sono le istruzioni per ottenere scritte circolari (http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Text-Path.html): Text on a path is initially placed on the “left” side of the path (referenced from the path direction) starting at the beginning of the path. One can change the direction of the text (and the side it is placed on) by reversing the direction of the path (e.g., Path → Reverse (Shift+R)). If the text is center justified prior to being put on a path, it will centered along the path. To place text on a circle so that it reads from left to right on both the top and bottom, two circles must be used as seen on the left. The larger circle has been flipped horizontally (Object → Flip Horizontal (H)) so the text is placed inside the circle starting from the left. The smaller circle has been rotated 180 degrees. (The path of a circle when first drawn starts from the rightmost point. The circle must be rotated or flipped to move the starting point of the path to the left.) By turning the circles into half circles and setting the text to center-justified, the text will automatically be centered at the top or bottom of the circle. Note that kerning may be necessary as the characters of text placed on the outside of a curve will be too far apart while those on the inside of a curve will be too close together. 3.4.1 PRO • Potente programma free di grafica vettoriale. • Utilizza i fonti TTF installati in Windows • Permette scritte di ogni tipo, verticali, agganciate ad una curva... etc, usando font TTF. • Permette l’uso di font single line open TTF: però i glifi devono essere aperti a mano o con l’estensione reopenSingleLineFon (v. nota 2). • Per scritte lineari o inclinate: si può usare Estensioni/rendering/Testo Hershey (inclusa), che usa un set privato di font ‘single line’ (non TTF), ma genera oggetti grafici, non testo. Per scritte che seguono contorni occorre invece usare font TTF. • Si possono fare font custom (limitato, richiede comunque .FontForge) • Dimensionamento della spaziatura tra caratteri (Kerning). • Estensione/Genera da tracciato/Paths to OpenSCAD (da installare) per l’esportazione verso OpenSCAD (http://www.thingiverse.com/thing:1065500): molto buona. 3.4.2 CONTRO • Uso complesso, richiede più tempo • E’ praticamente indispensabile (wiki-Manual-v.nota 8) l’uso del punto decimale (vedi Nota 1) • Dimensionamento in pt dell’altezza del carattere (ma può essere ridimensionato dopo in mm). 3.4.3 Inkscape e G-code Ho trovato ben tre estensioni di Inkscape per creare G-code: 1. Gcodetools (inclusa in Inkscape). L’ultima versione (1.7) scaricabile qui: http://www.cncclub.ru/forum/viewtopic.php?f=15&p=101) .Molto completa ma non ben documentata sul sito, l’ho trovata di difficile uso, anche se ha funzioni interessanti, come il G-code parametrico (accettato dal simulatore ma non da Repetier), bassorilievo, etc... Nota: mi ha dato (con Inksape 0.91) l’errore “AttributeError: ‘module’ object has no attribute ‘unittouu’” La soluzione indicata in questo post ha funzionato: http://www.tylerforsythe.com/2015/02/inkscape-laser-engraver-bug 2. Generate G-Code for Repetier , da scaricare ed installare (http://www.repetier.com/repetier-g-code-plugin-for-inskscape/). Sembra essere una versione semplificata del precedente. Molto semplice da usate, il codice generato è ottimizzato per cutter laser e non per cnc, ma questo non è un problema. 3. Save As\EMC GCode: This will create a single .nc file containing all the layer toolpaths. Effects|Export|Export as GCode: This will output one file per layer in a specified directory. Sono scaricabili qui: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?InkscapeHowto . Con la versione 0.91 di Inkscape queste estensioni mi danno errori non risolvibili. 3.4.4 USO 1. Installare in Windows (basta copiare nella dir. C:\Windows|fonts) il font scelto (nell’esempio lo stick font 1CamBam_stick_3.ttf). 2. Selezionare File/Proprietà del documento, poi in Proprietà del documento/Pagina/Genarale scegliere Unità predefinite: mm. (idem in Griglie/Unità della griglia) 3. Eseguire la scritta, scegliendo (Testo/Testo e carattere) lo stick font installato. Andare in Oggetto/Riempimento e contorni e selezionare riempimento: no, contorno: si. 4. Completare l’editing, eventualmente con Path (nell’esempio, circolare) online help. 5. Kerning: Scegliere lo strumento Testo (A), selezionare i le lettere che interessano nel testo, ed usare i bottoni presenti nella barra strumenti. 6. Posizionare l’oggetto in basso a SX nel foglio (origine 0,0). 7. Selezionare tutto, poi Oggetti/dividi 8. In modalità visualizza/modalità di visualizzazione/scheletro selezionare Oggetti/mostra tutto 9. Pulire: selezionare e cancellare uno alla volta tutti gli oggetti che non interessano. 10. Selezionare tutta la scritta restante, poi Oggetti/raggruppa 11. Salvare (Il disegno è finito e pulito). Estensione: “Generate G-Code for Repetier”: Per ora uso questa estensione perché più semplice di Gcodetools. 12. Selezionare tutto, poi Oggetti/dividi 13. Trasformare in tracciato: Tracciato/Da oggetto a tracciato 14. Attivare Estensioni/Generate G-Code for Repetier/Repetir Laser Tool 15. Impostare: Travel Speed: 100 Laser Speed 10 Cartella: inserire la dir output Nome file; xxxxx.nc 16. Bottone Applica 3.4.5 USO CON SIMULATORE Aprire il file del Gcode creato in un editor ascii: • Eliminare tutte le righe che iniziano con ‘M’ (M3, M5, M18, M452) • sostituire tutti gli “F100” con “Z5 F100” • sostituire tutti gli “F10.” con “Z2 F10.” nota: usando Notepad++ impostare Tipo ricerca/Normale • Dopo la riga “G21” inserire il codice START vedi nota 3. G92 X0 Y0 Z3 • Eliminare le ultime righe: G91 G90 G00 X0 Y0 • Inserire il codice END, vedi nota 3. Se si è usato un editor, salvare e caricare nel simulatore. 3.4.6 USO CON 3Drag Aprire il file del Gcode creato in un editor ascii: • Eliminare tutte le righe che iniziano con ‘M’ (M3, M5, M18, M452) • sostituire tutti gli “F” con “ F” (spazio+F) • sostituire tutti gli “F100” con “Z5 F100” • sostituire tutti gli “F10.” con “Z2 F10.” note: • usando Notepad++ impostare Tipo ricerca/Normale Dopo la riga “G21” inserire il codice START vedi nota 3. G92 X0 Y0 Z3 • Eliminare le ultime righe: G91 G90 G09 X0 Y0 • Inserire il codice END, vedi nota 3. Salvare come file .gcode e caricare in Repetier. Posizionare con Repetier la penna (fresa) nel punto di partenza. Scendere con la penna (fresa) fino a quando non tocca (usare un foglio di carta: deve essere estratto senza rompersi). Alzare la penna esattamente 1mm, (fresa: 1mm – incisione) Appuntare su un foglio le coordinate X, Y, Z usate, poi bottone “Avvia lavoro”. 4 Incisione su PLA • Ho usato una fresa per PCB, 15°, 0.1 mm, con velocità basse ( F10, trapano con regolatore velocità a metà corsa) e passaggi profondi 0.1mm, con 2 o 3 passate (usando END 2 ) • Risultati accettabili. Il PLA non fonde • Buono il funzionamento degli assi XY; curve ben disegnate, ripetibilità del posizionamento XY adeguata: nessun problema con seconda o terza passata. 4.1 Problemi riscontrati: 5 • Eccessiva eccentricità del mandrino del mio trapano, per cui l’incisione è più larga del previsto, e una fresa si è spuntata. D’altra parte si trattava di lettere veramente piccole, alte solo 3.6 mm. (soluzione: cambiare mandrino o cambiare trapano) • Baco nel sw Repetier (ma non in Marlin) la sequenza G90 G21 G92 X0 Y0 Z3 G0 Z5 F200 posiziona correttamente la punta a Z=5, mentre Repetier indica Z = 8.(soluzione: ignorare indicazioni Z di Repetier) • Scrivere sempre le coordinate del punto di partenza!!! Se si deve ricominciare (nel mio caso, per rottura della fresa) sono indispensabili!!! (soluzione: essere precisi ed ordinati!). • Sarebbe utile effettuare, prima di una nuova incisione, le prove indicate in http://www.precisebits.com/tutorials/calibrating_feeds_n_speeds.htm, per trovare il corretto bilanciamento dei parametri velocità di rotazione/velocità di avanzamento in funzione della fresa e del materiale. (soluzione: prevedere, per i nuovi lavori, un campione del materiale dove effettuare le prove) Toolchain Per terminare voglio rendere automatiche le operazioni precedentemente descritte, per poterle eseguire rapidamente e senza errori. Occorre qualche altro programma ed un minimo di installazione. Mi limito ai programmi che ho trovato più interessanti, StickFont ed Inkscape, da usare con Repetier, e CAMotics, supponendoli già installati e funzionanti. Per effettuare le trasformazioni uso un mio vecchio programma java, regexfilter, che effettua multiple sostituzioni in un testo usando le “espressioni regolari”, molto più potenti del semplice cerca/sostituisci degli editor. Per dettagli e per la sintassi delle espressioni regolari usabili, v. dopo l’installazione il file C:\regexfilter\README.html. Per lanciare facilmente regexfilter (è Creazione G-code con StickFont, Inkscape file .nc Adattamento automatico file .ngc file .gcode Simulazione CAMotics Incisione Repetier opzionale: Editing manuale un filtro senza GUI) uso le potenzialità di Notepad++. Per rendere il tutto ancora più semplice, utilizzo sistematicamente le tre estensioni “.nc”, “.ngc” e “.gcode” per distinguere i vari tipi di file: .nc: file iniziali, prodotti da StickFont ed Inkscape, .ngc: file modificati per CAMotics, .gcode: file modificati per Repetier e associo in Windows ai file “,nc” il programma Notepad++, ai file “.ngc” il programma CANotics ed ai fle “.gcode” il programma RepetierHost. Basta quindi usare Esplora risorse e un cliccare (doppio click) sul file per aprire l’applicazione corretta. 5.1 Installazione: Nell’installazione considero un PC Windows 10 standard. Nota per altri S.O.: regexfilter è in Java, quindi può essere usato in tutti i S.O. Per i PC non Windows occorre adattare doFilter.BAT (e.g. scrivere dofilter.sh), inserirlo in una dir adatta (e,g, usr/bin) e poi aggiungerlo (vedi punto 6) al menu di Notepad++. Si possono anche impostare le associazioni basate sulle estensioni dei file (vedi punto 11) come richiesto dal S.O. in uso. 1. Se non è già presente nel PC scaricare ed installare Notepad++ da https://notepad-plusplus.org 2. Lanciare Notepad++ ed installare anche il plugin NPPexec (menu: Plugins/Plugin Manager) 3. De.zippare il file regexfilter.zip in C: Viene creata la dir regexfilter, ed il file pricipale è C:\regexfilter\regexfilter.class, utilizzato tramite C:\regexfilter\dofilter.bat 4. Verifica di Java – 1 Regexfilter è stato provato con la versione java 1.7 (e 1.8) Se la versione di java presente sulPC è precedente si consiglia di aggiornare Java da https://www.java.com/it/download/ Il test della versione Java installata può essere fatto online: https://www.java.com/it/download/installed8.jsp (anche possibile da Pannello di Controllo/Java/Informazioni oppure dal prompt: java.exe -version). 5. Verifica di Java -2. Lanciare “Prompt dei comandi” e scrivere Java, poi a capo. Se appaiono le istruzioni di Java tutto ok, potete continuare. Se invece appare la scritta: "java" non è riconosciuto come comando interno o esterno, un programma eseguibile o un file batch. occorre cercare Java.exe (sul mio PC è in C:\Program Files\Java\jre1.8.0_66\bin\java.exe) e modificare di conseguenza con un editor (Notepad++, blocco note non va bene) il file C:\regexfilter\dofilter.bat 6. Aggiunta al menu Macro in Notepad++. Lanciare Notepad++ ed inserire il primo tool come segue: Menu: Plugins/NppExec/Execute. In Command(s) scrivere (o copia/incolla) le seguenti 3 righe: SET local OUTFILE = $(CURRENT_DIRECTORY)\$(NAME_PART).gcode C:\regexfilter\dofilter.bat StickFont_3drag "$(FULL_CURRENT_PATH)" "$(OUTFILE)" NPP_OPEN "$(OUTFILE)" Premere il bottone SAVE e scrivere il nome (interno) del comando: Script name: StickFont 2 3drag Premere ancora il bottone SAVE e poi OK per uscire dal pop-up. Ritornare in Menu: Plugins/NppExec/Advanced Options In Associated script, scegliere il comando appena inserito: “StickFont 2 3drag” In Item name inserite il nome usato nei menu, e.g. “StickFont -> 3drag” Premere Add/Modify, il nuovo comando apparirà in Menu Items. nota: potete eliminare dei comandi da Menu Items selezionandoli, e poi bottone Delete. Per cambiare la posizione del comando selezionato in Menu Items usare i bottoni Move up, Move down. Uscire con il bottone OK Come richiesto, chiudere e rilanciare Notepad++. Verifica: Nel menu macro è presente il nuovo comando, che è quindi facile da usare. Ripetere le operazioni precedenti per gli altri 3 comandi (i comandi sono simili, usano i 4 differenti file DAT presenti in C:\regexfilter ) come segue: 7- Command(s): SET local OUTFILE = $(CURRENT_DIRECTORY)\$(NAME_PART).ngc C:\regexfilter\dofilter.bat StickFont_CAMotics "$(FULL_CURRENT_PATH)" "$(OUTFILE)" NPP_OPEN "$(OUTFILE)" Script name: SickFont 2 CAMotics Item name: SickFont → CAMotics 8- Command(s): SET local OUTFILE = $(CURRENT_DIRECTORY)\$(NAME_PART).gcode C:\regexfilter\dofilter.bat Inkscape_3drag "$(FULL_CURRENT_PATH)" "$(OUTFILE)" NPP_OPEN "$(OUTFILE)" Script name: Inkscape 2 3drag Item name: Inkscape → 3drag 9- Command(s): SET local OUTFILE = $(CURRENT_DIRECTORY)\$(NAME_PART).ngc C:\regexfilter\dofilter.bat Inkscape_CAMotics "$(FULL_CURRENT_PATH)" "$(OUTFILE)" NPP_OPEN "$(OUTFILE)" Script name: Inkscape 2 CAMotics Item name: Inkscape → CAMotics 10 Verifica: Nel menu macro di Notepad++ devono appaiono i 4 nuovi comandi inseriti. 11 Associazioni Agevola le operazioni associare il comando Apri per i file .nc con Notepad++: • In Esplora risorse scegliere un file con estensione .nc, poi cliccare con il tasto destro del mouse. • Scegliere Apri con, poi Scegli un’altra app. • Nel pop-up seguente scegliere Notepad++. Se non é presente, scegliere ancora Alta app. poi Altre app. poi Cerca un’altra app in questo PC, e cercare il file Notepad++.exe (e.g. in C:\Program Files\Notepad++\notepad++.exe ). • Selezionare anche: Usa sempre questa applicazione per aprire i file .nc • Terminare con OK. Ripetere le operazioni precedenti per associare: i file .ngc con il programma CAMotics (e.g.: C:\Program Files (x86)\CAMotics\camotics.exe) i file .gcode con il programma RepetierHost (e.g.: C:\Program Files\RepetierHost\RepetierHost.exe) 5.2 Uso: Aprire in Notepad++ un file .nc (basta un doppio click sul nome del file in Esplora Risorse). Due file di esempio si trovano in C:\regexfilter\examples\. Selezionare in menu/Macro una delle 4 trasformazioni per eseguire il filtro regexfilter. Questo filtro legge il file input selezionato in Notepad++, applica le modifiche descritte dalle espressioni regolari presenti nel file .dat usato, e scrive un file output. Il file di output è nella stessa dir ed ha lo stesso nome del file di partenza. Cambia solo l’estensione: .ncg per CAMotics e .gcode per Repetier. Il file di output è anche aperto automaticamente in Notepad++ per verificare il risultato, o per ulteriori modifiche manuali. Attenzione: • Se il file output esiste già, viene sovrascritto senza avviso. • Se file input e file output sono gli stessi, il file input è cancellato. Cliccando (doppio click) su un file .ngc deve partire automaticamente la simulazione con CAMotics. Cliccando (doppio click) su un file .gcode deve partire automaticamente Repetierhost. 5.3 Modifiche: • La sintassi delle espressioni regolari e la sintassi dei file DAT è descritta in file://C:/regexfilter/README.html . • Per modificare i file che contengono le espressioni regolari ( i quattro file C:\regexfilter\xxxxxxx.DAT) usare Notepad++. • I file sorgenti java di regexfilter sono in c:\regexfilter\src\src.zip Nota 1 – Usare il punto come separatore decimale. Le impostazioni della lingua Italiana (e in molte altre nazioni) prevedono la virgola (,) come separatore nei numeri decimali. Alcuni programmi non tengono conto delle impostazioni locali e si aspettano invece il punto (.). In particolare il CAMotics e Repetier prevedono punti nel G-code, mentre alcuni dei programmi esaminati generano virgole (usando l’impostazione locale). Si può modificare il Gcode usando un editor ASCII e cambiando tutte le virgole (,) in punti (.), ma quando questo non è possibile (caso dei font CHR) o desiderabile si può procedere in un altro modo: per ottenere in output numeri che utilizzano il punto (.) come separatore decimale basta cambiare temporaneamente le impostazioni per la lingua italiana. HOWTO: 1. Raggiungere Pannello di Controllo/Orologio e opzioni internazionali – Cambia data ora e formato dei numeri oppure: Pannello di Controllo/Tutti gli elementi del Pannello di Controllo/Lingua/Cambia data ora e formato dei numeri 2. In Impostazioni aggiuntive scegliere Separatore decimale “.” (punto). 3. Ricordarsi poi di ripristinare la situazione Italiana standard. Nota 2 – Font True Type I fonti True Type sono sempre formati da uno o più percorsi chiusi, con l’interno pieno. Per l’incisione invece si utilizzano linee, percorse dall’utensile. Usando per l’incisione i normali font TTF, viene usato il contorno del glifo e quindi si ottiene sempre un doppio perimetro interno/esterno. Esistono però speciali font True Type pensati proprio per incisione con cnc, per laser, cutter etc. TTF stick Questi speciali font TTF sono formati da una linea chiusa che percorre il glifo due volte, ottenendo così un tragitto lineare adatto all’incisione. PRO: • Sono font TTF standard, usabili in ogni applicazione • Esistono versioni a 1 linea, a 2 linee, a 3 linee... per simulare il riempimento di zone larghe CONTRO: • il doppio passaggio della fresa raddoppia il tempo di esecuzione e può provocare difetti. Nella figura, aspetto di un Stick font (in Inkscape) : sopra: riempimento: sì, contorno: no (menu Oggetti/Riempimento, Contorno) sotto: riempimento: no, contorno: sì Chiamati anche "Single Line Fonts with 2 lines” esempio Single line open path Questi font TTF contengono dei percorsi chiusi che deve essere “aperti” con l’eliminazione dell’ultimo segmento. Questa operazione aggiuntiva può essere eseguita all’interno di un programma di grafica vettoriale, dopo aver trasformato il testo in oggetti grafici e dopo aver diviso gli oggetti. Per Inkscape esiste la speciale estensione automatica reopenSingleLineFont Nella figura, aspetto di un Single line open font (in Inkscape) : 1.riempimento: sì, contorno: no (menu Oggetti/Riempimento, Contorno) 2.riempimento: no, contorno: sì 3.dopo aver eliminato il segmento di chiusura esempio PRO • veri font con linea singola CONTRO • Richiedono un’operazione in più eseguibile solo in un programma di grafica vettoriale • Dopo il taglio non sono più font ma path. (ovvero, il taglio deve essere l’ultima operazione eseguita per poter sfruttare le funzionalità “testo” dell’editor grafico) • Pochi font rintracciabili via Web. Nota 3 – G-code, Start e End Non tutti i G-code sono supportati nel simulatore e nella 3Drag + Repetier, oppure dai vari sw che generano Gcode. Inoltre possono essere interpretati diversamente in diversi ambienti (vedi Manuale RepRap del G-code ). Ad esempio il simulatore interpreta correttamente “G00 X4F100” che dà invece errore in Repetier, che chiede sempre spazi: “G00 X4 F100”. Questo comporta, in generale, la necessità di molte verifiche e le modifiche al codice prodotto dai differenti SW già indicate nei vari casi. Per la funzionalità richiesta (vedi), dopo aver posizionato la penna (fresa) 1 mm (fresa: 1mm – profondità incisione) sopra il punto iniziale, abbiamo: START 1: G90 G92 X0 Y0 Z3 modalità coordinate assolute (forse superflua, è il default) il punto attuale assume le coordinate (0,0,3) G28 X Home del solo asse X G28 Y Z Home degli assi Y, Z END 1: La mia penna (fresa) in HOME è a sinistra del piano di lavoro, ma più bassa, e non voglio ogni volta tarare lo zero dell’asse Z. Questa sequenza (che uso anche a mano su Repetier) evita danni. START 2 Se invece si vuole partire sempre da home per raggiungere il pezzo, si può agire come segue: • Posizionare con Repetier la penna (fresa) nel punto di partenza dell’incisione. • Scendere con la penna (fresa) fino a quando non tocca (usare un foglio di carta: deve essere estratto senza rompersi). • Alzare la penna esattamente 1mm, (fresa: 1mm – profondità d’incisione) • Siano AA, BB, CC le coordinate X, Y, Z che leggiamo su Repetier • Se non ci sono ostacoli, possiamo utilizzare CC + 5mm come altezza di sicurezza Z per gli spostamenti rapidi. Chiamiamo questo valore SS • Partendo da HOME il codice potrebbe essere (usare il punto con i decimali): G90 modalità coordinate assolute (forse superfluo) G00 ZSS F100 alza la penna (fresa) a quota spostamento G00 XAA YBB si porta al punto di partenza G00 ZCC scende al valore previsto G92 X0 Y0 Z3 il punto attuale assume le coordinate (0,0,3) END 2 Talvolta si può voler terminare nello stesso punto di partenza, per esempio per poter fare una seconda passata a profondità maggiore: G00 X0 Y0 Z3 vai al punto iniziale, coordinate (0,0,3) Altri Riferimenti: CAM 2, 2.5, 3: L’incisione di scritte non esaurisce il panorama delle applicazioni cnc della 3Drag: • Ottimo punto di partenza per sw CAM: http://www.shapeoko.com/wiki/index.php/CAM • Basic workflow 2D Inkscape: Non usavo Inkscape prima di queste prove, ma mi sembra interessante e merita un approfondimento: • Brief notes for new users • InkscapeHowto Gcodetools: Anche Gcodetools, secondo me, merita un approfondimento, per esempio per fare incisioni a bassorilievo da foto, etc. • Inkscape and Gcodetools Tutorial: Cut Out a Shape, • Manuale in spagnolo con istruzioni per PCB, • Generation of G-Code: InkScape and G-Code plugin Fonts Questo dei font mi sembra un punto critico, con relativamente poche soluzioni valide. Credo che cercherò di approfondirlo presto: • • semplici font TTF stick download. un single line open font TTF download. • • • • • Risorse free per font TTF: Google, Fontspace, 1001fonts, daFont Programma editor per font TTF: FontForge Tutorial per creare i propri Single line open TTF con Inkscape Molti font stick sono offerti in vendita: 10$-100$ (esempio) Il sw SFEdit di Roland (incluso in “Dr Engrave”) dovrebbe trasformare i font TTF Windows in Stick fonts, ma è solo distribuito con l’HW Roland (sic). G-code • Manuale RepRap del G-code Materiali, frese e velocità Questo è un settore in cui devo fare rapidamente esperienza per ottenere risultati migliori • ShapeOko é sempre un buon riferimento. 3Drag • Collezione di Add-on per 3Drag con aggancio rapido (Fast Clamp) Windows 10 • Per riavere un menu programmi con tutte le applicazioni, a due livelli, ho installato e trovo molto utile “classic start menu” da http://www.classicshell.net/ © 2016 Marco Sillano ([email protected]) licenza CC BY-SA (vedi http://creativecommons.org/)