摘 要: 目前南车青岛四方机车车辆股份有限公司制造的高速列车,其许多产品零部件具有形状复杂的空间曲面。为了保证产品良好的运行可靠性,获得符合设计要求的机械加工零部件,在制造中采用了计算机辅助制造加工模拟的方法,并通过控制制造现场运行流程获得了合格的产品质量。
关键词:
1. 概述
随着高速列车技术的发展,计算机辅助制造在制造业得到了广泛得应用。南车青岛四方机车车辆股份有限公司的制造者通过有效的运用CAD/CAM技术,在加工中心上预先将加工零件的加工轨迹、尺寸和工艺参数以及辅助功能等信息编制成一定格式书写得数控程序,通过刀具轨迹验证提前获得零部件的加工效果。现在刀具轨迹验证的方法很多,最简单的方法是刀具轨迹的显示验证,即将刀位数据的线架图显示出来,检查是否正确。比较复杂一点的方法是采用各种截面法验证,如纵截面法、横截面法及曲截面法等。更复杂的一些的的方法是加工过程的动态仿真验证,在工程中还有用机床试切法来验证的。虽然刀具轨迹的显示验证是比较简单,但是无法知道走刀路线是否正确;用截面法即麻烦又不逼真;机床试切法周期长,成本高,所以他们都不合适。所以选用刀具轨迹的动态仿真非常经济、直观、有效。
2. 刀具轨迹模拟
本文论述的加工轨迹的模拟是建立在以处理列表点的数学理论,B样条曲线逼近,双圆弧拟合为基础上,根据给出的少许任意曲线的型值点,得到其他更多的型值点,从而得到接近理论的曲线,然后在加工轨迹模拟,来验证刀具刀位的正确性。本文以凸轮的曲线型面为例进行说明。
2.1曲线的绘制
根据OpenGL的应用程序中画图的命令,在Opengl中画线的命令有GL_LINES(画简单的线段),GL_LINE_STRIP(画折线),GL_LINE_LOOP(画封闭线)。为了使点的个数正确,刀具轨迹的正确,所以选用命令GL_LINE_STRIP。用数组来定义轮廓点的,在调用时可以一个for 循环来实现,这样便画出了样条曲线。
本文中所使用的程序命令就不详细介绍了。如果有用到的命令,其参考有关参考书,这里就不详细的介绍了。
下一步需要进行的是把一个二维曲线转化为简单的三维实体型。由二维图象转化为三维模型,就是拉伸的作用。通过改变y轴坐标,在重新画出此图形,这样三维图形的上下表面就有了。由于是实体,要填充图形才可以。填充图形可以通过画简单的三角形,四边形来实现。
2.2 三维实体模型的绘制
通过多边形的绘制,在文中形成的是一个上下表面垂直的实体。上下表面可以采用画相连三角形的方法来填充。至于中间实体的实现,可以用相连四边形的方法来实现,从而生成线型三维模型。
2.3动态地画出刀具的运动轨迹
为了计算方便,在这里把刀具的中心作为刀具的轨迹。刀具在加工时,与工件的刀具补偿的大小就是刀具的半径。加工外轮廓时,刀具的轨迹向外延伸一个半径,加工内轮廓时,向内延伸一个半径,反应在数学上就是加上或者减去一个单位法矢与半径的乘积。
动态画刀具轨迹,就是在刀具走到第个点时,要画出前面个点之间的轨迹,即为点与点之间的连线。要想在刀具走过后才开始画,那么就要用到定时器里面的一个变量了。是由定时器控制的一个变量,每一个定时它就+1。这样形成动态刀具轨迹。此步骤在不同的zaxis时会刷新一次,这样会把上次zaxis的轨迹给刷新掉,所以要把刷新掉的图重新画出来。所以还必须有一段重画的辅助程序,并通过一段代码实现的功能是把各个截面的轨迹连接起来,可以逼真的反映刀具的轨迹。形成模拟加工完后的刀具轨迹。如图1所示。
图1 模拟加工完后的刀具轨迹和三维实体的模型图。
其中,在刀具最后一次加工时有一小段的轨迹是实际上没有的,因为在程序中是拿for语句进行判断的,这里执行的是判断部分,它不属于实际刀具轨迹,如图2所示。
图2 最后模拟加工完后的刀具轨迹和三维实体的模型图
2.4刀具轨迹的模拟运行
上面叙述所采用的程序几乎都是独立的,但是它们之间又存在着先后的逻辑关系和程序运行的先后关系。没有了前面的一步,后面的程序都将无法完成。所以只有把他们组成一个简单的系统,才不会出错。下面介绍一下对话框和各个按钮的功能及程序的简单代码。
2.4.1输入值的赋值
因为在进行双圆弧拟合时要知道程序员的要求误差,还有在进行刀具模拟时要输入刀具的相关参数,因此在ResourceView中的Dialog 中建立2个简单的对话框为使用者使用方便,如图3、图4:
图3 输入误差的对话框 图4 输入刀具参数的对话框
两个对话框的原理是一样的,这里就介绍一下误差值的赋值,刀具参数的赋值就不介绍了。在这里可以输入任意要求误差。在这里数据的传递我觉得有点难。就在这里介绍一下,给对话框和按钮“要求误差”加了类向导之后,还要把相关的.h文件也添加过去。就是添加代码了。
这是按钮所添加的代码,它的功能是在按钮点击之后,把dlg.m_yaoqiuwucha(即输入的误差)的值赋给m_wucha1,然后在调用函数YQwucha(),否则值是赋不过去的。这句很重要。
2.4.2按钮调用程序
上面是按钮调用对话框,并把对话框里输入的值赋给程序中的变量。下面介绍一下按钮调用程序。相对而言,按钮调用程序比调用对话框简单的多了,其页面如图5所示。按钮加了类向导以后,把.h文件引用过来,设置一个BOOL型的变量,赋初值为FALSE,给按钮添加
CVirtualManufacturingAppView*pView=(CVirtualManufacturingAppView*)GetRenderView();
pView->m_CHKZD=TRUE;
pView->InvalidateRect(NULL,FALSE);
其中m_CHKZD就是所设置的变量,然后在用if()语句实现,比较简单。
图5 控制按钮
通过这些按钮和对话框,把原来很零碎的程序组装在一起,就成了一个简单的系统了。
3. 制造现场刀具模拟运行的有效控制
经过仔细的科学计算后,现场操作人员的规范操作成为了获得合格加工产品的主要保障。但是在现实操作中,操作人员为了节省辅助加工时间,往往省略了必须的刀具模拟运行,过于依赖机器本身的精确度,忽视了生产过程中工序能力的变动,没有充分重视操作者、机器、原材料、工艺方法和生产环境等五个基本质量因素综合作用的过程,造成了制造零部件出现加工质量问题。为此,我们制定了详细、规范的工艺文件、作业指导书、检
验文件用于指导现场操作人员和质量专检人员,强化了实施刀具模拟运行作业,从而提高了加工产品质量。
参考文献:
[1]葛巧琴.机械CAD/CAM[M].南京:东南大学出版社,1998.9
[2]王爱玲,白远恩,赵学良,赵建强.现代数控机床[M].北京:国防工业出版社,2003.4
[3]周济,周艳红.数控加工技术[M].北京:国防工业出版社,2002.1
[4]刘雄伟.数控加工理论与编程技术[M].北京:机械工业出版,2000.5
[5]罗学科,谢富春.数控原理与数控机床[M].北京:化学工业出版社,2004.1
[6]王德人,杨忠华.数值逼近引论[M].北京:高等教育出版社,1992.4
[7]莫蓉 吴英 常智勇 .计算机辅助几何造型技术[M] .北京:科学出版社,2004.2
[8]景红.C语言程序设计[M] .成都:西南交通大学,2002.3
[9]向世明.OpenGL编程与实例[M].北京:电子工业出版社,1999.9
[10]费广正 乔林.Visual C++6.0高级编程技术·Visual C++6.0高级编程技术·OpenGL篇[M] .北京:中国铁道出版社,2000.1
[11]丁国富.非圆齿轮程编系统.沈阳航空工业学院学士论文,1994.7