我有一个VB winform项目,我正在从DWG文件中的表中读取数据。 通过这种方法,AutoCad需要打开(使应用程序更慢)。
我发现下面的文章显示了你可以使用不同的方法来使用数据库对象(代表我们的内存中的绘图)但是我不知道我需要引用什么DLL能够使用这种方法。在这个appraoch上使用的方法是:
使用Autodesk.AutoCAD.DatabaseServices; - >需要能够导入
这篇文章也是从2006年开始的C#。现在有一个更好的方法吗?
提前致谢
Breaking it down-A closernLook at the C# code for importing blocks
答案 0 :(得分:3)
如果您创建了在AutoCAD内部加载的.DLL(使用NETLOAD命令或使用PackageContents.xml / .bundle文件夹),则需要AutoCAD安装文件夹中的以下参考:
并确保所有引用都设置为Copy Local = false,请注意这很重要: - )
您可能遇到.NET版本的问题,因此请确保您拥有:
如果您选择较旧版本的.NET,编译器可能会抛出错误,就像无法使用引用一样。如果您正在开始,请查看http://www.autodesk.com/myfirstautocadplugin
现在,如果你有一个外部应用程序(.exe),那么你不能使用上面的,但只 COM引用(也来自AutoCAD安装文件夹)
但是对于这些COM互操作,您有不同的数据模型和不同的命名空间。此外,这已被弃用,这意味着没有新功能。
答案 1 :(得分:1)
您可以从DictCursor
的ObjectArx库中获取DLLS。安装它们时,会有你需要的dll。
查看最新“如何”的here示例和解释。