cad二次开发中VB或VBA的应用问题

上传人:s9****2 文档编号:499815572 上传时间:2023-02-02 格式:DOC 页数:2 大小:19.50KB
返回 下载 相关 举报
cad二次开发中VB或VBA的应用问题_第1页
第1页 / 共2页
cad二次开发中VB或VBA的应用问题_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《cad二次开发中VB或VBA的应用问题》由会员分享,可在线阅读,更多相关《cad二次开发中VB或VBA的应用问题(2页珍藏版)》请在金锄头文库上搜索。

1、cad二次开发中VB或VBA的应用问题1、如何在VB中连接AutoCAD。启动VB,引用AutoCAD类型库。操作步骤:从“工程”菜单中选择“引用”选项,启动“引用”对话框。在“引用”对话框中,选择AutoCAD类型库,然后单击“确定”。定义模块级变量AutoCAD应用程序(acadApp)和当前的文档(acadDoc)。如果AutoCAD正在运行,使用GetObject函数将检索AutoCADApplication对象。如果AutoCAD没有运行,使用CreateObject函数试图创建一个AutoCADApplication对象。如果创建成功,会启动AutoCAD;如果失败,则会发生错误。

2、同时运行多个AutoCAD任务时,GetObject函数会返回Windows运行对象表中的第一个AutoCAD实例。要显示AutoCAD图形窗口,需要将AutoCAD应用程序的Visible特性设置为TRUE。使用acadDoc变量引用当前的AutoCAD图形。示例:DimacadAppAsAcadApplicationDimacadDocasAcadDocumentSubConnectToAcad()OnErrorResumeNextSetacadApp=GetObject(,AutoCAD.Application)IfErrThenErr.ClearSetacadApp=CreateObj

3、ect(AutoCAD.Application)IfErrThenEndEndIfacadApp.Visible=TrueSetacadDoc=acadApp.ActiveDocumentEndSub2、如何使VB开发的程序不依赖于AutoCAD的版本。启动VB,定义模块级变量AutoCAD应用程序(acadApp)和当前的文档(acadDoc)。如果AutoCAD正在运行,使用GetObject函数将检索AutoCADApplication对象。如果AutoCAD没有运行,使用CreateObject函数试图创建一个AutoCADApplication对象。如果创建成功,会启动AutoCAD

4、;如果失败,则会发生错误。同时运行多个AutoCAD任务时,GetObject函数会返回Windows运行对象表中的第一个AutoCAD实例。要显示AutoCAD图形窗口,需要将AutoCAD应用程序的Visible特性设置为TRUE。使用acadDoc变量引用当前的AutoCAD图形。示例:DimacadAppAsObjectDimacadDocasObjectSubConnectToAcad()OnErrorResumeNextSetacadApp=GetObject(,AutoCAD.Application)IfErrThenErr.ClearSetacadApp=CreateObjec

5、t(AutoCAD.Application)IfErrThenEndEndIfacadApp.Visible=TrueSetacadDoc=acadApp.ActiveDocumentEndSub与第一个问题相比较,可以看出,不引用具体的类型库以及使用通用的对象类型就可以达到通用性。3、前期绑定和后期绑定要创建一个使用前期绑定方式的对象变量,也就是说,在程序编译时就完成绑定,则对象变量在声明时应指定类ID,如:DimacadAppAsAcadApplication。使用AsObject子句声明对象变量,可以创建一个能包含任何类型对象引用的变量。不过,该变量访问对象是后期绑定的,也就是说,绑定在

6、程序运行时才进行,如:DimacadAppAsObject。前期绑定的变量引用可以提供更好的性能,但该变量只能存放声明中所指定的类的引用。而后期绑定的变量引用可以提供更好的通用性。4、依赖于版本和独立于版本如果CreateObject或GetObject函数使用的ProgID没有附加版本号,那么是独立于版本的,否则是依赖于版本的。例如,如果使用的是CreateObject,则CreateObject(AutoCAD.Application)是独立于版本的,而CreateObject(AutoCAD.Application.15)是依赖于版本的。5、VB代码到VBA代码的转换在VBA的IDE环境

7、中,使用“导入文件”将要转换的VB工程的模块、类模块以及窗体文件一一导入。接着将VB代码中所有的当前的文档(acadDoc)变量替换为ThisDrawing,而AutoCAD应用程序(acadApp)变量替换为Application。同时删除定义的AutoCAD应用程序(acadApp)和当前的文档(acadDoc)变量,删除与AutoCAD应用程序连接的代码。注意:要转换VB代码的窗体部分,则窗体必须是用UserForm创建的。6、图形对象和非图形对象图形对象(也称为图元、实体对象)是组成图形的可见对象(例如直线、圆、光栅图像等)。非图形对象是指属于图形的一部分但不可见的(提示性的)对象,例如Layers、Linetypes、DimStyles、SelectionSets等等。要创建这些对象,可使用Add方法。每一个对象都有用于特定目的的方法和特性,都有设置和检索扩展数据以及删除自己的方法。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号