基于AutoCAD平台的换热设备零部件三维造型系统_第1页
基于AutoCAD平台的换热设备零部件三维造型系统_第2页
基于AutoCAD平台的换热设备零部件三维造型系统_第3页
基于AutoCAD平台的换热设备零部件三维造型系统_第4页
基于AutoCAD平台的换热设备零部件三维造型系统_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑基于AutoCAD平台的换热设备零部件三维造型系统摘要采用autocad二次开发技术,在visualc++60和objectarx2000的环境下,开发了换热设备零部件的三维造型系统。运用挤出、旋转和布尔运算等方法,在给定基本参数条件下,可自动创建换热设备零部件的三维实体模型,修改设计参数,用户可以方便地修改三维模型。系统方便、省时,界面友好,运行可靠,实现了从数据到图纸的计算机参数化绘图。实践证明,系统为换热设备零部件的有限元分析前处理建模大大节省了时间,提高了设计分析效率。

关键词换热设备,三维建模,autocad二次开发,参数化绘图,objectarx2000

换热设备广泛应用于石油化工、炼油、化肥、动力、轻工、冶金、核工业等工业部门。随着cad/cae/cam技术的发展,二维平面图已远远不能满足设计和制造的需求。而三维模型具有很强的可视性,能准确反映设计者的设计思想;对于复杂的结构,二维图形不能够准确的表达出各零部件的空间位置关系,而三维实体图形具有空间真实感,能明确表达出各零部件的空间位置关系,避免各零件之间发生碰撞和干涉。在对换热设备及其零部件设计的同时需要对换热设备零部件进行有限元分析和优化设计(特别是对非国标零部件),首先需要创建零部件的三维模型。据统计,创建模型所耗费的时间占整个分析过程的87%[1]。特别是在优化设计过程中,要根据优化结果不断进行三维模型的修改和优化,这给设计分析人员手工建模带来了很大的重复的麻烦,大大降低了设计分析效率。

随着cad技术的发展,关于机械零部件的绘图软件包应运而生,但它们的三维功能较弱。国外一些大的软件商也推出了三维软件(如proe等),但价格较高,令一般的用户望而却步。所以开发专业的换热设备零部件的三维造型系统具有很大的必要性和实际意义。

著名的有限元分析软件ansys可与autocad软件共享数据,接受autocad建立的三维模型[2]。为此,运用autocad二次开发技术开发了换热设备零部件的三维造型系统。运行该系统,输入必要的设计参数,系统将自动快捷的生成精确的零部件三维模型,实现了换热设备零部件的三维参数化绘图。

1三维造型系统的开发环境

objectarx2000是autodesk公司随着autocad2000推出的新一代的功能强大的二次开发工具。它使用面向对象的c++应用程序开发机制,以动态链接的形式与autocad共享地址空间,能够直接利用autocad的内核代码,访问autocad的数据库、图形系统及几何造型核心[3],扩充autocad的类和协议,创建新的autocad命令,并可被autocad环境直接调用,具有较高的程序开发与执行效率。arx程序命令的消息模型如图1所示。

因此,运用autocad二次开发技术,在vc++60和objectarx2000的环境下,编写了arx应用程序,开发了换热设备零部件三维造型系统。在autocad环境下加载arx应用程序,程序向autocad命令堆栈中添加用户自定义命令(如tubesheet)。调用该命令,arx应用程序将自动处理生成三维实体模型。

2arx程序基本框架的生成

visualc++60使用非常友好的操作界面———developerstudio集成开发环境,它集编辑、编译、连接、调试、向导等多项功能于一体,并且提供了目前已成为业界标准的mfc(microsoftapplicationfoundationclasses)类库[4]。运行objectarx2000软件包,可以把objectarx嵌挂到vc++60编程环境中,它所提供的库函数、头文件以及详细文档等也嵌挂到vc++60的环境中。在vc++的集成开发环境下,通过arx应用程序向导(objectarx2000appwizard),可以方便快捷的建立起arx程序的基本框架。

3开发三维造型系统的关键技术

31三维造型用户界面的定制

