Geneatore di GCODE

Sezione riservata ai sofware sviluppati in proprio
Rispondi
safe60
Senior
Senior
Messaggi: 730
Iscritto il: venerdì 29 maggio 2009, 8:43
Località: Ferrara
Contatta:

Geneatore di GCODE

Messaggio da safe60 » venerdì 25 giugno 2010, 10:12

Mi scuso con chi ha tentato di scaricare i files ZIP che pare avessero dei problemi per cui ci riprovo con questo nuovo thread nel quale riporto anche il testo di quello originale. Ho inserito in questo messaggio 3 dei 6 file zip da scaricare. Gli altri sono nel prossimo messaggio. Una volta scaricati tutti e 6 scompattare partendo da nccl.zip.

Sandro

- Testo del thread originale -----
Buongiorno. Ho scritto un software per la generazione di lavorazioni cnc a 3 assi. E' in grado di creare semplici lavorazioni come
tasche rettangolari, tasche circolari, spianature e incisione di testi. Non dispone di una interfaccia grafica perche' piu che un programma e' un linguaggio.
L'ho chiamato pomposamente NCCL che vorrebbe significare "Numerical Control Command Language". L'idea di base e' di poterlo usare come linguaggio
di programmazione conversazionale.

Per usarlo bisogna scrivere i programmi con un qualsiasi editor di testi e poi farli elaborare dall'eseguibile nccl.exe, ma e' possibile anche darli interattivamente.
Il risultato dell'elaborazione e' il GCODE. Ammetto che forse saranno gli utenti piu' smanettoni a trovarlo interessante ma penso che con un minimo di prove,
le lavorazioni piu' semplici siano facili da realizzare e alla portata di tutti.

Per realizzarlo, mi sono basato sul linguaggio LUA che ha una sintassi molto semplice e puo' essere facilmente esteso.
Ho anche scritto un piccolo manuale che pero' e' in inglese. Se fosse un problema, potro' tradurlo.

Grazie al linguaggio LUA tutti i comandi possono essere rinominati ed e' possibile anche crearne di nuovi. Si possono usare tutti i costrutti dei linguaggi di programmazione e questo credo che apra delle discrete potenzialita'. Per il momento ho previsto un solo post processor ma in seguito se ne potranno aggiungere altri.

A ognuna della lavorazioni accennate sopra corrisponde un comando e combinandoli insieme si possono ottenere lavorazioni anche di una certa complessita'.

Non avendo una fresa vera, tutto l'output lo verifico con CNCsimulator ma chiaramente, usarlo dal vero e' un'altra cosa. Non ho particolare esperenza di lavorazioni
per cui il tipo di movimenti generati potrebbe non essere ottimale, ma nel corso dello sviluppo ho tenuto conto di tanti suggerimenti trovati nei post e spero che sia
venuto un lavoro che se non altro abbia delle potenzialita' di crescita.

I comandi per ora non sono molti e tutto l'insieme e' da testare. Se avete voglia di dedicare un po' di tempo alle prove... accettero' di buon grado tutte le segnalazioni sugli errori che troverete. Premetto che ho sviluppato tutto con windows XP e anche se non ci dovrebbero essere grossi problemi su Vista o Windows 7, su questi ultimi
non ho riscontri diretti.

Sandro
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login
More Maiorum

Avatar utente
VELLECA
Senior
Senior
Messaggi: 2238
Iscritto il: venerdì 26 marzo 2010, 20:39
Località: Cursi(LE)
Contatta:

Re: Geneatore di GCODE

Messaggio da VELLECA » venerdì 25 giugno 2010, 13:50

Mi sa che è meglio se lo invii a Tommaso (kalytom) nella casella di upload del forum ... :wink: ...

upload@cncitalia.net

safe60
Senior
Senior
Messaggi: 730
Iscritto il: venerdì 29 maggio 2009, 8:43
Località: Ferrara
Contatta:

Re: Geneatore di GCODE

Messaggio da safe60 » venerdì 25 giugno 2010, 14:38

Si penso anche io che sia la cosa migliore. Ora gli chiedo dettagli sul come fare.
More Maiorum

marcopera
Junior
Junior
Messaggi: 194
Iscritto il: martedì 25 novembre 2008, 0:32
Località: Ponte Nossa (BG)

Re: Geneatore di GCODE

Messaggio da marcopera » venerdì 25 giugno 2010, 14:42

Sono riuscito a scaricare il file completo dal tuo sito, ora funziona.
Complimenti per il lavoro che hai fatto, è molto pratico e intuitivo.
Una domanda: la funzione per fresare le fonts si limita a seguirne il contorno oppure può anche eseguire la svuotatura?

Avatar utente
VELLECA
Senior
Senior
Messaggi: 2238
Iscritto il: venerdì 26 marzo 2010, 20:39
Località: Cursi(LE)
Contatta:

Re: Geneatore di GCODE

Messaggio da VELLECA » venerdì 25 giugno 2010, 14:53

safe60 ha scritto:Si penso anche io che sia la cosa migliore. Ora gli chiedo dettagli sul come fare.
upload@cncitalia.net

