La libreria ADG (acronimo di Automatic Drawing Generation) è un insieme di funzioni specificatamente progettate per automatizzare la generazione di disegni tecnici di particolari meccanici. Non è un sistema CAD completo, ma una libreria che implementa un canvas grafico non-interattivo (ergo accessibile programmaticamente) dove un'applicazione ad-hoc può inserire le tipiche entità, come viste, sezioni, campiture e dimensioni, per generare automaticamente un disegno tecnico completo.

Quando diversi particolari condividono una forma similare, un'applicazione dedicata può essere molto più efficiente del tradizionale approccio basato sul disegno manuale di ogni pezzo col CAD. Nelle produzioni di serie, spesso presenti nel settore automotive, è una situazione piuttosto comune. Polverizzatori, pompanti, valvolame e raccorderia sono dei tipici esempi di particolari meccanici che ricadono in questa categoria di prodotti.

Vantaggi

Si possono ottenere risultati simili usando un CAD parametrico, ma una soluzione basata su un'applicazione dedicata ha i seguenti vantaggi:

maggior personalizzazione

    l'applicazione deve essere sviluppata da zero, cioè non vi è virtualmente alcun limite a ciò che si può sviluppare;
  • più leggero della medesima soluzione su CAD parametrico
    questo in realtà dipende da come viene implementata l'applicazione ma, parlando in generale, la ADG non richiede un bel po' di codice che un sistema CAD deve avere (nella fattispecie, l'interfaccia grafica interattiva usata dall'utente);
  • può essere facilmente connessa ad un database
    la possibilità di separare il modello dalla vista (model-view) insita nella ADG consente un notevole miglioramento della connettività dell'applicazione;
  • il disegno può essere generato al volo
    il canvas non richiede interazioni con l'utente: questa caratteristica può essere sfruttata in un sito dinamico o da un'applicazione web per generare automaticamente il disegno solo quando la pagina viene richiesta, evitando l'annosa necessità di una lista di disegni e consentendo l'utopia di avere il sito web sempre aggiornato.

Esempi applicativi

Sample drawing generated by adg-demo 0.6.1

La generazione automatica di disegni non è compito da poco e può moltiplicare la produttività di un ufficio tecnico. Operazioni che prima potevano richiedere ore si possono ridurre a minuti. E con il valore aggiunto del miglioramento della qualità: modificare disegni su CAD è un lavoro ripetitivo e prono ad errori.

Si tenga presente che da uno stesso set di dati si possono generare più disegni. Per esempio, dalle quote di un polverizzatore finito, conoscendo i sovrametalli da mantenere (e potendo esprimere queste relazioni programmaticamente), si possono generare i seguenti disegni:

  1. semilavorato del corpo a fine torneria
  2. semilavorato spillo a fine torneria
  3. corpo a fine rettifica
  4. spillo a fine rettifica
  5. assieme: corpo e spillo a fine rettifica con spillo in battuta e quote tipiche dell'assieme, come alzata, totale e sporgenza codolo

Ove richiesto, possono venir generati disegni anche per fasi di lavorazioni intermedie: la complessità algoritmica dovrà essere affrontata solo una volta (quando il modello viene programmato nell'applicazione), dopodiché i disegni saranno automaticamente disponibili per ogni pezzo in archivio. Ciò comporta che più la tipologia di particolari è articolata, più un approccio di questo tipo risulta appetibile.

Un altro esempio tipico di uso della ADG sono i cosiddetti programmi filtro. Questi possono ricevere in entrata i dati del pezzo (tipicamente letti da una anagrafica nel database) e generare in uscita il disegno (non necessariamente quotato o particolareggiato) in formato PNG. Filtri di questo genere possono venir usati su siti web dinamici, consentendo di avere gli eventuali disegni presenti sul proprio sito aggiornati automaticamente dall'anagrafica. Tutto ciò risulta comodo quando già si dispone di una struttura adeguata, per esempio se si ha il catalogo degli articoli pubblicato in rete. Un dimostrativo d'uso della ADG per il web può essere provato on-line sul sito ufficiale del progetto.

Altro esempio in cui un'applicazione basata su ADG può venire comoda è il proprio catalogo prodotti. Oltre che a video ed in formato PNG, il canvas ADG è in grado di generare il disegno in formato PDF, PostScript o SVG. Questi formati, tutti vettoriali, possono essere facilmente importati da programmi esterni di impaginazione. Per esempio, la combinazione di un filtro ADG con un template LaTeX può generare cataloghi professionali in modo totalmente automatico, progetto piuttosto interessante ma non ancora affrontato.

Modalità d'uso

Il codice è rilasciato pubblicamente sotto licenza LGPL 2.1, il che significa che chiunque può scaricare i sorgenti, usarli, redistribuirli e adattarli alle proprie esigenze a patto di rilasciare le eventuali modifiche apportate al progetto originale sotto la stessa licenza. In altre parole, ognuno è libero di sviluppare il proprio applicativo per la generazione di disegni tecnici appoggiandosi alla ADG.

Ciò comporta un'inusuale flessibilità nel suo eventuale impiego:

  1. potete svilupparvi il vostro applicativo senza alcun intervento da parte nostra;
  2. potete adottare un approccio misto: la eNTiDi sviluppa la versione base della vostra applicazione mentre voi siete liberi di estenderla ed adattarla alle vostre esigenze;
  3. l'approccio usuale: dite di cosa avete bisogno e la eNTiDi sviluppa il pacchetto completo. Il software prodotto viene rilasciato sotto licenza GPL 2, il ché significa che un domani siete comunque liberi di modificarlo a piacimento.

Cenni tecnici

La ADG è una libreria software basata pesantemente sul libgobject. Anche se il cuore della libreria è sviluppato in C si suppone che le applicazioni che ne faranno uso siano sviluppate in un linguaggio più ad alto livello: consultare i dettagli tecnici (in inglese) per maggiori informazioni in proposito. È già possibile sviluppare le applicazioni in Lua, come dimostrato dal progetto adg-lua. In teoria, tutti i linguaggi che supportano bindings basati su GObject introspection dovrebbero già poter essere usati.

Il progetto è pienamente cross-platform. Il programma dimostrativo (adg-demo) è stato compilato ed eseguito con successo su diverse distribuzioni GNU/Linux (archlinux, slackware e varie versioni di ubuntu), su FreeBSD, OpenSolaris e Windows XP (sia usando la tecnica di cross-building che compilandolo nativamente in un ambiente MinGW installato su windows).

eNTiDi logoeNTiDi software
Software per l'automazione industriale

via fossato, 56
 25038 Rovato (BS)

Telefono: 366 3206501
E-mail: ntd@entidi.it
PEC: entidi@mlcert.it

 Partita IVA: 02909410983