VB调用AutoCAD

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

VB调用AutoCAD并画图计算机辅助设计(此部分内容可参考AutoCAD中的帮助)VB调用AutoCAD在VB调用AutoCAD,必须先引用AutoCAD类型库。要在VB中完成此操作,请从“工程”菜单中选择“引用”选项,启动“引用”对话框。在“引用”对话框中,选择AutoCAD类型库,然后单击“确定”。允许您选择另外的应用程序的对象,通过设置对那个应用程序对象库的引用您可以在您的代码中使用它。编写代码调用AutoCADSubCh2_ConnectToAcad()DimacadAppAsAcadApplicationOnErrorResumeNextSetacadApp=GetObject(,AutoCAD.Application.16)’如果AutoCAD正在运行,指定AutoCAD版本号时,VBGetObject函数将检索AutoCADApplication对象。IfErrThenErr.Clear‘如果AutoCAD没有运行,发生的错误(本例中)会被捕获然后清除。SetacadApp=CreateObject(AutoCAD.Application.16)IfErrThenMsgBoxErr.Description‘CreateObject函数接着会试图创建一个AutoCADApplication对象。如果创建成功,会启动AutoCAD;如果失败,则会显示一个消息框,说明发生的错误。ExitSubEndIfEndIfMsgBoxNowrunning+acadApp.Name+“version+acadApp.VersionEndSub编写代码调用AutoCADVB调用AutoCAD同时运行多个AutoCAD任务时,GetObject函数会返回Windows运行对象表中的第一个AutoCAD实例。关于验证GetObject返回任务的详细信息,请参见MicrosoftVisualBasic文档中关于对象运行表(ROT)和GetObject函数的部分。要显示AutoCAD图形窗口,需要将AutoCAD应用程序的Visible特性设置为TRUE将VBA代码转换为VB将文档变量设置为AutoCAD应用程序中的Document对象。Document对象由Application对象的ActiveDocument特性返回。例如:DimacadDocasAcadDocumentSetacadDoc=acadApp.ActiveDocument从现在开始,使用acadDoc变量引用当前的AutoCAD图形。将VBA代码转换为VB如果GetObject创建了一个新的AutoCAD实例(即调用GetObject时AutoCAD没有运行),没有将Visible设置为TRUE会导致AutoCAD应用程序不可见,甚至AutoCAD不显示在Windows任务栏上。注意使用依赖于版本的ProgID。如果CreateObject或GetObject函数使用的是独立于版本的ProgID,则将函数更改为使用依赖于版本的ProgID。例如,如果使用的是CreateObject,请将CreateObject(AutoCAD.Application)替换为CreateObject(AutoCAD.Application.16)。注意AutoCAD2004的COM(componentsobjectmodel)应用程序访问的注册表项为AutoCAD.Application.16注意事项例题1PrivateSubCommand2_Click()'Thisexamplecreatesacircleinmodelspace.DimcircleObjAsAcadCircleDimcenterPoint(0To2)AsDoubleDimradiusAsDouble'DefinethecirclecenterPoint(0)=100#:centerPoint(1)=100#:centerPoint(2)=0#radius=100#'CreatetheCircleobjectinmodelspaceSetcircleObj=acadDoc.ModelSpace.AddCircle(centerPoint,radius)acadApp.Visible=TrueZoomExtentsEndSub在AutoCAD上画圆将VBA代码转换为VB将代码样例中所有的ThisDrawing引用替换为引用活动文档的用户指定的变量。要完成这项操作,请为AutoCAD应用程序(acadApp)和当前的文档(acadDoc)定义变量。然后,将应用程序变量设置为当前的AutoCAD应用程序。VBA与VB比较代码样例使用VBA创建直线:SubCh2_AddLineVBA()‘本例在模型空间中添加一条直线‘定义直线的起点和端点DimlineObjAsAcadLineDimstartPoint(0To2)AsDoubleDimendPoint(0To2)AsDoublestartPoint(0)=1:startPoint(1)=1startPoint(2)=0endPoint(0)=5:endPoint(1)=5:endPoint(2)=0‘在模型空间中创建直线SetlineObj=ThisDrawing.ModelSpace.AddLine(startPoint,endPoint)‘放大新创建的直线ZoomAllEndSubVBA与VB比较代码样例VBA与VB比较代码样例VBA与VB比较代码样例使用VB创建直线:SubCh2_AddLineVB()连接至AutoCAD应用程序(略)DimacadDocAsAcadDocumentSetacadDoc=acadApp.ActiveDocument‘创建直线的端点DimlineObjAsAcadLineDimstartPoint(0To2)AsDoubleDimendPoint(0To2)AsDoublestartPoint(0)=1:startPoint(1)=1:startPoint(2)=0endPoint(0)=5:endPoint(1)=5:endPoint(2)=0‘在模型空间中创建Line对象SetlineObj=acadDoc.ModelSpace.AddLine(startPoint,endPoint)ZoomAllacadApp.visible=TrueEndSubVBA与VB比较代码样例VBA与VB比较代码样例

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功