运用autocad界面定制技术,编辑autocad应用程序的菜单文件acadmnu,在autocad中添加换热设备零部件的下拉式菜单(如图2所示),并使菜单项中各项与各自的arx程序路径相连接,这样点击菜单可将arx程序定义的用户命令自动添加到autocad内部命令堆栈中。

32人机交互界面的创建

微软的基础类库mfc是vc++程序的设计一个重要资源,在arx程序中使用mfc的最明显的优点是可以充分利用vc++开发环境提供的各种类资源和控件资源,实现程序界面的可视化设计,大大提高程序开发效率。利用mfc开发环境开发各个零部件的人机交互的对话框界面(如图3所示),用户可以在对话框界面中输入或修改设计参数,实现三维实体建模;通过修改设计参数,可以完成换热设备中非标准零部件的三维造型。

33三维造型的方法

构造三维模型的方法有3种,即线框造型、表面造型和实体造型。其中三维实体造型具有体的特征,能显示零件形状,给人以真实的空间感觉,并能利用剖切来检查壁的厚薄、孔是否相交等问题;还可以进行零件的物性特性计算,如计算体积、面积、重心、惯性矩等,因此实体造型能够较全面地反映零件的物理特性。

对于一些简单的实体,如长方体、圆柱体、球体等,可以借助autocad2000中的三维实体造型核心即acis(americancommitteeforinteroperablestandards)系统中的成员函数如virtualacad::createbox(x,y,z)来生成和对于复杂的三维实体模型,可以采用基于二维对象运用挤出、旋转和布尔操作来生成三维实体。

331挤出法(extrude)

先生成二维实体对象如圆(acdbcircle)、椭圆(acdbellipse)、封闭二维多段线(acdbpolyline)等,然后按挤出高度或指定路径生成新的三维实体。在arx应用程序中,通过调用acdb3dsolid类的成员函数extrudealongpath()来实现,其原型如下:acad:extrudealongpath(acdbregionregion,acdbcurvepath),其中参数region表示指向前面生成的二维封闭实体面域对象的指针,path表示挤出路径。在换热设备零部件中,一些细长的零件例如换热管、排污管、斜截弯管等可采用挤出法生成三维模型。

332旋转法(revolve)

先生成二维实体对象,按指定的旋转轴旋转来生成新的三维实体。在arx应用程序中,通过调用acdb3dsolid类的成员函数revolve()来实现,其原型如下:acad::revolve(acdbregionregion,acgepoint3d&axispoint,acgevector3d&axisdir,doubleangleofrevolution),其中参数region表示指向前面生成的二维封闭实体面域对象的指针,axispoint为旋转轴上的一点,axisdir为轴的方向矢量,angleofrevolution为旋转角度(弧度)。

换热设备的零部件大多为绕旋转轴的回转体,因此可用二维多段线polyline生成回转体的对称二维图,然后调用函数revolve()生成三维回转实体。333布尔运算(boolean)

对于一些复杂的实体造型,可以在挤出和旋转法生成三维实体的基础上,通过一定的布尔运算来实现。布尔运算有3种:并(union)、交(subtract)、差(intersection)。在arx程序中通过调用acdb3dsolid类的成员函数booleanoper()来实现。其原型如下:acad::booleanoper(acdb::boolopertypeoperation,acdb3dsolidpsolid),其中参数operation为布尔运算类型,布尔并为acdb::kboolunite,布尔交为acdb::kboolintersect,布尔差为acdb::kboolsubtract,psolid表示另一个参加布尔运算的实体的指针。

换热设备中大多数零部件非常复杂,需要联合运用挤出、旋转和布尔运算才能完成零部件的三维造型。下面通过延长部分兼做法兰的管板的三维实体造型,介绍换热设备零部件三维造型系统的具体开发过程。

4三维造型实例

管板是换热设备中重要的部件之一,经常要对管板进行温度场和应力场的有限元分析,因此需要建立管板的三维模型,并根据分析结果不断的优化、修改管板的模型。如果用手工建模,势必将加大设计分析人员的枯燥的工作量,大大降低工作效率。而采用参数化程序建模,用户可以在很短时间内建立和优化修改模型。

