首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IronPython clr不使用AutoCAD API的dlls

IronPython clr不使用AutoCAD API的dlls
EN

Stack Overflow用户
提问于 2014-08-20 23:02:34
回答 2查看 1.2K关注 0票数 2

我工作的公司正在转向Pandas,希望在IronPython中重建旧的IronPython应用程序。我正在尝试将我在C#中构建的一个C#自动化转换为IronPython --我得到了一个错误。我试图使用clr从AutoCAD的API库加载dlls。

参考代码:

代码语言:javascript
复制
import clr
path = "C:\\Program Files\\Autodesk\\Autodesk AutoCAD Civil 3D 2014\\"
clr.AddReferenceToFileAndPath(path + "AcCoreMgd.dll")
clr.AddReferenceToFileAndPath(path + "AcDbMgd.dll")
clr.AddReferenceToFileAndPath(path + "AcMgd.dll")
clr.AddReferenceToFileAndPath(path + "AcMgdInternal.dll")

错误:

SystemError:无法加载文件或程序集'accoremgd,Version=19.1.0.0,Culture=neutral,PublicKeyToken=null‘。此程序集是为不同的处理器编译的。

我有点困惑,因为我在Visual中构建的与我目前用于将它转换为IronPython的机器是同一台机器。

EN

回答 2

Stack Overflow用户

发布于 2015-06-23 13:09:10

我不是Python (也不是IronPython)专家.但是实际上,AutoCAD安装文件夹中的all是实际的all,具有所有引用。如果您从ObjectARX SDK (在\inc\文件夹)获得DLL,那么您有一个干净的引用,它不会有辅助引用。从www.objectarx.com下载这个sdk。

请不要这样,如果你使用那些DLL,那么你必须在AutoCAD上加载你的应用程序。不确定是否可以用Python完成(不是专家)。我知道你可以( .NET应用程序)。

如果您正在开发一个将与AutoCAD通信的外部应用程序,那么您应该使用COM。请参阅本文中的评论:尝试使用Autodesk.AutoCAD.DatabaseService从DWG读取数据,我需要引用什么DLL?

票数 0
EN

Stack Overflow用户

发布于 2017-10-05 13:51:53

我使用的是AutoCAD 2015,而不是加载'acmgdinternal.dll‘,而是加载下面的dll 'accoremgd.dll’和'acdbmgdbrep.dll‘,如下所示

代码语言:javascript
复制
#clr.AddReferenceToFileAndPath(path + 'acmgdinternal.dll')
clr.AddReferenceToFileAndPath(path + 'accoremgd.dll')
clr.AddReferenceToFileAndPath(path + 'acdbmgdbrep.dll')

我不确定是否需要这两个dll,所以我同时加载它们。我之所以选择它们,是因为当我用C# (如PythonLoader和PYLOAD )从Kean Walmsley文章这里调试dll时使用它们。

我希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25415864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档