当前位置:文档之家› AutoCAD中由三维模型自动生成二维工程图的研究

AutoCAD中由三维模型自动生成二维工程图的研究

AutoCAD中由三维模型自动生成二维工程图的研究3何兵1,2,车林仙1,2(1.重庆大学机械工程学院,重庆 400044;2.泸州职业技术学院机电工程系,四川泸州 646005)摘要:基于AutoCAD的二次开发工具VBA语言,给出了AutoCAD中由三维模型自动生成二维工程图(即二维投影图和轴测图)的方法和程序。

该方法简单易行,改变了手动操作的繁琐与困难,提高了绘图效率,具有工程应用价值。

关键词:AutoCAD;三维模型;二维工程图;VBA中图分类号:TP302.4;TP391.72 文献标识码:A 文章编号:1001-2354(2005)09-0010-03 当前,基于特征技术的三维实体造型软件很多,功能强大,优势明显,如U G2Ⅱ,Pro/Engineer,I2DEAS,SolidWork等。

然而,在现阶段,三维实体造型还不能完全取代二维工程图(即二维投影图和轴测图),因为在表达非几何信息(如尺寸、公差、工艺信息等)及合乎工程技术人员的传统习惯方面,二维工程图仍然具有优越性和普遍性。

AutoCAD是目前国内外应用最广泛的PC2CAD软件,它不但具有强大的二维绘图功能,而且还能方便地进行三维实体造型。

在AutoCAD中,若先进行三维实体造型,再由该三维模型生成二维投影图,则可以充分发挥三维实体和二维投影图各自的优势,并提高绘图效率。

特别是绘制复杂机件的二维工程图时,此方法具有明显优点。

文献[1~3]对AutoCAD中由三维模型生成二维工程图的方法进行了深入研究,给出了操作步骤,但其过程较繁琐,在用Solprof,Soldraw,Solview命令时需在模型空间和图纸空间反复切换,技巧性很强,每生成一个图形均需重复这些操作,耗时耗力,且不易被普通用户掌握。

有鉴于此,文中改进了文献[1~3]中由三维模型生成二维工程图的方法,并将由三维模型生成二维工程图的过程,编制为VBA (Visual Basic for Application)程序并定义为宏,这样便可一劳永逸,而其后续操作步骤非常简单。

先用Lweight设置一个缺省线宽,运行此程序则自动生成二维工程图,然后添加中心线、标注尺寸,即可得到符合国家标准的工程图,大大提高了绘图效率。

1 编程环境VBA是AutoCAD的内嵌开发工具,与VB类似,采用面向对象技术,具有强大的窗体创建功能,简单实用[4]。

因此,选用VBA为二次开发工具。

创建VBA工程的方法为:打开Au2 toCAD的菜单“Tools|Macro|Visual Basic Editor”,在“Visu2 al Basic Editor”中创建工程。

2 由三维模型自动生成二维工程图的方法2.1 用AddPViewport方法在图纸空间创建视口AutoCAD的三维实体造型环境为模型空间(Model Space),而输出二维图形的环境为图纸空间(Paper Space)[1~4]。

由画法几何知,在空间自6个方向观察三维模型,即可得到6个基本视图(二维投影图)。

欲同时观察模型的几个方向,则需用Vports命令在模型空间或图纸空间创建多视口,并在不同视口中设置观察方向,从而得到相应的视图。

在VBA中,可用AddPViewport方法在图纸空间创建视口,其语法格式如下:’从模型空间切换到图纸空间ThisDrawing.ActiveSpace=acPaperSpaceThisDrawing.MSpace=False’定义ProjectViewPort为图纸空间的视口Dim ProjectViewPort As AcadPViewport’定义CenPoint数组表示的点为视口中心Dim CenPoint(0To2)As Double’Widt h和Height分别为视口的宽和高Set ProjectViewPort=ThisDrawing.PaperSpace.AddPViewport (CenPoint,Widt h,Height)2.2 用Direction属性设置观察(投影)方向在VBA中,可用Direction属性为创建的视口设置观察(投影)方向,其语法格式如下:’定义ViewDirect数组表示的点为视点,主、俯、左视图的视点可设为(0,-1,0),(0,0,1),(-1,0,0)’轴测图的视点则根据需要而设置Dim ViewDirect(0to2)As DoubleProjectViewPort.Direction=ViewDirect’将当前视口设置为活动窗口ProjectViewPort.Display acOn2.3 用Solprof命令生成三维模型的轮廓(即二维投影图)由于VBA没有提供生成三维模型轮廓的函数,因此采用直接调用AutoCAD中Solprof命令的方法,来生成三维模型的轮廓(即二维投影图)。

使用该命令时,采用输入“All”来实现全部选中对象,并连续4次输入“Yes”(或直接回车[1])来确认。

