




免费预览已结束,剩余6页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AutoCAD中二维图形消隐的一种新方法第31卷第3期2011年9月辽宁石油化工大学J0URNAL0FLIA()NINGSHIHUAUNIVERSITYVo1.3】NO.3Sep.2()II文章编号:16726952(2011103007004AutoCAD中二维图形消隐的一种新方法蓝晓民,王盛智(1.辽宁石油化工大学机械学院,辽宁抚顺113001;2.辽宁石油化工大学石油与天然气工程学院,辽宁抚顺113001)摘要:论述了在AutoCAD下实现二维图形消隐的方法,提出基于Wipeout命令实现二维图形消隐的方法,分析了使用Wipeout命令消隐存在的问题.通过对圆弧的离散化处理,定义匿名图块等方法,解决了应用Wipeout命令对二雏图形进行消隐的问题.采用AutoIISP语言编写了二维图形消隐命令,为应用AutoCAD绘制装配图提供了一种新的作图方法.关键词:AutoCAD;装配图;消隐中图分类号:TH126.2文献标识码:Adoi:10.3696/j.issn.16726952.2011.03.019ANewMethodofTWODimensionGraphsConcealinAutoCADLANXiaomin.WANGSheng-zhi(1.SchoolofMechanicalEngineering,LiaoningShihuaUniversity,FushunLiaoning113001,P.R.Chian;2.CollegeofPetroleumEngineering,LiaoningShihuaUniversity,FushunLiaoning113001,P.R.China)Received16December2010;revised25April2011;accepted30April2011Abstract:ThemethodtOhidetWOdimensionaldrawinginAutoCADwasdiscussed.ThemethodtOhidetWOdimensionaldrawingwithWipeoutwasputforward.TheexistentproblemstohidetwodimensionaldrawingaboutusingWipeoutwereanalyzed.ThroughthearcintodiscreteandthedefinitionofanonymousdrawingandSOon,theproblemtOhidetWOdimensionaldrawingwithWipeoutwassolved.AnorderprogramtOhidetWOdimensionaldrawingwithAutoIISPwaswrote.ItprovidesanewvaluabledraftingmethodtOdrawaassemblydrawingwithAutoCAD.Keywords:AutoCAD;Assemblagedrawing;ConcealC0rrespondingauthor.Te1.:+8613624133835;e-mail:13624133835163.com由于AutoCAD没有提供二维图形消隐命令,在使用AutoCAD绘制装配图时,通常需要由设计人员判断图形遮挡关系,采用修剪命令删除被遮挡图形.因此绘图效率低,并且破坏了被遮挡图形的完整性.如何在AutoCAD中实现二维图形消隐是广大CAD应用者关心的问题.在AutoCAD中实现二维图形消隐通常有两种方法L1.:第一种方法,采用裁剪算法,通过编程计算图形边界与其它图形相交点,剪去被遮挡区域内的实体;第二种方法,采用AutoCAD提供的Boundary和Shademode命令,利用图形之间不同的深度来实现消隐.第一种方法缺点是计算量较大,编程复杂.而且修剪后删除的图形不能再编辑或恢复.第二种方法利用了收稿日期:20101216作者简介:蓝晓民(1960一),男(畲),浙江青田县,教授.AutoCAD提供的命令,由于是利用两图深度不同,利用系统提供的三维消隐命令(Shademode)来实现消隐的.由于图形之间的高度不同,不能保证图形之间的几何度量关系.经过编辑后的图形还需要重新进行深度设置,而且不能实时消隐,并且操作步骤繁琐.本文提出了利用AutoCAD提供的Wipeout命令实现二维图形消隐的方法.Wipeout命令是AutoCAD2004及以上版本提供的区域覆盖命令.该方式相当于用一不透明的平面遮挡其它图形,由于不破坏被遮挡的图形,还可以对被遮挡的图形进行再编辑.与通常使用Boundary和Shademode组合命令消隐方法相比较,基于Wipeout命令开发的二维图形消隐命令使用更简单,并可实现实时消隐.Wipeout命令要求覆盖边界必须由封闭的直线段构成.而装配图形的边界除直线外,通常还包含圆弧,椭圆弧等曲线段.本研究目的是为AutoCAD第3期蓝晓民等.AutoCAD中二维图形消隐的一种新方法71开发一自动生成消隐图形块的命令.如何自动获取二维图形的轮廓边界,及将轮廓边界中的圆弧离散化成直线是本文研究的重点.其次,为便于对遮挡图形进行整体编辑(移动),需要将其制作成图形块.为避免出现重名问题,需要将图形块定义成匿名图形块.1获取二维图形轮廓线边界获得消隐图形的轮廓边界是利用AutoCAD系统提供的边界命令boundary实现的,它通过在一封闭区域内,零件外点取一点,便可以自动生成封闭区域内图形轮廓的边界多义线(1wpolyline).多义线只能由直线和圆弧组成,对样条曲线(spline)和椭圆(ellipse)需要经过处理方能使用boundary命令生成边界.在机械工程图样中,样条曲线主要用于绘制波浪线.可以先使用Pline命令绘制成折线,然后用pedit命令(选项s)拟合成Polyline曲线来替代样条曲线.用Polyline曲线生成的边界均由直线段组成.在AutoCAD中,椭圆有两种生成方式,一种是按椭圆方程绘制的椭圆,另一种是按多段圆弧拟合成的近似椭圆,两种椭圆的生成方式是通过设置系统变量pellipse的值来确定的.其值为0时生成的是椭圆,其值为1时生成的椭圆为Polyline曲线,是用圆弧拟合成的近似椭圆.由于这种近似椭圆与椭圆有着非常好的几何逼近度,因此采用近似椭圆完全可满足工程制图的需要,而且可以简化编程.要获得图1所示零件(如图1(a)所示)的外轮廓线(如图1(b)所示),只要在零件图形外绘制一矩形框(任何由直线和圆弧构成的封闭图形),利用boundary命令在矩形框内与零件图形外取一点pt,系统便自动生成两条多义线,一条是与矩形外框重和的多义线,另一条是零件的外轮廓多义线.(b)提取后图1零件外轮廓提取使用下式:(commandrectangpausepause)绘制一矩形框,通过下式:(setqsl(entlast)(setqpl(cdr(nth14(entgets1)(setqp2(cdr(nth22(entgets1)可得到矩形框角点坐标p1,p2.使用下式:(setqpt(polarpl(angleplp2)1.O)可以计算出选定区域内点取点坐标pt.由于boundary命令生成的多义的顺序是固定的,按照从内到外的顺序排列,为使程序得到该轮廓线实体,使用下式:(commanderase(entlast)先删除外层矩形框多义线,然后用下式:(setqss(entlast)即可获得零件的外轮廓线实体ss.利用下式:(entgetss)即可得到零件的外轮廓实体数据:(一1.<图元名:7ef6cb98>)(0.LWPOLYLINE)(330.<图元名:7ef66cf8>)(5.1E03)(100.AcDbEntity)(67.0)(410.Model)(8.1)(100.AcDbPolyline)(90.19)(70.1)(43.0.0)(38.0.0)(39.0.0)(10127.393317.096)(40.0.O)(41.0.0)(42.0.0)(10129.807312.916)(40.0.0)(41.0.0)(42.0.0)(10129.807309.872)(40.0.0)(41.0.0)(42.0.0)(10129.807288.2)(40.0.0)(41.0.0)(42.0.0)(10129.807263.485)(40.0.0)(41.0.O)(42.0.0)(10127.393259.304)(40.0.0)(41.0.0)(42.0.0)(10114.825259.304)(40.0.0)(41.0.0)(42.0.0)(10114.825272.056)(40.0.0)(41.0.0)(42.0.0)(10112.078272.056)(40.0.0)(41.0.0)(42.0.0)(10110.484269.296)(40.0.0)(41.0.0)(42.0.0)(1094.7084269.296)(40.0.0)(41.0.0)(42.0.0)(1092.6193271.385)(40.0.0)(41.0.0)(42.0.0)(1092.6193288.2)(40.0.0)(41.0.0)(42.0.0)(1092.6193305.016)(40.0.0)(41.0.0)(42.0.0)(1094.7O843O7.105)(40.0.0)(41.0.0)(42.0.0)(10110.484307.105)(40.0.0)(41.0.0)(42.0.0)(10112.078304.345)(40.0.0)(41.0.0)(42.0.0)(10114.825304.345)(40.0.0)(41.0.0)(42.0.0)(10114.825317.096)(40.0.O)(41.0.0)(42.0.0)(2100.00.01.0)在上述实体数据中,组代码为1O的相邻两点为多义线中直线段和圆弧段的数据,两点间组代码4272辽宁石油化工大学的值等于0的数据为直线段,组代码42的值不等于0的数据为圆弧段.将数据中的圆弧离散化成直线段,并与直线段编辑成一封闭复线,即可实现用Wipeout命令建立轮廓图形的覆盖区域.根据外轮廓实体数据中组代码10的数量,可计算出轮廓实体数据中直线段与圆弧段的数量n.利用下式:(commandexplode(entlast)将外轮廓实体分解成直线段或圆弧段.用(entlast)函数从1到n逐个选取轮廓边界实体,如果实体为圆弧需将圆弧按下面的函数(arcp1)离散化成由直线段组成的线段端点表.2圆弧的离散化处理函数将圆弧转换成直线端点表的LISP程序如下:(defunarcpl(pranglang2/dtls)(if(>anglang2)(setqang2(+ang2(*2pi)(setqdt(dtr3.0)(while(<anglang2)(setqIs(cons(polarPanglr)Is)(setqangl(+dtang1)(setqIs(cons(polarPang2r)Is)(commandpline)(repeat(1engthls)(command(carIs)(setqls(cdrIs)(command)(entlsat)函数arcpl中的参数P为圆弧中心点坐标,其形参为(Xy);r为圆弧半径;angl为圆弧起始角(弧度);ang2为圆弧终止角(弧度).函数返回一由多段直线段端点组成的表(XY)(X.Y)(xY).圆弧离散成直线段时,是按其定角增量dt计算弦长.dt的增量大小决定离散后圆和圆弧逼近精度.工程图一般取35度左右即可获得较好的视觉效果(增量角过小将使图形存储数据量增大).上述函数中的函数dtr函数为将度角转成弧度角函数,其函数定义如下:(defundtr(ang/)(*(/pi180.0)ang)3生成直线段多义线轮廓线边界对于分解后的直线段使用下式:(setqls(entget(entlast)可得到直线实体数据:(一1.<图元名:7ef28lf8>)(0.LINE)(330.<图元名:7ef71cf8>)(5.B7)(100.AcDhEntity)(67.0)(410.Model)(8.2)(100.AcDbLine)(10161.7528.94180.0)(11227.32516.05760.0)(2100.00.01.0)其中组代码1o为直线起始点坐标,组代码lll为直线终点坐标,利用下式:(1ist(assoc10ls)(assocllIs)可得到直线段端点坐标表(161.7528.94180.0)(227.32516.05760.0).对于分解后的圆弧段经函数arcpl离散化后成直线端点表(XY)(xY2)(xY).将直线段表和圆弧离散化后的直线端点表经过连接组成新表.其格式为:(X1Y1)(X2Y2)(XY)其中,n为轮廓边界总的直线段数.使用下式:(commandpline)(repeat(1engthls)(command(carIs)(setqSS(cdris)(commandC)将表ls中各点绘制成一封闭的多义线.使用命令Wipeou将边界多义线实体转换成覆盖区域,其格式为:(commandwipeout(entlast)y)然后将覆盖区域与二维图形做成匿名图形块.4建立匿名消隐图形块建立匿名图形块的作用是避免同一图中出现相同的图形块名.在同一图中如果定义相同的图形块,后建立的图形块将更新原有的图形块.本研究是开发一交互式建立消隐图形块的命令,不需要输入块名.匿名图形块名均为*U.利用下式:(setqss(ssgetwp1p2)选择轮廓边界及消隐图形实体SS.将图形实体建立成匿名图形块的IASP程序如下:(defunnmk(SS/innum)第3期蓝晓民等.AutoCAD中二维图形消隐的一种新方法73(entmake(1ist(0.BLOCK)(2.*U)(70.1)(cons10(00)(setqi(sslengthSS)n(一1)(repeati(entmake(cdr(entget(ssnameSS(setqn(1+n)(setqnum(entmake(0.ENDBLK)(entmake(1ist(0.INSERT)(cons2num)(cons10(00)(commanderaseSS)(princ)函数nmk中参数SS为图形边界与图形实体.5在装配图中的应用在图2所示的装配图中,零件1遮挡零件2,图2(a)为未消隐的装配图图形,图2(b)为对零件1进行消隐后的装配图.对于这种简单的螺纹结构,如果采用人工判断,处理消隐也较为繁杂,而且容易出错.采用消隐技术可以使消隐过程简单化.21潮韵(a)消隐前(b)消隐后图2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论