《AutoCAD二次开发.ppt》由会员分享,可在线阅读,更多相关《AutoCAD二次开发.ppt(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、AutoCAD二次开发第二讲 创建二维图形 AutoCADAutoCAD的主要功能之一就是绘制的主要功能之一就是绘制各种二维和三维图形,用各种二维和三维图形,用VBVB编程实现编程实现AutoCADAutoCAD绘图,就是用绘图,就是用AddAdd方法方法在在AutoCADAutoCAD模型空间(模型空间(MoodelSpaceMoodelSpace)创)创建二维或三维图形对象,也可在图纸建二维或三维图形对象,也可在图纸空间(空间(PaperSpacePaperSpace)或块()或块(BlockBlock)中)中创建对象。创建对象。1 创建直线用AddLine方法可以创建直线,应用该方法时要
2、给出直线起点与终点的三维坐标。Dim Zx as AcadLineSet Zx=AcadApp.ActivaDocument.MoodlSpace.AddLine(ptst,pten)例:创建两点(1,1,0)与(15,15,0)之间的直线。Dim Zx As AcadLineDim Ps(2)As DoubleDim Pe(2)As DoublePs(0)=1:Ps(1)=1:Ps(2)=0Pe(0)=15:Pe(1)=15:Pe(2)=0Set Zx=AcadApp.ActiveDocument.ModelSpace.AddLine(Ps,Pe)AcadApp.ZoomAll2 创建轻便多
3、段线用AddLightWeightPolyline方法可以创建轻便直线,应用该方法时要给出轻便多段线各顶点的二维坐标。Dim Qx as AcadLWPolylineSet Qx=AcadApp.ActivaDocument.MoodlSpace.AddLightWeightPolyline(points)多段线的凸度设置:使用SetBulge方法 SetBulge 起点数,n n凸出参数,0代表直线,1代表半圆,介于 01之间的劣弧为圆心角四分之一的正切值。例:创建过三点例:创建过三点(1,1)(1,1)、(3,2)(3,2)、(4,9)(4,9)的轻便多段线。的轻便多段线。Dim Dim
4、DxDx As As AcadLWPolylineAcadLWPolylineDim Po(5)As Dim Po(5)As DoubleDoublePo(0)=1:Po(1)=1Po(0)=1:Po(1)=1Po(2)=3:Po(3)=2Po(2)=3:Po(3)=2Po(4)=4:Po(5)=9Po(4)=4:Po(5)=9Set Set DxDx=AcadApp.ActiveDocument.ModelSpace.AddLightAcadApp.ActiveDocument.ModelSpace.AddLightWeightPolyline(PoWeightPolyline(Po)Aca
5、dapp.ZoomExtentsAcadapp.ZoomExtentsAcadApp.ZoomAllAcadApp.ZoomAll3 创建圆用AddCircle方法可以创建圆,应用该方法时要给出圆的圆心坐标和半径。Dim y as AcadCircleSet y=AcadApp.ActivaDocument.MoodlSpace.AddCircle(ptcen,ra)例:创建圆心为(20,30,0),半径为5的圆。Dim Y As AcadCircleDim Pc(2)As DoubleDim r As DoublePc(0)=20:Pc(1)=30:Pc(2)=0r=5Set Y=Acada
6、pp.ActiveDocument.ModelSpace.AddCircle(Pc,r)Acadapp.ZoomExtents4 创建圆弧用AddArc方法可以创建圆弧,应用该方法时要给出圆弧的圆心坐标、半径、起始角度和终止角度。Dim yh as AcadArcSet yh=AcadApp.ActivaDocument.MoodlSpace.AddArc(ptcen,ra,stang,enang)例:创建圆心为例:创建圆心为(20,30,0),半径为,半径为5,起始角为,起始角为,终止角,终止角/8的圆弧。的圆弧。Dim Yh As AcadArcDim Ptcen(2)As DoubleD
7、im ra As DoubleDim sa As Double,ea As Doublestang=4*Atn(1)enang=Atn(1)/2Ptcen(0)=20:Ptcen(1)=30:Ptcen(2)=0ra=5Set Yh=Acadapp.ActiveDocument.ModelSpace.AddArc(Ptcen,ra,stang,enang)Acadapp.ZoomExtents5 接收用户输入点用用ActivaDocument.UtilityActivaDocument.Utility 的的GetPointGetPoint、GetDistanceGetDistance、GetA
8、ngleGetAngle函数可以接收用户输入的点坐标、半径、起始角函数可以接收用户输入的点坐标、半径、起始角度和终止角度。度和终止角度。ptcenptcen=acadapp.ActiveDocument.Utility.GetPointacadapp.ActiveDocument.Utility.GetPoint(,(,“指定圆心指定圆心)rara=acadapp.ActiveDocument.Utility.GetDistanceacadapp.ActiveDocument.Utility.GetDistance(,(,“输入半径输入半径)stangstang=acadapp.ActiveD
9、ocument.Utility.GetAngleacadapp.ActiveDocument.Utility.GetAngle(,(,“输入起始角度输入起始角度)enangenang=acadapp.ActiveDocument.Utility.GetAngleacadapp.ActiveDocument.Utility.GetAngle(,(,“输入终止角度输入终止角度)例:创建圆心为例:创建圆心为(20,30,0),半径为,半径为5,起始角为,起始角为,终止角,终止角/8的圆弧。的圆弧。Dim Yh As AcadArcDim Pc As VariantDim r As DoubleDim
10、 sa As Double,ea As DoublePc=Acadapp.ActiveDocument.Utility.GetPoint(,“指定圆指定圆心心:)r=Acadapp.ActiveDocument.Utility.GetDistance(,“输入输入半径:半径:)sa=Acadapp.ActiveDocument.Utility.GetAngle(,“输入起输入起始角度始角度)ea=Acadapp.ActiveDocument.Utility.GetAngle(,“输入终输入终止角度止角度)Set Yh=Acadapp.ActiveDocument.ModelSpace.AddA
11、rc(Pc,r,sa,ea)Acadapp.ZoomExtents本章小结掌握创建二维图形的原理;能创建直线、多段线、圆、圆弧对象;会接收用户输入操作。1 AutoCAD对象AutoCADAutoCAD对象分为以下类型:对象分为以下类型:图形对象:例如直线(Lines)、球体(Sphere)、文本(Text)、尺寸(Dimensions)等。样式设置对象:如线型样式(Linetypes)、标注样式(Dimstyles)等。组织结构对象:如图层(Layers)、块(Blocks)等。图形显示对象:如视图(View)、视口(Viewport)等。AutoCAD应用程序(Application)和文
12、档(Document)AutoCADAutoCAD对象根据它们的不同功能,具有一定对象根据它们的不同功能,具有一定 的隶属关系的隶属关系。Application(应用程序)Preferences(系统配置)Documents(文档)MenuBarMenuGroupsBlocks(块)ModelSpace(模型空间)PaperSpace(图纸空间)Utility(使用程序)访问菜单和工具条2 连接AutoCAD 用VB语言编程进行AutoCAD二次开发,首先将VB与AutoCAD连接起来,需要以下两个步骤:在编写VB代码前,引用AutoCAD对象库。编写VB程序代码,创建AutoCAD对象,启动
13、AutoCAD。一、引用AutoCAD对象库工程/引用AutoCAD2006 Type Library二、创建AutoCAD对象,启动AutoCAD实质是:引用 AutoCAD应用程序对象(Application)AutoCAD应用程序对象的引用采用对象变量来完成。首先声明变量类型,然后使用Set语句将对象引用赋给变量。Dim AcadApp as AcadApplication (在窗体代码声明段定义)Private Sub Form_Load()On Error Resume NextSet Acadapp=GetObject(,“AutoCAD.Application”)If Err T
14、hen Err.Clear Set Acadapp=CreatObject(,“AutoCAD.Application”)If Err Then MsgBox(“请检查是否安装了AutoCAD2006”)Exit Sub End IfEnd IfAcadApp.Visible=TureEnd Sub三、说明 1、GetObject函数 返回文件中的 ActiveX 对象的引用。格式:GetObject(Pathname,class)Pathname包含待检索对象的文件的全路径和名称。Class代表该对象的类的字符串,Class 参数的语法格式为 appname.objecttype。其中app
15、name提供该对象的应用程序名称;objecttype为待创建对象的类型或类。Pathname和Class二选一。2、CreatObject函数 创建并返回一个对 ActiveX 对象的引用。格式 CreateObject(Class)Class要创建的应用程序名称和类 3、Set语句 把对象的引用赋予变量或属性。3 图形文件的使用AutoCAD图形的绘制、编辑均在图形文件中进行,因此首先应掌握用VB控制AutoCAD图形文件的操作。一、创建新图形文件 使用文档Documents的Add方法。AcadApp.Documents.Add二、打开已有图形文件 使用文档Documents的Open方
16、法。AcadApp.Documents.Oppen 文件名 可以用公用对话框控件的ShowOpen方法。三、保存图形文件 使用活动文档对象ActivetDocuments的Save方法。AcadApp.ActivetDocuments.Save 可以用公用对话框控件的ShowOpen方法。四、关闭图形文件 使用活动文档对象ActivetDocuments的Close方法。AcadApp.ActivetDocuments.Close 4 退出AutoCAD使用AcadApp的Quit方法。AcadApp.Quit Set AcadApp=Nothing本章小结了解AutoCAD对象模型树结构;重点掌握AutoCAD的连接原理及代码;能对图形文件进行新建、打开、保存和关闭操作;