簡體   English   中英

嘗試使用Autodesk.AutoCAD.DatabaseService從DWG讀取數據,我需要引用什么DLL?

[英]Trying to read data from a DWG using Autodesk.AutoCAD.DatabaseService What DLL do I need to reference to?

我有一個VB winform項目,我在其中從DWG文件中的表讀取數據。 通過這種方法,需要打開AutoCad( 使應用程序變慢 )。

我發現下面顯示的文章可以在其中使用數據庫對象( 表示我們的內存中繪圖 )的另一種方法,但是我不知道要使用此方法需要引用什么DLL。 此方法使用的方法是:

使用Autodesk.AutoCAD.DatabaseServices; ->需要能夠導入

這篇文章也來自2006年和C#。 現在有更好的方法嗎?

提前致謝

分解-更仔細地看一下導入塊的C#代碼

如果創建要在AutoCAD內部加載的.DLL(使用NETLOAD命令或PackageContents.xml / .bundle文件夾),則需要從AutoCAD安裝文件夾獲得以下引用:

  1. AcMgd.dll
  2. AcDbMgd.dll
  3. AcCoreMgd.dll(在AutoCAD 2013及更高版本上是必需的)

並確保所有引用都設置為Copy Local = false,請注意這很重要:-)

.NET版本可能存在問題,因此請確保您具有:

  • 適用於AutoCAD 2010+的.NET 3.5
  • 適用於AutoCAD 2012+的.NET 4.0
  • 適用於AutoCAD 2015+的.NET 4.5

而且,如果您選擇的是.NET的舊版本,則編譯器可能會拋出錯誤,就像無法使用引用一樣。 如果您要開始,請訪問http://www.autodesk.com/myfirstautocadplugin

現在,如果您有外部應用程序(.exe),則不能使用上述應用程序,而只能使用COM引用(也來自AutoCAD安裝文件夾)

  1. Autodesk.AutoCAD.Interop.dll
  2. Autodesk.AutoCAD.Interop.Common.dll

但是對於這些COM互操作,您具有不同的數據模型和名稱空間。 另外,不建議使用此功能,這意味着沒有新功能。

  1. AcDbMgd.dll代表“ AutoCAD數據庫管理”,其內部是DWG(aka數據庫)操作的對象。
  2. AcMgd.dll代表“ AutoCAD Managed”,並且在其中是可以用來獲取當前活動DWG的Database對象的對象。
  3. 將“本地復制”設置為False,因為AutoCAD會攜帶自己的相同DLL副本。

您可以從此處的 ObjectArx庫獲取DLLS。 當您安裝它們時,將有您需要的dll。

查看AutoCAD的開發人員指南示例和最新“操作方法”的說明。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM