乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 115|回复: 6

关于VB.net使用ActiveX开发AutoCAD

[复制链接]

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2010-4-12 23:00:00 | 显示全部楼层 |阅读模式
我查了一些期刊文章,上面用VB.net二次开发的好几篇都是用ActiveX接口进行的。
我要实现的功能很简单,就是画几个圆,连线,做标注。我想用ActiveX更方便吧?
我现在糊涂的是,由于VB.net和VBA语法结构不一样,那么我该看什么书,VBA的书,然后自己将VB代码转换为.net代码吗?
是想由程序调用AutoCAD,并不是在AutoCAD当中调出程序。
回复

使用道具 举报

cjs

58

主题

154

帖子

9

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
385
发表于 2010-4-13 09:46:00 | 显示全部楼层
看得有点糊涂,你到底想用哪个开发,vba vb 还是 vb.net?
回复

使用道具 举报

44

主题

222

帖子

12

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
396
发表于 2010-4-13 22:31:00 | 显示全部楼层
vb.net还用什么ActiveX呀,直接用多方便
回复

使用道具 举报

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2010-4-14 16:09:00 | 显示全部楼层
是这样的,我的目标客户大多安装的是AutoCAD2004版本,另外实现的功能也很简单,就是输出到CAD窗口几个图形,几个标注,无须交互。感觉VB开发的速度更快一些,能借到的书也比较多。.Net API开发,论坛的例子大多是C#的,我阅读起来有些困难。
不知我这样想是否正确?
回复

使用道具 举报

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2010-4-14 17:06:00 | 显示全部楼层
经过2天的查找,问题已经得到解决,最终在Autodesk官方的.net开发文档中找到了答案。
这个是官方回答:
When you develop a new application, it can either run in or out-of-process. The AutoCAD .NET API is designed to run in-process only, which is different from the ActiveX Automation library which can be used in or -out-of-process.
......
If you need to create a stand-alone application to drive AutoCAD, it is best to create an application that uses the CreateObject and GetObject methods to create a new instance of an AutoCAD application or return one of the instances that is currently running. Once a reference to an AcadApplication is returned, you can then load your in-process .NET application into AutoCAD by using the SendCommand method that is a member of the ActiveDocument property of the AcadApplication.
简单的说.NET API 开发技术是专用于CAD进行“内部控制”的。而我需要实现的是一个通过外部程序控制CAD绘图的东西,目前仍然只有ActiveX Automation可以实现这一点,所以我这种开发要求,还是只能通过VBA来实现。
(可能理解的还有偏差,如果有错请大家指出)
(此回复中的VBA不准确,准确的是VB.net+Com类实现,因为程序内部的变量,与其说再找方法传递入Dll,还不如用VBA技术简单的解决掉,反正应用范围也不复杂)
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2010-4-14 18:35:00 | 显示全部楼层
你的理解没错,而且想用netapi都没法,2005以上的版本才支持
好像张晋西有本VB.net的二次开发书,是关于Com接口的,你可以找下
回复

使用道具 举报

11

主题

43

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
87
发表于 2010-7-30 12:45:00 | 显示全部楼层
我用C#2005使用ActiveX开发AutoCAD  只能对CAD控制,但想与CAD交互,怎么实现?必须用ObjectARX吗?
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-1 08:54 , Processed in 0.252767 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表