尝试使用 Autodesk.AutoCAD.DatabaseService 从 DWG 读取数据 我需要引用什么 DLL
本文关键字:数据 引用 DLL 什么 读取 DWG Autodesk AutoCAD DatabaseService | 更新日期: 2023-09-27 17:57:02
我有一个VB wform项目,我正在从DWG文件内的表中读取数据。通过这种方法,AutoCad需要打开(使应用程序变慢)。
我发现下面的文章显示了您可以使用不同的方法,其中使用数据库对象(代表我们的内存绘图)但我不知道我需要引用什么 DLL 才能使用此方法。在此应用程序上使用的方法是:
使用 Autodesk.AutoCAD.DatabaseServices; -->需要能够导入
而且这篇文章来自 2006 年和 C#。现在有更好的方法吗?
提前致谢
分解它 - 关闭查看用于导入块的 C# 代码
如果创建在 AutoCAD 中加载的.DLL(使用 NETLOAD 命令或 PackageContent.xml/.bundle 文件夹),则需要 AutoCAD 安装文件夹中的以下引用:
- AcMgd.dll
- AcDbMgd.dll
- AcCoreMgd.dll(这在 AutoCAD 2013 及更高版本中是必需的)
并确保所有引用都设置为复制本地 = false,请注意这很重要:-)
使用 .NET 版本可能会遇到问题,因此请确保您有:
- .NET 3.5 for AutoCAD 2010+
- .NET 4.0 for AutoCAD 2012+
- .NET 4.5 for AutoCAD 2015+
如果选择旧版本的 .NET,编译器可能会抛出错误,例如无法使用引用。如果您正在开始,请检查 http://www.autodesk.com/myfirstautocadplugin
现在,如果您有外部应用程序(.exe),则不能使用上述内容,而只能使用COM引用(也来自AutoCAD安装文件夹)
- Autodesk.AutoCAD.Interop.dll
- Autodesk.AutoCAD.Interop.Common.dll
但是对于这些 COM 互操作,您具有不同的数据模型和不同的命名空间。此外,这已被弃用,这意味着它没有新功能。
- AcDbMgd.dll代表"AutoCAD数据库管理",其中是DWG(又名数据库)操作的对象。
- AcMgd.dll代表"AutoCAD Managed",其中是可以获取当前活动DWG的数据库对象的对象。
- 将"复制本地"设置为 False,因为 AutoCAD 携带其自己的相同 DLL 副本。
您可以从此处的 ObjectArx 库中获取 DLL。当您安装它们时,将有您需要的dll。
查看AutoCAD的开发人员指南示例和解释,了解最新的"操作方法"。