我找到了一个使用objectARX命令在autocad中打开dwg文件的代码。当我在类库项目中编写代码时,这段代码成功运行,但当我想将此代码放在我的Windows应用程序中时,问题就出现了它给了我这个错误信息:
'<的类型初始值设定项模块>'抛出异常。
内部异常:C ++模块在进程中无法加载 初始化。
我的代码是:
String MyDWGFilePath = @"\\Server\SharedFolder\Projects\File1.dwg";
DocumentCollection dm = Application.DocumentManager;
Document doc = null;
if(File.Exists(MyDWGFilePath))
{
doc = dm.Open(MyDWGFilePath, false);
Application.DocumentManager.MdiActiveDocument = doc;
}
注意:我从autocad安装的文件夹中添加了acdbmgd.dll和acmgd.dll,并从COM引用中添加了AutoCAD和AXDBLib。
请帮帮我......
答案 0 :(得分:4)
我的理解是Autodesk将一些(但不是全部*)AutoCAD库绑定到AutoCAD地址空间之外无法运行。您可能遇到此许可限制。 (我正在抓取Autodesk的网站以获取参考资料)。
编辑:RealDWG是Autodesk要求您购买的产品,如果您要在AutoCAD之外进行.dwg操作。 (仍然在寻找AcDbMgd仅在acad链接中运行...)
(*)我知道AcGe的类/ dll组可以在AutoCAD之外使用 - 我曾经在一些单元测试中使用它们。我认为操作.dwg数据库的任何操作都必须在AutoCAD内部运行。
答案 1 :(得分:0)
也许检查windows项目的目标框架,将其更改为.Net Framework x,如果设置为.Net framework客户端配置文件
答案 2 :(得分:0)
RealDWG就是您所需要的。
在RealDWG文档中:
使用Microsoft Visual C#.NET或Visual Basic .NET,使用Visual Studio和ObjectARX托管包装器设置.NET解决方案的基本步骤是相同的。
开始使用带有Microsoft Visual Studio的ObjectARX托管包装
例如,在C#中:
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Runtime;
在VB .NET中:
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.RuntimeThe
ObjectARX SDK在\ samples \ dotNet目录中提供.NET示例。
本节的主题