UDAPower: Tool in VBA per AutoCAD Mechanical

Nel 2009, per un importante lavoro, l’azienda in cui lavoro si è dovuta dotare del software CAD bidimensionale AutoCAD Mechanical 2009.

Era necessario fornire tutta la documentazione tecnica nel formato DWG di questa specifica incarnazione di AutoCAD. Peccato che, per 12 anni buoni (e anche qualcosa in più), avevamo sempre utilizzato software CAD professionali molto diversi (Helix Drafting e CADAM Drafting). Il problema di passare brutalmente ad un sistema completamente nuovo era piuttosto importante.

Sicché decisi di verificare la possibilità di migrare i disegni fatti con i CAD ai quali eravamo abituati e iniziai a sviluppare un software di personalizzazione, scritto in VBA per AutoCAD, che consentiva la trasformazione di un disegno, esportato in DWG e realizzato dai suddetti CAD bidimensionali meccanici, in uno AutoCAD Mechanical 2009.

Il risultato è stato molto buono perché i disegni risultanti sono indistinguibili dai nativi.

Grazie a quell’esperienza, con la quale mi sono addentrato nella personalizzazione di AutoCAD tramite il VBA, ho poi continuato a sviluppare le MACRO iniziali, aggiungendo – poco per volta, praticamente nell’arco di 3 anni – tutti quei comandi di cui sentivo la necessità.

Parlando con dei colleghi, ho raccontato di questo tool e mi è stato manifestato un vivo interesse e la richiesta di poterne usufruire.

Ebbene, devo premettere che ho realizzato la cosa in modo specifico, senza mai pensare ad una distribuzione a terzi dell’opera, tuttavia, buona parte del software prodotto risulta utilizzabile in qualsiasi contesto e, complessivamente, ritengo che chiunque utilizzi il CAD in oggetto possa trarre beneficio, se non da tutte, almeno da una parte delle funzionalità che ho aggiunto.

A livello di caratteristiche, abbiamo:

  • Supporto alle Configurazioni Multiple. Per chi, come me, ha la necessità di avere configurazioni AutoCAD dedicate a Clienti diversi.
  • Conversione in disegno DWG AutoCAD Mechanical delle tavole provenienti da: Helix Drafting, CADAM Drafting, SolidWorks e Pro/Engineer (ora Creo Elements/Pro).
  • Elaborazione Disegni Multipla; consente di convertire, controllare o stampare una sequenza di disegni, in modo automatizzato.
  • MACRO di comandi AutoCAD. L’utente, con un banale editor di testo, può creare dei file MACRO che automatizzano l’esecuzione di comandi che non richiedono interazione dell’utente.
  • Gestione Blocchi. Dalla ricerca, alle elaborazioni statistiche, alla manipolazione (ex: apertura diretta dei blocchi innestati) fino alla visualizzazione dei Blocchi in modo molto più comodo di quanto non sia offerto dal programma di base. In particolare sono presenti dei comandi per la copia dei valori degli attributi da un blocco ad un altro, anche su disegni diversi.
  • Trasferimento Blocchi. Uno dei problemi più annosi di AutoCAD consiste nel trasferire geometrie da un disegno all’altro; è noto che, se nel disegno destinazione, sono già presenti i medesimi blocchi, il CAD ne ignora la ri-definizione, mantenendo quella già presente. Questa è causa di enormi errori ! Il tool offre dei comandi per il trasferimento sicuro delle geometrie da un disegno all’altro, con un metodo che ritengo estremamente comodo.
  • Pulizia Geometrie. Dai comandi per modificare rapidamente le proprietà delle geometrie fino all’eliminazione di quelle fastidiose o incompatibili con altri sistemi CAD. Ad esempio io uso l’AutoCAD per portarmi su Pro/Engineer degli schizzi da utilizzare come riferimento; tuttavia, quest’ultimo – nell’ambiente Sketcher – è abbastanza sensibile al numero e tipologia di geometrie e, oltre un certo limite, accusa forti problemi. Ho quindi realizzato un apposito comando che mi consente di rimuovere rapidamente tutte quelle geometrie che risultano indigeste.
  • Gestione Stampa. Si parte dalla creazione dei file PDF (che vengono salvati nella medesima cartella del file DWG e prendono lo stesso nome, con supporto a Layouts multipli) – anche automatizzata – fino alla stampa dei disegni, anche contenenti Layouts multipli (ma è supportato anche il solo Spazio Modello), sul dispositivo di stampa più opportuno e utilizzando il formato carta ottimale (salvo l’utente non voglia stampare “adattando su formato”, situazione anch’essa gestita).
  • Gestione dei Layer. Anche qui si va dalla gestione dello stato di congelamento, passando per la selezione in base alle caratteristiche delle geometrie fino alla pulizia delle proprietà.

È chiaro che non si tratta di un applicativo professionale, l’ho realizzato nei ritagli di tempo, cercando di mettere in piedi – nel più breve tempo possibile – qualcosa che potesse agevolarmi il lavoro. Semplicemente lo rendo disponibile a chiunque; anche se, così com’è, non dovesse risultare utile – lo dubito, almeno un comando lo sarà … – uno può sempre prendere esempio dai sorgenti – chiaramente inclusi, sotto licenza GPL – per realizzare delle proprie MACRO (anche se lo sconsiglio, dato che il VBA non è più supportato da Autodesk, tant’è che dalla versione 2010 in poi è necessario installare l’AutoCAD VBA Enabler).

Spero che la mia iniziativa vi sia gradita, come graditi saranno tutti i commenti e suggerimenti che mi vorrete inviare !

Il tool lo trovate qui: http://digilander.libero.it/udasoft/Software/windows64/UDAPower

Buon Lavoro.

Autore: BuDuS

Disegnatore Meccanico, con la passione per l'Informatica. Come hobby, produco piccoli software di (in)utilità.