{"id":538,"date":"2012-05-09T21:30:15","date_gmt":"2012-05-09T21:30:15","guid":{"rendered":"http:\/\/www.budus.it\/Blog\/?p=538"},"modified":"2017-06-18T07:40:31","modified_gmt":"2017-06-18T07:40:31","slug":"udapower-tool-in-vba-per-autocad-mechanical","status":"publish","type":"post","link":"https:\/\/www.budus.it\/Blog\/udapower-tool-in-vba-per-autocad-mechanical\/","title":{"rendered":"UDAPower: Tool in VBA per AutoCAD Mechanical"},"content":{"rendered":"<p>Nel 2009, per un importante lavoro, l&#8217;azienda in cui lavoro si \u00e8 dovuta dotare del software CAD bidimensionale <strong>AutoCAD Mechanical 2009<\/strong>.<\/p>\n<p>Era necessario fornire tutta la documentazione tecnica nel formato DWG di questa specifica <em>incarnazione<\/em> di AutoCAD. Peccato che, per 12 anni buoni (e anche qualcosa in pi\u00f9), avevamo sempre utilizzato software CAD professionali molto diversi (<em><strong>Helix Drafting<\/strong><\/em> e <em><strong>CADAM Drafting<\/strong><\/em>). Il problema di passare brutalmente ad un sistema completamente nuovo era piuttosto importante.<\/p>\n<p>Sicch\u00e9 decisi di verificare la possibilit\u00e0 di <em>migrare<\/em> 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 <strong>AutoCAD Mechanical 2009<\/strong>.<\/p>\n<p>Il risultato \u00e8 stato molto buono perch\u00e9 i disegni risultanti sono indistinguibili dai nativi.<\/p>\n<p><!--more--><\/p>\n<p>Grazie a quell&#8217;esperienza, con la quale mi sono addentrato nella personalizzazione di AutoCAD tramite il VBA, ho poi continuato a sviluppare le MACRO iniziali, aggiungendo &#8211; poco per volta, praticamente nell&#8217;arco di 3 anni &#8211; tutti quei comandi di cui sentivo la necessit\u00e0.<\/p>\n<p>Parlando con dei colleghi, ho raccontato di questo tool e mi \u00e8 stato manifestato un vivo interesse e la richiesta di poterne usufruire.<\/p>\n<p>Ebbene, devo premettere che ho realizzato la cosa <em>in modo specifico, senza mai pensare ad una distribuzione a terzi dell&#8217;opera<\/em>, 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\u00e0 che ho aggiunto.<\/p>\n<p>A livello di caratteristiche, abbiamo:<\/p>\n<ul>\n<li>Supporto alle <strong>Configurazioni Multiple<\/strong>. Per chi, come me, ha la necessit\u00e0 di avere configurazioni AutoCAD dedicate a Clienti diversi.<\/li>\n<li>Conversione in disegno DWG AutoCAD Mechanical delle tavole provenienti da: <strong>Helix Drafting, CADAM Drafting, SolidWorks<\/strong> e <strong>Pro\/Engineer<\/strong> (ora <strong>Creo Elements\/Pro<\/strong>).<\/li>\n<li><strong>Elaborazione Disegni Multipla<\/strong>; consente di convertire, controllare o stampare una sequenza di disegni, in modo automatizzato.<\/li>\n<li><strong>MACRO di comandi AutoCAD<\/strong>. L&#8217;utente, con un banale editor di testo, pu\u00f2 creare dei file MACRO che automatizzano l&#8217;esecuzione di comandi che non richiedono interazione dell&#8217;utente.<\/li>\n<li><strong>Gestione Blocchi<\/strong>. Dalla ricerca, alle elaborazioni statistiche, alla manipolazione (ex: <em><span style=\"text-decoration: underline;\">apertura diretta dei blocchi innestati<\/span><\/em>) fino alla visualizzazione dei Blocchi in modo molto pi\u00f9 comodo di quanto non sia offerto dal programma di base. In particolare sono presenti dei comandi per la copia dei <em>valori degli attributi<\/em> da un blocco ad un altro, anche su disegni diversi.<\/li>\n<li><strong>Trasferimento Blocchi<\/strong>. Uno dei problemi pi\u00f9 annosi di AutoCAD consiste nel trasferire geometrie da un disegno all&#8217;altro; \u00e8 noto che, se nel disegno destinazione, sono gi\u00e0 presenti i medesimi blocchi, il CAD ne ignora la ri-definizione, mantenendo quella gi\u00e0 presente. Questa \u00e8 causa di enormi errori ! Il tool offre dei comandi per il <strong>trasferimento sicuro<\/strong> delle geometrie da un disegno all&#8217;altro, con un metodo che ritengo estremamente comodo.<\/li>\n<li><strong>Pulizia Geometrie<\/strong>. Dai comandi per modificare rapidamente le propriet\u00e0 delle geometrie fino all&#8217;eliminazione di quelle <em>fastidiose<\/em> o incompatibili con altri sistemi CAD. Ad esempio io uso l&#8217;AutoCAD per portarmi su Pro\/Engineer degli schizzi da utilizzare come riferimento; tuttavia, quest&#8217;ultimo &#8211; nell&#8217;ambiente Sketcher &#8211; \u00e8 abbastanza <em>sensibile<\/em> 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 <em>indigeste<\/em>.<\/li>\n<li><strong>Gestione Stampa<\/strong>. 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) &#8211; anche automatizzata &#8211; fino alla stampa dei disegni, anche contenenti Layouts multipli (ma \u00e8 supportato anche il solo Spazio Modello), sul dispositivo di stampa pi\u00f9 opportuno e utilizzando il formato carta ottimale (salvo l&#8217;utente non voglia stampare &#8220;adattando su formato&#8221;, situazione anch&#8217;essa gestita).<\/li>\n<li><strong>Gestione dei Layer<\/strong>. Anche qui si va dalla gestione dello stato di congelamento, passando per la selezione in base alle caratteristiche delle geometrie fino alla <em>pulizia<\/em> delle propriet\u00e0.<\/li>\n<\/ul>\n<p>\u00c8 chiaro che non si tratta di un applicativo professionale, l&#8217;ho realizzato nei <em>ritagli di tempo<\/em>, cercando di mettere in piedi &#8211; nel pi\u00f9 breve tempo possibile &#8211; qualcosa che potesse agevolarmi il lavoro. Semplicemente lo rendo disponibile a chiunque; anche se, cos\u00ec com&#8217;\u00e8, non dovesse risultare utile &#8211; lo dubito, almeno un comando lo sar\u00e0 &#8230; &#8211; uno pu\u00f2 sempre prendere esempio dai sorgenti &#8211; chiaramente inclusi, sotto licenza GPL &#8211; per realizzare delle proprie MACRO (anche se lo sconsiglio, dato che il VBA non \u00e8 pi\u00f9 supportato da Autodesk, tant&#8217;\u00e8 che dalla versione 2010 in poi \u00e8 necessario installare l&#8217;<strong>AutoCAD VBA Enabler<\/strong>).<\/p>\n<p>Spero che la mia iniziativa vi sia gradita, come graditi saranno tutti i commenti e suggerimenti che mi vorrete inviare !<\/p>\n<p>Il tool lo trovate qui: <a title=\"UDAPower AutoCAD Mechanical Tool\" href=\"http:\/\/digilander.libero.it\/udasoft\/Software\/windows64\/UDAPower\" target=\"_blank\" rel=\"noopener\">http:\/\/digilander.libero.it\/udasoft\/Software\/windows64\/UDAPower<\/a><\/p>\n<p>Buon Lavoro.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nel 2009, per un importante lavoro, l&#8217;azienda in cui lavoro si \u00e8 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\u00f9), avevamo sempre utilizzato software CAD professionali molto &hellip; <a href=\"https:\/\/www.budus.it\/Blog\/udapower-tool-in-vba-per-autocad-mechanical\/\" class=\"more-link\">Leggi tutto<span class=\"screen-reader-text\"> &#8220;UDAPower: Tool in VBA per AutoCAD Mechanical&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,57,6],"tags":[102,90,166,168,167],"class_list":["post-538","post","type-post","status-publish","format-standard","hentry","category-cad","category-development","category-software","tag-autocad","tag-macro","tag-mechanical","tag-tool","tag-visual-basic"],"_links":{"self":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts\/538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/comments?post=538"}],"version-history":[{"count":8,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts\/538\/revisions"}],"predecessor-version":[{"id":886,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts\/538\/revisions\/886"}],"wp:attachment":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/media?parent=538"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/categories?post=538"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/tags?post=538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}