AutoCAD .NET二次開發(一)


其他話不多說,直接進入主題,既然是二次開發,當然是用CAD平台已經封裝好了很多類,我們需要熟悉和使用它們。常用的AutoCAD .NET API的四個主要DLL文件是:

名稱

作用

備注

AcDbMgd.dll

處理圖形文件中存儲的對象

 

AcMgd.dll

處理AutoCAD應用程序和用戶接口

 

AcCui.dll

處理自定義文件

 

AcCoreMgd.dll

處理編輯器、發布與打印、定義AutoLISP命令和函數

AutoCAD 2014版

我們現在不必去深究這些類庫的構造,這四個引用 的位置可以在CAD的安裝路徑下找到,(<盤符>:\program Files\AutoCAD 2013),先來一個測試實例:

新建類庫項目,添加AcDbMgd和AcMgd引用,將引用的"復制本地"屬性設置為False

設置項目屬性中"調試"啟動外部CAD程序。

添加測試代碼,新建一個DWG文件。

啟動調用,程序將打開Cad2013,在命令行中輸入"netload",加載生成的dll文件,輸入命令"NEWDWG"進行測試。

在調試過程中遇到的主要問題有:

問題一:未能找到類型或命名空間名稱"CommandMethod"(是否缺少 using 指令或程序集引用?)

解決:如果是13以上的版本,除了添加AcDbMgd和AcMgd引用外,還應添加accoremgd引用,然后就是using了。

問題二:特性"CommandMethod"對此聲明類型無效。它只對"method"聲明有效。

解決:CommandMethod語句之后的有效行必定要是一個函數。

問題三:程序集生成 -- 引用的程序集"accoremgd.dll"針對其他處理器

解決:操作系統版本問題,將目標平台改為x64即可。

問題四:netload加載時錯誤: 未能完成程序集的安裝(hr = 0x8007000b)。探測終止。

解決:Framework平台是4.0,其中的Linq引用有問題,不用它,去掉即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM