明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 7517|回复: 3

.net使用ActiveX外部操作AutoCAD,引用不同CAD版本有没有解决办法

[复制链接]
发表于 2012-9-12 09:07:00 | 显示全部楼层 |阅读模式
本帖最后由 linpao00915 于 2012-9-12 09:22 编辑

但用到AutoCAD2008或者其它版本就有问题,有没有通用的解决办法
主要是解决2个文件的引用acax17enu.tlb,axdb17enu.tlb
引用CAD2009上面2个文件在CAD2008运行就出现对象未实例化

以下摘自AutoCAD2009帮助文件《ActiveX和VBA开发人员手册》
使用 Microsoft .NET Framework

要通过 Microsoft Visual Studio® .NET 完全访问 AutoCAD Automation 对象,请创建以下文件的引用:


  • AutoCAD 2009 类型库“acax17enu.tlb”,位于“C:\Program Files\Common Files\Autodesk Shared”目录中。
  • AutoCAD/ObjectDBX Common 17.0 类型库“axdb17enu.tlb”,位于“C:\Program Files\Common Files\Autodesk Shared”目录中。
这些引用将提供以下主要交互操作部件:Autodesk.AutoCAD.Interop.dll(用于 AutoCAD 专用类型)和 Autodesk.AutoCAD.Interop.Common.dll(用于 ObjectDBXTM 宿主应用程序共享的类型)。Interop 程序集位于全局程序集缓存中,它们会将 Automation 对象映射到 .NET 的对等对象。
引用了类型库之后,可以在 Microsoft Visual Studio .NET 中声明基于 AutoCAD 的变量,如下例所示:
Dim objAcad As Autodesk.AutoCAD.Interop.AcadApplicationDim objLine As Autodesk.AutoCAD.Interop.Common.AcadLine
可以在 AutoCAD 中使用 NETLOAD 命令加载 .NET 应用程序。
要获得有关与 AutoCAD 配合使用 .NET 应用程序的详细信息,请访问 Autodesk 网站的开发人员中心专区。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2012-9-21 15:47:13 | 显示全部楼层
这个问题已经解决:

VB.NET AutoCAD ActiveX Automation外部应用程序控制AutoCAD,使用高版本开发可以用到低版本CAD中,如AutoCAD2009开发,可用到AutoCAD2008使用
使用说明:
  •   新建vb.net windows应用程序项目;
  •   添加引用2个程序集(类库)文件:acax17enu.tlb、axdb17enu.tlb,文件位置在:“C:\Program Files\Common Files\Autodesk Shared”;或者使用下面提供的文件,这里提供的是AutoCAD2009版的。具体详见“使用 Microsoft .NET Framework”一节,引用方法 和“移植工程的方法”。
  • 在“解决方案管理器“==选中”AutoCAD、AXDBLib“两个文件==”嵌入互操作类型“设置为False,”复制本地“设置为True

      
有关说明:
        嵌入互操作类型:设置为True时,Visual Studio编译时,不打包被引用应用程序项目的类库,即各个独立,利用两都相互通信。这样AutoCAD换台电脑就说没有注册错误。所以必须设置成False,即将AutoCAD类库引用的文件打包到程序中,并复制到本地设置为True,这样高版本开发程序理论里可以兼容低版本的CAD。复制到本地的2文件(Autodesk.AutoCAD.Interop.Common.dll,Autodesk.AutoCAD.Interop.dll)也要同时打包才能用低版本CAD。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2012-10-30 10:12:51 | 显示全部楼层
本帖最后由 lwd899 于 2012-10-30 10:27 编辑

可以解决版本限制的问题?这是真的吗,我找这方面的资料时间很长了,楼主有没有示例啊?
另外,我在vs2008里面怎么没有召见“嵌入式互操作”这一项啊?


发表于 2014-9-26 21:30:29 | 显示全部楼层
我按照楼上方法实施了 一下 行不通 如果改回来就可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-29 03:07 , Processed in 0.189994 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表