管板是一块按照布管方式开了许多管孔的圆平板,管板的三维造型就是通过三维参数化绘图,在输入了筒体的公称直径dn,换热管的外径dh,管板的厚度h和布管方式等,直接生成管板的三维实体。下面以单壳程单管程的正方形方式布管的延长部分兼做法兰的管板为例,叙述管板三维造型程序的开发过程。

41管板二维对象的生成

管板在结构上属于回转体,因此只需生成管板截面的一半即可,如图4所示。建立坐标系,给出图示各点的坐标,用函数acdbpolyline()生成封闭的二维多段线,并生成二维图形域,调用函数revolve(),将此二维图形域绕y轴旋转生成平板三维模型(未挖孔)。

42管板的布管程序算法

以管子正方形排列的单管程布管为例,建立计算模型,如图5所示。

程序采用迭代的方法确定换热管的中心位置,其迭代过程如下。

421确定迭代初值

中心布管奇数排列时,迭代式为:

x=x0,x=x+p

y=y0,y=y+p

中心布管偶数排列时,迭代式为:

x=x0+p/2,x=x+p

y=y0+p/2,y=y+p

式中x0,y0为迭代初值,根据管程情况取值;p为换热管中心距。经过迭代能够运算出每根换热管管孔的中心坐标(x,y)。

422确定每根换热管中心位置

根据管程情况,确定x0和y0初值,根据中心布管奇数排列还是偶数排列,确定迭代公式,进行迭代循环。每一层迭代循环过程中,计数器开始累加换热管的总数sum=sum+1;直到令y=y+p,进行下一层迭代。如此循环,直到为止。迭代循环结束时,计数器累加了所有的换热管根数sum。式中dl为管板布管限定圆直径,其计算公式参考文献[5]。

确定了换热管中心位置后,调用函数createfrustum()生成以换热管中心为中心,以管板厚度为高的圆柱体。运用布尔差运算在管板实体中挖去每个圆柱体。其程序流程框架图如图6所示。

43生成螺栓孔和拉杆孔

根据以上方法,在延长部分确定法兰螺栓孔中心位置,生成圆柱体,运用布尔差运算生成螺栓孔。如法炮制,生成拉杆孔。

至此,管板三维造型已经完成。运用上述方法可完成换热设备其他零部件的三维实体造型系统。

5系统的运行

在vc++60的环境下,运行该程序,得到一个管板设计arx动态连接库程序。启动autocad2000,点击换热设备零部件三维造型系统下拉菜单中的延伸部分兼做法兰菜单项,autocad将自动加载该arx文件,同时向autocad内部命令堆栈中添加管板三维造型arx程序的命令tubesheet。执行该命令,弹出管板三维造型对话框,进行人机交互,输入绘制管板的必要参数,按“三维造型”按钮,即可运行程序,生成管板的三维实体如图7所示。

6三维造型系统的应用

基于autocad平台开发的换热设备零部件三维造型系统,能够直接利用autocad的内核代码,共享autocad2000的地址空间,具有较高的程序开发和执行效率。该系统具有非常友好的操作界面,运行该系统,通过人机交互的方式,输入必要的数据,能精确绘制零部件三维实体图形,通过修改设计参数,可随时修改创建模型。该系统准确、方便、省时,实现了从数据到图纸的计算机参数化绘图,在换热设备零部件设计和有限元分析中发挥了重要作用。

61方便快捷的建模

在autocad环境下手工建模需要花费大量的时间和精力,特别是运用ansys有限元分析软件对零部件进行温度场和应力场的有限元分析优化中,需要根据优化结果不断地修改三维模型,对一些复杂的三维模型,手工修改简直不可想象。而采用本系统,通过输入参数,系统能在很短时间内生成三维模型,修改优化后的几何参数,系统即可快捷地生成优化后的模型。实践证明,该造型系统在ansys软件的前处理建模中,克服了ansys软件对复杂三维实体造型的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论