Basta che invii una mail all'indirizzo di cui sopra, con il file intero ALLEGATO nella mail, aggiungendo nella mail il link a questa discussione ... e ovvio ringraziandolo per la gentilezza ... :wink: ...

A me non si scompatta ...

safe60
Senior
Senior
Messaggi: 730
Iscritto il: venerdì 29 maggio 2009, 8:43
Località: Ferrara
Contatta:

Re: Geneatore di GCODE

Messaggio da safe60 » venerdì 25 giugno 2010, 16:20

Per ora lavora solo i contorni dei font. Lo stesso vale per il comando dxfcut che consente di contornare un file dxf qualsiasi (non usarlo ha dei bug: domani dovrei pubblicare quello corretto).

Appena trovo un algoritmo semplice per le svuotature di tasche con profilo qualsiasi, lo inserisco senz'altro e a quel punto anche i testi potrebbero essere lavorati come tasche visto che i profili dei font TTF riesco gia' a ricavarli.

Prima di aggiungere altre cose pero' vorrei essere sicuro che quello che c'e' gia' funzioni bene.

PS: se nel file user.ini, c'e' la prima versione di un comando utente che ti fresa il testo di un intero file con una singola istruzione. Se hai voglia di provarlo ti consiglio di sostituirlo con questa :

function mill_file(file,x,y,z)
TEXT_HEIGHT = 10
TEXT_FONT = "C:\\windows\\Fonts\\arial.ttf"
file = io.open(file,"r")
for line in file:lines() do
movetool(x,y,0)
milltext(line, 1)
y = y - (TEXT_HEIGHT * 1.8)
end
file:close()
end



Sandro
More Maiorum

marcopera
Junior
Junior
Messaggi: 194
Iscritto il: martedì 25 novembre 2008, 0:32
Località: Ponte Nossa (BG)

Re: Geneatore di GCODE

Messaggio da marcopera » venerdì 25 giugno 2010, 16:35

Bravo Sandro, la funzione di svuotamento delle fonts sarebbe utilissima.
Ho fatto una prova generando con il tuo software il gcode di una tasca ed utilizzando la ZSTEP. La prima volta genera il codice corretto, se poi riprovo modificando il valore di ZSTEP non me lo considera e tiene il valore precedente.
Anzi, ho verificato meglio... viene sempre usato il valore di ZSTEP=1, non mi considera valori diversi.
La prossima settimana sarò in ferie, ma appena rientro proverò a testarlo il più possibile.

Grazie

safe60
Senior
Senior
Messaggi: 730
Iscritto il: venerdì 29 maggio 2009, 8:43
Località: Ferrara
Contatta:

Re: Geneatore di GCODE

Messaggio da safe60 » venerdì 25 giugno 2010, 16:49

Che strano... non dovrebbe... Per curiosita' : lo usi in modo interattivo dando i comand, oppure li scrivi in un file e poi processi quel file ? (anche se a pensarci bene dovrebbe comportarsi nello stesso modo). Caso mai mandami in mp il codice che stai elaborando che ci guardo.

Sandro
More Maiorum

marcopera
Junior
Junior
Messaggi: 194
Iscritto il: martedì 25 novembre 2008, 0:32
Località: Ponte Nossa (BG)

Re: Geneatore di GCODE

Messaggio da marcopera » venerdì 25 giugno 2010, 22:41

Io scrivo un file .txt e poi lo faccio processare al nccl.exe
Ho notato che bisogna per forza scrivere in maiuscolo altrimenti non riconosce i comandi, probabilmente era quello l'errore che facevo, oltre a non cancellare il file generato in precedenza (non sovrascrive i file).
Adesso funziona bene, l'ho provato anche su Windows7.

BRAVO SANDRO!!!

safe60
Senior
Senior
Messaggi: 730
Iscritto il: venerdì 29 maggio 2009, 8:43
Località: Ferrara
Contatta:

Re: Geneatore di GCODE

Messaggio da safe60 » sabato 26 giugno 2010, 18:35

In effetti il linguaggio e' case sensitive per dirla in termini tecnici, cioe' sente la differenza fra caratteri maiscoli e minuscoli. Ora che ci penso nel manuale non l'ho scritto ed e' una dimenticanza che sistemero' oggi stesso.

Quindi
ZSTEP = 1
zstep = 1

Sono istruzioni valide dal punto di vista della sintassi solo che la seconda crea una variabile distinta dalla prima. In NCCL tutte le variabili di sistema sono in caratteri maiuscoli. Ovviamente nei programmi utente si possono definire tutte le variabili che si vuole. Quelle di "sistema" come ho pensato di chiamarle, sono tali perche' sono definite automaticamente e i comandi leggono il loro contenuto prima di fare il loro lavoro.

Sandro
More Maiorum

Avatar utente
kalytom
Administrator
Administrator
Messaggi: 42285
Iscritto il: lunedì 13 novembre 2006, 9:17
Località: Poggiomarino (Na)
Contatta:

Re: Geneatore di GCODE

Messaggio da kalytom » lunedì 28 giugno 2010, 16:49

aggiunto il file alla discussione iniziale
Immagine

Rispondi

Torna a “Home Made”