Domanda

faccio un AutoCAD add on con dot net 3,50 e I Riferimento alla acdbmgd.dll, acmgd.dll da AutoCAD 2012 cosa posso fare per farlo girare su entrambi AutoCAD 2010 e AutoCAD 2011 se devo fare riferimento a acdbmgd.dll, acmgd.dll da AutoCAD 2010, dove posso trovare questa dll, mentre non mi resta che AutoCAD 2012

È stato utile?

Soluzione

ho avuto un certo successo con le librerie 2008 in AutoCAD 2010 in modo da utilizzare le librerie da AutoCAD 2010 è probabilmente la scelta migliore, anche se non garantito il funzionamento. Sarà dipende esattamente quello che stai facendo.

È possibile scaricare le librerie come parte del pacchetto ObjectARX 2010 dalle Autodesk Developer Center (in fondo alla pagina). È inoltre possibile ottenere ObjectARX 2011 da lì, se necessario.

Altri suggerimenti

Il mio miglior fortuna con la longevità di AutoCAD Add-ons è stato con AutoLISP. Ho gli strumenti che ho scritto nel 1995 che sono ancora cucinando forte ora senza alcuna modifica.

L'API .NET è più compatibile poi quelle ActiveX, ma ci sono ancora alcune differenze.

È sempre possibile utilizzare la reflection per richiamare le funzioni (li chiamano per nome), ma ci saranno un sacco di controlli da fare, e sarà un sacco di lavoro per avere la vostra applicazione. reagiscono allo stesso modo su tutte le versioni.

La cosa migliore (quello che vorrei fare almeno) sarebbe quello di fare una classe wrapper per ogni functionability che si desidera. Ad esempio, vorrei creare una classe "myCircle" per manipolare i cerchi, e poi, all'interno di questa classe, fare una funzione generica (es .: "ChangeThickness (int newThickness)"), e fare il vostro codice di riflessione in là, in modo da poter di controllo come la chiamata viene effettuata a seconda delle versioni di AutoCAD installata (ad esempio, per non chiamare una funzione specifica in una certa versione di AutoCAD, perché contiene un bug). Questo renderà uno strato espandibile che si sarà in grado di ri-uso in tutte le versioni di AutoCAD, e sarete in grado di supportare eventuali modifiche nella API.

Lo faccio per il 2012 e il 2013. Ci sono alcune differenze tra di loro.

Io in genere avviare due progetti uno con 2012 Acad.NET wizard e un altro con 2.013 Acad .NET Wizard.

Aggiornamento entrambi contemporaneamente

La maggior parte dei casi il suo solo copia incolla alcuni casi sarà diverso, dove nel 2013 API si sono evoluti per esempio in Civil3D 2012 non v'è nessun punto di api Co-Go dove come nel 2013 hanno aggiunto che così in quel caso ho bisogno di cambiare il codice po 'per lavoro nel 2013.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top