CAD二次開發--0.開發環境搭建及CAD層次結構

 本文章用於CAD二次開發學習工作總結,參考李冠藝著編的《深入淺出AutoCAD.NET二次開發》。

  • 一、開發前準備:
    • 首先開發前默認有一定的C#編程經驗。
    • 對CAD有一定的瞭解。
    • 安裝好Visual Studio 以及CAD  。
    • 其中Visual Studio 和CAD的版本對應關係如下:

CAD二次開發常用版本對應表

CAD版本

版本號 Visual Studio 版本 .net Framework版本
CAD2007 R17.0 Visual Studio 2010 .net Framework 3.5

CAD2008

R17.1 Visual Studio 2010 .net Framework 3.5
CAD2009 R17.2 Visual Studio 2010 .net Framework 3.5
CAD2010 R18.0 Visual Studio 2012 .net Framework 4.0
CAD2012 R18.2 Visual Studio 2012 .net Framework 4.0
CAD2013 R19.0 Visual Studio 2012 .net Framework 4.0
CAD2014 R19.1 Visual Studio 2012 .net Framework 4.0
CAD2015 R20.0 - -
CAD2016 R20.1 Visual Studio 2013 .net Framework 4.5
CAD2017 R21.0 - -
CAD2018 R22.0 - -
CAD2019 R23.0 - -
CAD2020 - - -

注:以上僅供參考,並不嚴謹。-表示當前未調試過對應的版本,不明確其信息。本人開發採用的是  AutoCAD2014 +Visual Studio 2012+.net Framework 4.5(4.0也可以編譯通過)。

 

 

  • 二、配置開發環境:
  • 1.打開Visual Studio 2012,創建類庫項目。
  • 引用關鍵類庫
  • 找到CAD的安裝目錄下這三個dll文件
  • 添加完成後
  • 選中添加的組件,右鍵屬性
  • 並將複製本地改爲False
  • 接着
  • 右鍵項目屬性,選中調試,改爲啓動外部程序
  • 定位到cad的安裝目錄下 ,選擇acad.exe文件
  • 至此,就可以開始寫代碼了。
  • 附:
  • CAD2013以前版本一般只需要引用acdbmgd.dll acmgd.dll,2013以後版本還需要引用accoremgd.dll
  •  
  • 常用dll及命名空間對應關係(這裏是對2010版本dll的介紹,2013版本有部分命名空間移到了accoremgd.dll文件裏了)
  • (1)acdbmgd.dll  包含對ObjectDBX API的封裝,用於對圖形對象的操作。主要包含的命名空間有:
  •      Autodesk.AutoCAD.Colors
  •      Autodesk.AutoCAD.DatabaseServices
  •      Autodesk.AutoCAD.Geometry
  •      Autodesk.AutoCAD.Runtime
  •      Autodesk.AutoCAD.GraphicsInterface
  •      Autodesk.AutoCAD.LayerManager
  • (2)acmgd.dll  包含對大多數AutoCAD API的封裝,用於對AutoCAD應用程序進行操作。主要包含的命名空間有:
  •      Autodesk.AutoCAD.ApplicationServices
  •      Autodesk.AutoCAD.EditorInput
  •      Autodesk.AutoCAD.Windows
  •      Autodesk.AutoCAD.Windows.ToolPalette
  •      Autodesk.AutoCAD.Internal.Windows
  •      Autodesk.AutoCAD.Internal.Forms
  • (3)AcCui.dll  包含常用用戶界面的封裝,用於用戶自定義文件進行操作。主要包含的命名空間有:
  •      Autodesk.AutoCAD.Customization
  •      Autodesk.AutoCAD.Customization.Interop
  • (4)AdWindows.dll  包含常用Autodesk界面的封裝,用於用戶自定義工具條及菜單等用戶界面。主要包含的命名空間有:
  •      Autodesk.Windows
  •      Autodesk.Windows.ToolBars

 

  • 三、CAD的層次結構
  • 其中
  • Application對象是頂層對象,對應着整個CAD應用程序的管理。
  • DocumntManager對象是所有打開的CAD文檔對象(Document)的集合。
  • Document對象是CAD的圖紙文檔,是Database的前端顯示。
  • Database是對DWG數據文件的操作類。
  • Database包含的表(每張表裏包含若干表記錄):
    • ViewTable 視圖表 -ViewTableRecord 視圖表記錄
    • TextStykeTable 文字表 -TextStykeTableRecord 文字表記錄
    • LayerTable 圖層表 -LayerTableRecord 圖層表記錄
    • LinetypeTable 線形表 -LinetypeTableRecord 線形表記錄
    • DimStyleTable -DimStyleTableRecord
    • ViewportTable 視口表 -ViewportTableRecord 視口表記錄
    • UCSTable 座標系表 -UCSTableRecord 座標系表記錄
    • RegAppTable 擴展數據表 -RegAppTableRecord 擴展數據表記錄
    • BlockTable 塊表- BlockTableRecord 塊表記錄(其中CAD種模型和佈局是特殊的塊表記錄)
    • ObjectDictionary 字典表
  • Editor對象用於管理人機交互操作。
  • Entity爲圖元實體對象。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章