调用AutoCAD中Solprof命令的格式如下:’切换到模型空间第22卷第9期2005年9月机 械 设 计J OU RNAL OF MACHIN E DESIGNVol.22 No.9Sep. 20053收稿日期:2005-01-07;修订日期:2005-04-04基金项目:中国职业技术教育协会科研规划项目(520123);泸州职业技术学院科研基金资助项目(03B01)作者简介:何兵(1972-),男,四川泸州人,讲师,重庆大学机械学院在职硕士生,研究方向:机械CAD/CA E及机电控制。

ThisDrawing.MSpace=True’在图纸内范围缩放,并调整其相对比例ZoomExtent sZoomScaled0.5,acZoomScaledRelativePSpace’引号内的空格表示回车,“All”后为2个空格ThisDrawing.SendCommand“Solprof All Yes Yes Yes Yes”2.4 用Line Type,Color属性设置线型、颜色用Solprof命令生成三维模型的轮廓时,AutoCAD能够自动识别轮廓的可见性,并将可见轮廓和不可见轮廓分别置于以“PV…”和“P H…”命名的图层上。

因此,采用遍历的方法来查找出所有名称为“P H…”的图层,并用Line Type,Color属性为这些图层设置相应的线型(虚线)、颜色(黄色);对名称为“PV …”的图层,不必设置线型(因默认的线型为实线),只须设置颜色(绿色)即可。

其程序如下:’定义LayerObject为图层对象Dim LayerObject As AcadLayer’遍历当前图形的所有图层对象For Each LayerObject In yers ’检索图层名的前2个字符 If Left(,2)=“P H”Then LayerObject.Linetype=“Dashed” LayerObject.Color=ac Yellow ElseIf Left(,2)=“PV”Then LayerObject.Color=ac Green Else LayerObject.Color=acWhite End IfNext在使用“Dashed”(虚线)线型之前,应检验是否已加载此线型。

若未加载,则需用Load方法自线型库“acad.lin”中加载,否则会出错。

其程序如下:’定义Line TypeObject为线型对象Dim Line TypeObject As AcadLine Type’定义Found为Boolean型变量Dim Found As BooleanFound=False’遍历当前图形中的所有线型对象For Each Line TypeObject In ThisDrawing.Line Types If StrComp(Line ,“Dashed”,1)=0Then Found=True Exit For End IfNextIf Not(Found)Then ThisDrawing.Line Types.Load“Dashed”,“acad.lin”2.5 关闭实体所在的图层用Solprof命令生成三维模型的轮廓时,该轮廓与三维模型重叠在一起,因此需要关闭实体所在的图层,只保留轮廓。

其VBA程序为:’LayerName为实体所在的图层名ThisDrawing.ActiveLayer=“LayerName”yerOn=False2.6 应用实例按上述方法和步骤编制VBA程序,再运行之,便可由三维模型自动生成二维投影图,图2即为应用此方法由图1的三维实体模型自动生成的二维工程图(手工添加中心线,略去尺寸标注)。

注意,若要创建多视口,则需重复使用第2.1~2.3节的方法(本实例需重复4次),最后用第2.4~2.5节的方法,设置线型、颜色、关闭实体所在的图层等。

图1 实例的三维模型(线框图)图2 由三维模型自动生成的二维工程图3 结论应用上述方法,可以在绘制三维模型的基础上,快速、简便地得到二维工程图,如实例中轴测图的椭圆、表面交线等都能准确地自动生成,并且在多视口环境中,视图能自动对齐,避免了手动调整对三视图准确性的影响。

在绘制三维模型的基础上,一举多得,极大地提高了复杂图形的绘图效率,是一种工程实用方法(对具体企业的定制开发,添加中心线和尺寸标注都可以通过编程序解决)。

参考文献[1] 谢有才,刘福华,潘凤章.AutoCAD中由三维模型创建轴测图和二维投影图的改进[J].机械设计,2004,21(7):43-45.[2] 欧阳八生,李天宝.三维模型转换成二维投影图的研究[J].机械设计与制造,2004(2):35-36.[3] 刘树春,申屠留芳.AutoCAD中三维模型与二维投影图的创建[J].机械设计与研究,2002,18(4):31-32.[4] 李凤华.AutoCAD2002/2000VBA开发指南[M].北京:清华大学出版社,2001.Autom atic generation of tw o2dimensional engineering graph2 ics from3D model in AutoCADHE Bing1,2,CHE Lin2xian1,2(1.School of Mechanical Engineering,Chongqing Univer2 sity,Chongqing400044,China;2.Department of Mechatron2 ics Engineering,L uzhou Vocational and Technical College, L uzhou646005,China)112005年9月何兵,等:AutoCAD中由三维模型自动生成二维工程图的研究基于参数化有限元模型的活塞热负荷仿真分析3王虎,桂长林(合肥工业大学机械与汽车工程学院,安徽合肥 230009)摘要:应用COSMOS/M参数化有限元程序语言及Delphi面向对象高级语言,建立了490型柴油机活塞的参数化三维有限元计算分析模型及其数据输入输出处理接口,对活塞温度场及其影响因素进行了定量分析,并在此基础上,对490型柴油机虚拟故障工况下的热负荷进行了模拟计算,为故障仿真提供一种方便高效的手段。

相关主题