我使用dot net 3.50添加了autocad,並且我引用了acdbmgd.dll,autocad 2012中的acmgd.dll 我該怎麼做才能讓它在autocad 2010上運行和autocad 2011 如果我應該參考acdbmgd.dll,從autocad 2010 acmgd.dll我在哪裏可以得到這個DLL,而我只有autocad 2012如何使Autocad插件運行在許多autocad版本上
回答
我已經在AutoCAD 2010中使用2008庫的一些成功,所以使用庫從AutoCAD 2010開始可能是你最好的選擇,雖然不能保證工作。這將取決於你在做什麼。
您可以從Autodesk Developer Center(位於頁面底部)作爲ObjectARX 2010軟件包的一部分下載這些庫。如果需要,您也可以從那裏獲得ObjectARX 2011。
我用AutoLISP一直在使用AutoCAD附加組件的壽命。我有1995年寫的工具,它們現在仍然很強大,沒有任何修改。
.Net API與ActiveX相比更加兼容,但仍然存在一些差異。
您可以隨時使用Reflection來調用函數(按名稱調用它們),但是會有一大堆檢查工作要完成,並且您的應用程序需要很多工作。所有版本的反應方式都是一樣的。
你最好打賭(我至少會做什麼)將是爲每個你想要的功能性做一個包裝類。例如,我將創建一個「MyCircle」類來操作圓,然後在這個類的內部創建一個通用函數(例如:「ChangeThickness(int newThickness)」),並在那裏執行反射代碼,以便您可以根據安裝的AutoCAD版本控制調用的方式(例如,不要在特定版本的AutoCAD中調用特定功能,因爲它包含錯誤)。 這將創建一個可擴展的圖層,您可以在所有版本的AutoCAD中重複使用該圖層,並且您將能夠支持API中的任何更改。
我爲2012年和2013年做了這件事。他們之間有一些區別。
我一般用2012 Acad.NET嚮導和2013 Acad .NET嚮導啓動兩個項目。
更新兩者同時進行它只是複製粘貼一些情況下
大多數情況下,這將是不同的,其中在2013年API在2012年Civil3d已經進化例如心不是任何合作進入點的API,其中如在2013年,他們所以在那種情況下,我需要改變一點點的代碼在2013年的工作。
太難以手動完成而不會炸掉它。我寫了https://github.com/CADbloke/CodeLinker來保持同步。無論如何,你最好擁有一組代碼文件並使用編譯器指令來控制差異。 – 2016-10-20 11:38:56
- 1. c#autocad dllimport通過autocad版本
- 2. 在AutoCAD中運行VBA宏
- 3. 僅從commad行運行AutoCAD
- 4. 如何在vb.net中打開autocad圖紙並運行腳本?
- 5. 如何顛覆AutoCAD
- 6. 在AutoCAD啓動時運行Lisp函數
- 7. AutoCAD的
- 8. 如何使用C#在Autocad中關閉文件,使acad.exe保持運行?
- 9. AutoCAD插件無法找到資源
- 10. 在AutoCAD中使用LispLab
- 11. 區域內文字多行文字 - autocad
- 12. AutoCAD腳本不可複製
- 13. 在會話上下文中運行AutoCAD命令
- 14. Autocad中的Rubberduck
- 15. AutoCAD 2006與2012
- 16. Autocad 2018 autoload dll
- 17. 卸載AutoCAD
- 18. 如何在AutoCAD腳本執行期間抑制錯誤
- 19. AutoCAD中的DirectX查看器使AutoCAD停止正常工作
- 20. 的AutoCad EndPlot事件(C#,API)
- 21. 用java生成AutoCAD文件?
- 22. AutoCAD 2012的軟件開發
- 23. 如何在瀏覽器上顯示和/或更改AutoCAD文件?
- 24. 通過makepy爲AutoCAD添加typelib,現在win32com不適用於AutoCAD
- 25. Autocad,使用Clojure進行Inventor API訪問
- 26. 使用Python自動化AutoCAD
- 27. 在AutoCAD上更改繪圖比例
- 28. 使用C#創建Autocad文件
- 29. AutoCAD 2014:System.Runtime.InteropServices.COMException(0x80029C4A)(TYPE_E_CANTLOADLIBRARY))
- 30. AutoCAD VB.Net拾色器
我完全同意你 – 2012-03-24 16:23:18
(我可以看到(如何(這((測試時間(但))括號內驅動器)我)堅果)。);)語法錯誤 – 2013-02-16 11:48:22
@CADbloke我無法控制我的笑在這裏。第一件讓我轉而離開LISP的是它的語法。順便說一下,您是否嘗試過在以前版本中運行AutoCAD 2012 .net應用程序而無需重新編譯。使用正常的API,我們可以使用2012年的庫。 – Jatin 2013-04-30 02:13:10