CAD应用 二次开发---VB和VBA开发CAD的知识.docVIP

CAD应用 二次开发---VB和VBA开发CAD的知识.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1、如何在?VB?中连接?AutoCAD。 启动?VB?,引用?AutoCAD?类型库。操作步骤:从“工程”菜单中选择“引用”选项,启动“引用”对话框。在“引用”对话框中,选择?AutoCAD?类型库,然后单击“确定”。? 定义模块级变量?AutoCAD?应用程序?(acadApp)?和当前的文档?(acadDoc)。 如果?AutoCAD?正在运行,使用?GetObject?函数将检索?AutoCAD?Application?对象。如果?AutoCAD?没有运行,使用?CreateObject?函数试图创建一个?AutoCAD?Application?对象。如果创建成功,会启动?AutoCAD;如果失败,则会发生错误。? 同时运行多个?AutoCAD?任务时,GetObject?函数会返回?Windows?运行对象表中的第一个?AutoCAD?实例。 要显示?AutoCAD?图形窗口,需要将?AutoCAD?应用程序的?Visible?特性设置为?TRUE。? 使用?acadDoc?变量引用当前的?AutoCAD?图形。? 示例:? Dim?acadApp?As?AcadApplication Dim?acadDoc?as?AcadDocument? Sub?ConnectToAcad() On?Error?Resume?Next Set?acadApp?=?GetObject(,?AutoCAD.Application) If?Err?Then Err.Clear Set?acadApp?=?CreateObject(AutoCAD.Application) If?Err?Then?End End?If acadApp.Visible?=?True Set?acadDoc?=?acadApp.ActiveDocument End?Sub 2、如何使?VB?开发的程序不依赖于?AutoCAD?的版本。 启动?VB?,定义模块级变量?AutoCAD?应用程序?(acadApp)?和当前的文档?(acadDoc)。 如果?AutoCAD?正在运行,使用?GetObject?函数将检索?AutoCAD?Application?对象。如果?AutoCAD?没有运行,使用?CreateObject?函数试图创建一个?AutoCAD?Application?对象。如果创建成功,会启动?AutoCAD;如果失败,则会发生错误。? 同时运行多个?AutoCAD?任务时,GetObject?函数会返回?Windows?运行对象表中的第一个?AutoCAD?实例。 要显示?AutoCAD?图形窗口,需要将?AutoCAD?应用程序的?Visible?特性设置为?TRUE。? 使用?acadDoc?变量引用当前的?AutoCAD?图形。? 示例:? Dim?acadApp?As?Object Dim?acadDoc?as?Object? Sub?ConnectToAcad() On?Error?Resume?Next Set?acadApp?=?GetObject(,?AutoCAD.Application) If?Err?Then Err.Clear Set?acadApp?=?CreateObject(AutoCAD.Application) If?Err?Then?End End?If acadApp.Visible?=?True Set?acadDoc?=?acadApp.ActiveDocument End?Sub 与第一个问题相比较,可以看出,不引用具体的类型库以及使用通用的对象类型就可以达到通用性。 3、前期绑定和后期绑定 要创建一个使用前期绑定方式的对象变量,也就是说,在程序编译时就完成绑定,则对象变量在声明时应指定类?ID,如:Dim?acadApp?As?AcadApplication。 使用?As?Object?子句声明对象变量,可以创建一个能包含任何类型对象引用的变量。不过,该变量访问对象是后期绑定的,也就是说,绑定在程序运行时才进行,如:Dim?acadApp?As?Object。 前期绑定的变量引用可以提供更好的性能,但该变量只能存放声明中所指定的类的引用。 而后期绑定的变量引用可以提供更好的通用性。 4、依赖于版本和独立于版本 如果?CreateObject?或?GetObject?函数使用的?ProgID?没有附加版本号,那么是独立于版本的,否则是依赖于版本的。例如,如果使用的是?CreateObject,则?CreateObject?(AutoCAD.Application)?是独立于版本的,而?Create

文档评论(0)

0716 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档