[gl-como] python
angelo
angelob1@tin.it
Sab 8 Maggio 2004 17:12:55 CEST
Come alcuni di voi sanno, il mio lavoro consiste nella programmazione di cnc.
In questi giorni sono alle prese con un piccolo (!) problema:ho circa 500
programmi in hcp (head center point) da trasformare in tcp (tool center
point).
La cosa è fattibile in tre modi: 1) rifare ex novo tutti i programmi. Tempo
previsto variabile dalle 6 ore ai due giorni per programma, a cui vanno
aggiunte varie ore per la messa a punto.
2) convertire le singole righe di codice applicando manualmente l'algoritmo di
conversione. Tempo stimato: 2 minuti a riga per circa 6.000.000 di righe.
Nessuna necessità di messa a punto, se non faccio errori di calcolo in
nessuna riga.
3) programmino (per esempio in python) che applica la modifica facendo
automaticamente i calcoli (le varie formule di conversione sono quasi pronte,
devo solo "ridurle" per semplificare il lavoro al computer). tempo
stimato:dipende dalla velocità del programma nell'applicare formule con
qualche radice quadrata, seni, coseni e accozzaglie varie di trigonometria
per un massimo di tre volte per ogni riga di codice. Non vi scrivo le formule
da applicare perchè non voglio impazzire adesso a trovare le varie
combinazioni di tasti (come si scrive il simbolo della radice quadrata?) ma
sono semplici. Comunque il tempo in questo modo dovrebbe essere notevolmente
ridotto. Tra l'altro il programma avrebbe l'indubbio merito di interessare
qualunque ditta abbia un centro di lavoro fino a 5 assi (per quelli
superiori, rari, le variabili diventano troppe perchè io abbia voglia di
spaccarmi il cervello; inoltre al momento non mi serve). C'è la possibilità
che , finito il lavoro di Brisa, si possa mettere mano a questo?
Visto che i programmi sono semplici file di testo alfanumerici (ogni riga può
esere qualcosa di tipo: "(IF,E1=27)G90 G3 X738,639 Y-254 Z-257 A96 B-195
F6000 a15 I138 J-200(ENDIF)" e il lavoro consiste nel ricalcolare le
coordinate, il python è adatto? O è meglio qualche altro linguaggio di
scripting?
Maggiori informazioni sulla lista
gl-como