基于ObjectARX的虚拟车铣加工三维仿真设计
以AutoCAD为开发平台,利用ObjectARX开发工具,在Visual C++ dotNET环境中进行车铣加工三维仿真设计的开发。实现虚拟刀具和待加工零件的参数化建模、切削过程控制以及刀具和零件的运动控制等功能。
1 刀具和工件的建模
在AutoCAD中,图形实体数据都是按照一定的格式存放的,ObjeetARX提供了AutoCAD最底层实体数据库的操作。在作者所设计的仿真环境中从最基本的拉伸和旋转生成实体出发构建出虚拟刀具和待加工零件。
1.1 虚拟车刀和铣刀的构建
创建虚拟车刀的基本过程为:(1)定义车刀参数(刀厚、刀长、刀尖角度和刀体倾角等);(2)由刀具轮廓特征点生成AutoCAD中三维多义线对象(AcDb3dPolylined),并根据刀体厚度和倾斜角度确定拉伸路径;(3)由特征点组成的多义线对象构造面域(AcDbRegion);(4)将面域按照既定的拉伸路径拉伸(AcDb3dSolid::extmdeAlongPath)出刀体对象(AcDbObjectld);(5)将生成实体写入到AutoCAD实体数据库(AcDbBlockTableRecord::appendAcDbEntity)。
构建虚拟铣刀的过程和虚拟车刀类似,也是通过铣刀特征点构造面域,结合旋转(AcDb3dSolid::revolve)或者上述的拉伸生成实体。
1.2 待加工零件的构建
待加工零件可能具有较复杂的形状,AutoCAD提供了手动建模的各种方法,但对于一些形状特征相对固定,设计思路较成熟的零件如果能采用参数化的设计,操作人员只需要输入零件的各个特征参数即可自动建模,可以大大地降低零件设计过程以及简化加工仿真的前期准备工作,在实际设计中通过编制程序,实现了零件的参数化建模,通过弹出参数设置对话框进行设计。如图1所示是通过设置零件参数后,由计算机自动建模生成的待加工零件的旋转剖面图。
图1 待加工零件旋转剖面图
2 刀具和工件的运动控制
(1)切削加工运动的实现
要实现虚拟切加工,必须控制好刀具与工件之间的相对运动,在AutoCAD中实体的运动是通过旋转和平移变换来实现的,以螺纹车削加工为例,刀具相对于工件的运动为空间螺旋线,可以通过平移和旋转变换相结合进行。
设工件轴线为x轴,旋转变换为
在AutoCAD中可调用三维实体函数AcDb3dSolid::tramformBy来实现上面2种变换。相对运动的控制需结合具体要求进行程序设计,比如平面铣削加工的插补运算,可以模拟X、Y两个方向步进电机的运动来实现控制,多轴联动的数控加工所对应的相对运动,在AutoCAD中也能通过这种方法来实现。
图2是对1.2所述的支撑销进行螺纹切削的加工过程示意,图中显示了在车削螺纹的时候刀具相对于工件的运动过程。
图2 虚拟车刀切削加工刀具运动过程示意
(2)刀具的偏置
在虚拟铣削加工中,刀具中心始终与实体轮廓保持一定的距离(刀具半径值),因此刀具中心轨迹实际上可以由实体轮廓偏置产生,即把实体轮廓按照一定的方向偏置一定的距离。AutoCAD提供了较好的实体偏置功能,它以原始曲线为基准,按需要的方向生成等距曲线,并进行了适当的干涉处理。AutoCAD要完成实体偏置功能需要输入:操作对象实体、偏置距离、偏置方向(刀具偏置和铣削加工时加工对象是凹岛还是凸岛有关)。需要进行轮廓偏置的实体包括铣削岛、槽和倒角等,这些实体可以通过系统自动选择,偏置距离一般在选择加工刀具时进行确定,可以设置为自动和手动2种。
(3)走刀轨迹的规划
合理制定加工路线有利于提高加工效率。以铣削加工为例,一般有行切或环切2种加工方式。行切法走刀路线是一组平行线,按走刀方式的不同可以划分为双向走刀及单向走刀。双向走刀相对加工效率较高,空行程较少,但是在加工过程中将交替出现顺铣、逆铣,两者切削效果不同,影响加工表面的质量和切削力的大小。单向走刀时刀具始终只沿一个方向走刀,在一个单向行程结束后,将刀具抬到一定的安全高度并快速返回到下一加工行程的起点,然后进行下一个单向行程,循环进行。该方式优点是刀具可保持相同的切削状态进行加工。行切比较适合简单轮廓形状加工的情况,而且有利于采用大直径刀具进行加工。环切走刀路径实际上都是由轮廓偏置产生的,环切法加工可使加工状态保持一致,同时能保证外轮廓的加工精度,但环切法刀位计算比较复杂。 #p#page_title#e#
兼顾加工效率与加工质量,在铣削仿真加工设计中采用行切和环切2种走刀路线,先采用行切加工去掉大量的余料,再视具体情况使用一次或一次以上的环切加工来切削轮廓附近的欠切区域。
3 切削加工过程的实现
AutoCAD提供了实体之间的“并、交、差”布尔运算,刀具与工件之间的加工过程可以用实时的布尔“差”运算来实现,刀具与工件每发生一次相对运动就进行一次布尔运算,将工件中被刀具“切削”掉的部分通过“差”运算去除掉,刀具在运动过程中所形成的包络曲面决定了被加工工件的形状。在AutoCAD中可调用三维实体函数AcDb3dSolid::booleanOper来实现,如图3所示,表示了刀具运动中生成的刀具扫描体对工件进行切削的过程。
图4所示是在AutoCAD 2007中,调用作者所开发的程序进行某棒料螺纹车削加工的运动过程(三维实体显示模式),图5是进行铣削加工仿真过程(线框显示模式)
图3 刀具与工件的布尔运算
图4 车削螺纹加工过程仿真(实体模式)
图5 铣刀铣削过程仿真(线框模式)
4 加工仿真软件设计的思路
加工仿真设计作为一个服务于工程实际应用的软件,为了保证系统能够为广大用户所接受,在作者设计的仿真加工软件中考虑到以下设计原则:(1)面向应用,系统及模块的功能设计,紧紧围绕工程设计中急需解决的问题,如:设计开销、计算速度等。(2)面向用户,用户界面的设计应该符合设计人员的习惯,使得工程人员经过简单的培训就可以直接使用系统完成相关工作。(3)增强可靠性,过程的逻辑清楚简明。通过把任意一个处理过程分解为一些模块的集合,避免了不必要的复杂性,其中每个模块都足够简单,所以整个系统从整体上易把握,利于修改、分析和理解。
5 结语
通过ObjectARX在Visual C++dotNet开发环境中实际开发的加工仿真软件,经过测试能在AutoCAD2007中实现零件和刀具的参数化建模、通过控制刀具和待加工零件之间的相对运动实现虚拟切削加工的动态三维仿真,从用户操作界面到AutoCAD中每一个实体的特征均能进行较底层的定制,并可以进一步结合Windows平台实现网络化开发和对应加工数据的数据库开发,可以应用于加工仿真的生产实际。
参考文献:
[1]陈文义,刘志新.虚拟制造的铣削加工过程[J].煤矿机械,2005,26(5):105-106.
[2]黄洁,杜平安.切削加工过程的仿真方法研究与实现[J].电子科
技大学学报,2007,36(2):298-301.
[3]马毅.三维浮雕CAD/CAM软件系统开发研究[D].成都:电子科技大学,2003.
[4]AutoDesk.AutoCAD R2007 objectARX Devdoper’s Guide[E].www.autodesk.com,2007.