我工作的公司正在转向Pandas,希望在IronPython中重建旧的IronPython应用程序。我正在尝试将我在C#中构建的一个C#自动化转换为IronPython --我得到了一个错误。我试图使用clr从AutoCAD的API库加载dlls。
参考代码:
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的机器是同一台机器。
发布于 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?
发布于 2017-10-05 13:51:53
我使用的是AutoCAD 2015,而不是加载'acmgdinternal.dll‘,而是加载下面的dll 'accoremgd.dll’和'acdbmgdbrep.dll‘,如下所示
#clr.AddReferenceToFileAndPath(path + 'acmgdinternal.dll')
clr.AddReferenceToFileAndPath(path + 'accoremgd.dll')
clr.AddReferenceToFileAndPath(path + 'acdbmgdbrep.dll')我不确定是否需要这两个dll,所以我同时加载它们。我之所以选择它们,是因为当我用C# (如PythonLoader和PYLOAD )从Kean Walmsley文章这里调试dll时使用它们。
我希望这能帮到你。
https://stackoverflow.com/questions/25415864
复制相似问题