基于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种加工方式。行切法走刀路线是一组平行线,按走刀方式的不同可以划分为双向走刀及单向走刀。双向走刀相对加工效率较高,空行程较少,但是在加工过程中将交替出现顺铣、逆铣,两者切削效果不同,影响加工表面的质量和切削力的大小。单向走刀时刀具始终只沿一个方向走刀,在一个单向行程结束后,将刀具抬到一定的安全高度并快速返回到下一加工行程的起点,然后进行下一个单向行程,循环进行。该方式优点是刀具可保持相同的切削状态进行加工。行切比较适合简单轮廓形状加工的情况,而且有利于采用大直径刀具进行加工。环切走刀路径实际上都是由轮廓偏置产生的,环切法加工可使加工状态保持一致,同时能保证外轮廓的加工精度,但环切法刀位计算比较复杂。
|
文章评论