Senza avere informazioni piu precise su quale e' il tuo scopo finale e' difficile esprimere opinioni. Io, per esempio, ho scelto di non utilizzare una struttura dati particolarmente sofisticata nel mio codice preferendo integrare il tutto in un vero e proprio linguaggio di programmazione.
La mia applicazione ha lo scopo di eseguire lavorazioni molto semplici come tasche, profilature, incisioni di testi, forature e cose del genere. Le funzioni tecnologiche che generano i movimenti appaiono come semplici comandi testuali e i parametri di lavorazione si impostano assegnando dei valori a specifiche variabili.
In altre parole, uso funzioni semplici e, grazie alle funzionalita' del linguaggio di programmazione, posso combinarle in vario modo per ottenere lavorazioni anche di una certa complessita'. Con questo approccio si ottiene una grande versatilita' e i programmi sono molto leggibili perche' il quello che devo scrivere non sono i singoli movimenti della fresa ma la sequenza di operazioni che voglio realizzare. E' il programma a "smazzarsi" tutti i controlli e a generare i movimenti in un formato neutro. Da li, il sottosistema di postprocessazione genera il vero e proprio gcode per qualsiasi tipo di controllo cnc o anche formati grafici vettoriali. Inoltre poiche' la sintassi del linguaggio che uso prevede sia di poter cambiare il nome ai comandi nativi otre che crearne di nuovi, estendere l'applicazione mi risulta semplice. Certo che questa filosofia ha altri tipi di limite ma e' funzionale per lo scopo che avevo in mente.
Come sempre... non c'e' un approccio migliore di un altro. Tutto dipende da cosa si vuole fare. Se condividi con noi le specifiche del tuo progetto, penso che si potra' sviluppare una discussione interessante.
Sandro
Ex arduis perpetuum nomen.