Ripristinare lo sfondo nero in Autocad 2009

6. maggio 2011
Dalla versione 2009 di AutoCAD lo sfondo di default dell'area di lavoro è diventato color crema. Con pochi click è possibile ovviamente ripristinare il colore nero che garantisce maggiore leggibilità e minore affaticamento. [Prosegue]

AutoCAD e ObjectARX

Unit Test e AutoCad: si può fare!

10. aprile 2010
L'esecuzione di unit test su AutoCad e ObjectArx è possibile tramite la piattaforma di automazione Gallio. [Prosegue]

.net Framework, AutoCAD e ObjectARX ,

Hello World: ovvero cosa serve veramente per far funzionare un'addin managed ObjectARX

25. febbraio 2008
Negli Autodesk Labs è presente l'immancabile applicazione Hello World con cui configurare correttamente l'ambiente di sviluppo. Nel Lab vengono indicate le DLL da linkare e gli eventuali attributi da aggiungere alle classi o ai metodi come in particolare il CommandMethod con cui definire un comando custom all'interno di AutoCAD. Ciò che il lab non dice sono però alcuni accorgimenti fondamentali per far funzionare veramente tutto riducendo gli errori. Sono piccole configurazioni che però mi hanno fatto perdere giornate di lavoro. I metodi associati ad un CommandMethod devono essere pubblici e non devono restituire nessun valore (devono cioè essere delle sub in VB.Net o restituire void in C#) Oltre a aggiungere le reference alle due librerie acadmgd.dll e acadmgdb.dll è fondamentale impostare la proprietà Copy Local a False altrimenti quando invocate il comando custom AutoCAD vi dice che non esiste nessun comando con quel nome Un'ultima cosa che mi ha fatto perdere il sonno per giorni... Impostate nella variabile PATH il percorso [program folder]\Autocad 2008 altrimenti potete scordarvi di utilizzare l'ereditarietà nelle form...

.net Framework, AutoCAD e ObjectARX ,

Disabilitare l'invio del report di errore ad Autodesk in caso di crash di AutoCAD

25. febbraio 2008
Ogni volta che si manda in crash AutoCAD  viene visualizzata la form per inviare la segnalazione di errore ad Autodesk. Nonostante le mille attenzioni che si possono avere per non mandare in crash AutoCAD ciò in realtà accade diverse volte al giorno soprattuto in fase di sviluppo e debug. Basta dare un'occhiata al video intitolato "10 EASY ways to crash your AutoCAD addin" per farsene un'idea (il video è scaricabile da qui). Per evitare questa richiesta si può utilizzare il comando "ReportError" che gestisce la corrispondente variabile binaria per abilitare/disabilitare l'invio del report di errore. ReportError = 0 -> Non viene visualizzata la form di segnalazione ReportError = 1 -> Viene visualizzata la form di segnalazione

.net Framework, AutoCAD e ObjectARX ,

Database.Save e eFileInternalErr: bug di AutoCAD

19. dicembre 2007
In AutoCAD 2008 eseguendo il metodo managed ObjectARX: Application.DocumentManager.MdiActiveDocument.Database.Save() viene sollevata l'eccezione: eFileInternalErr ed il dwg non viene salvato. Si tratta di un bug (l'ennesimo...) dell'API di AutoCAD. Per aggirare il problema è sufficiente utilizzare il metodo SaveAs passando come nome del file il nome del dwg corrente: Application.DocumentManager.MdiActiveDocument.Database.SaveAs (Application.DocumentManager.MdiActiveDocument.Database.Filename, Autodesk.AutoCAD.DatabaseServices.DwgVersion.Current) Oppure è possibile invocare il comando "_qsave". E' veramente incredibile che un prodotto software di questo livello contenga dei bug di questo genere.  [EDIT] Grazie a Giuliano per questa segnalazione relativa alla documentazione: "You can't save a database to the same file it was read from, because it may not have been completely read in initially, so saving to the same file poses the risk of concurrently reading/writing to the same file. The SAVE command uses saveAs() to save to a different (e.g., temporary) file and then either deletes or renames the original to *.bak, and then renames the saved file to the original filename. " Resta valida la soluzione che propongo per salvare sullo stesso file.

AutoCAD e ObjectARX

La compatibilità delle applicazioni tra le release di AutoCAD

15. novembre 2007
Come viene gestita la compatibilità delle applicazioni tra le release di AutoCAD? [Prosegue]

.net Framework, AutoCAD e ObjectARX, C# e VB.net, Visual Studio

.NET e AutoCAD

13. novembre 2007
Da through-the-interface: Gli ingegneri di AutoCAD hanno creato il primo prototipo di API managed per AutoCAD 2004. Era una cosa abbastanza rivoluzionaria all'epoca: una DLL ibrida che espone un'interfaccia managed ed esegue il marshalling di queste chiamate verso le corrispondenti chiamate unmanaged ObjectARX. Erano molte, e lo sono ancora oggi, le ragioni per cui .NET era interessante per gli sviluppatori...  .NET fornisce la facilità di sviluppo che era disponibile solo (o principalmente) ai client VB tramite COM. Puoi usare COM o dei componenti .NET nei tuoi progetti, ma puoi generare codice più facilmente utilizzando dei linguaggi di programmazione più evoluti (e VB.NET è molto più evoluto di VB6). Un primo beneficio per Autodesk fu la possibilità di mappare dei tipi di dato molto più complessi (come quelli definiti in ObjectARX) su un'API managed. Quando progetti un API COM se molto più limitato - puoi utilizzare solo dei tipi base ed oltre quelli per definirne altri devi implementare delle interfacce complesse basate su IDispatch il che porta inevitabilmente ad un overhead di progettazione e di sviluppo: è laborioso esporre delle interfacce di COM Automation per delle classi C++ complesse. Per un primo contatto con l'API .NET per AutoCAD visita l'AutoCAD Developer Center - dove i Labs sono un ottimo punto di partenza. Nei prossimi post vedremo la struttura di base di una semplice applicazione .NET per AutoCAD e come sfruttare le API COM e unmanaged attraverso la COM Interop e P/Invoke. Articolo originale: http://through-the-interface.typepad.com/through_the_interface/2006/06/net_and_autocad.html

.net Framework, AutoCAD e ObjectARX, C# e VB.net

A breve la traduzione di alcuni post di Kean Walmsley dal blog through-the-interface

13. novembre 2007
Chi è Kean Walmsley? Come riportato sul suo blog (http://through-the-interface.typepad.com/) Kean ha lavorato in Autodesk sin dal 1995, concentrandosi su supporto alla programmazione, consulenza, formazione ed "evangelism" verso sviluppatori esterni. Ha lavorato in Autodesk in svariate nazioni: ha cominciato la sua carriera in Inghilterra e poi, spostandosi ogni 2-3 anni, ha lavorato in Svizzera, Stati Uniti ed India. Attualmente Kean è Senior Manager di Developer Technical Service (DevTech), un gruppo mondiale di guru che forniscono servizi tecnici tramite Autodesk Developer Network (ADN). Ho avuto l'opportunità di contattarlo per richiedergli supporto tecnico per la soluzione di alcuni problemi presso un mio cliente e ne ho approfittato per chiedergli il permesso di tradurre su questo blog alcuni dei suoi post relativi ad ObjectARX e .NET per cercare di diffondere l'API in Italia e magari creare una comunità italiana specializzata. Ha accettato con molto piacere quindi a breve inizierò a pubblicare alcuni suoi articoli in questo blog, il che sarà anche per me un'opportunità di approfondimento sui temi tecnici che via via propone. Grazie!

AutoCAD e ObjectARX, C# e VB.net ,