AutoLISP在数控编程加工轧辊中的应用
2014-06-06阮晓光马万里赵荣荣刘江宫树红
阮晓光,马万里,,赵荣荣,刘江,宫树红
(1.西安建筑科技大学机电工程学院,陕西西安 710055;2.首钢长治钢铁有限公司,山西长治 046031)
轧辊是钢铁企业型材生产轧制过程中的重要工艺备件。使用一个周期 (一般3~5天)后,轧辊孔型因磨损等原因必须进行再次车削才能继续使用。由于轧辊孔型是用数控车床加工的,孔型半径或过渡圆弧半径稍作改变时,就得修改加工程序中各节点的坐标值。而节点坐标值的计算是一个重复而繁琐的CAD软件绘图、尺寸测量工作。为提高编程效率,省去绘图、测量求解坐标的重复性操作,提出一种借助AutoLISP程序、实现参数化绘图、求解坐标的方法,即过渡圆弧的r值改变后,只需输入几个参数数值,绘图软件即可自动绘制出图形,从而快速、准确得到所需节点的坐标。
1 AutoLISP简介
AutoLISP是一种计算机表处理语言,嵌于Auto-CAD软件内部,是LISP语言和AutoCAD软件有机结合的产物。AutoLISP可直接调用几乎全部的AutoCAD软件命令。它既具备一般高级语言的基本结构和功能,又具有一般高级语言所没有的强大的图形处理功能,是CAD软件中被广泛采用的语言之一。AutoLISP使交互式图形编辑软件AutoCAD成为能真正进行计算机辅助设计、绘图的CAD软件。
2 轧辊的AutoLISP数控程序设计及应用
2.1 建立模型
图1所示为轧辊零件图,看起来形状复杂、尺寸较多。为方便对零件图进行数控编程,忽略不需加工的孔与面的形状或位置尺寸,做相应简化,简化后的模型如图2所示。可以看出:数控加工车削轨迹由如下几部分组成 (即图2上半部分的实线部分):右侧斜面、右过渡圆弧r、孔型半径R、左过渡圆弧r、左侧斜面。
2.2 程序设计
所建立的模型,关键是需确定如下参数:轧辊外径H、轧辊宽度L、孔型半径R、过渡圆弧半径r、锥面角度α、辊缝间距s。轧辊孔型图的更改主要是根据生产实际,对过渡圆弧r值大小进行改变,r值改变后,左右侧斜面长度、坐标也会随之改变。另外一种情形是根据生产需要,改变孔型半径R值,但其他尺寸也会随之改变。程序设计就是通过输入这几个参数数值后,自动绘制出图形,求出图3所示的值U(A-B)、U(B-C)、W(A-B)、W(B-C)、W(C-D)。
图1 轧辊零件图
图2 简化图
图3 编程所需的尺寸
图4是由Microsoft公司的文字软件“记事本”编写的 AutoLISP程序源代码。文件名为zhitu.lsp,lsp是此类文件的后缀名。
图4 LISP程序源代码
下面对程序各行的作用做简单说明:
源程序第一行调用defun函数,此函数定义了一个“zt”命令。在AutoCAD软件的命令行输入“zt”并回车,程序将开始按设定的指令进行一系列操作;代码的第2-8行使用交互性数据输入函数getpoint、getreal与操作者交互会话,要求编程者输入绘制的基点、轧辊外径尺寸、轧辊宽度值、锥面角度、过渡圆弧半径、孔型半径等;第9-12行调用赋值函数setq;随后的几行,通过command命令调用绘图指令rectang(矩形)、line(直线)、circle(圆),然后调用平面图形编辑指令rotate(旋转)、offset(偏移)、fillet(倒角)等,对需要的图素进行变换,在后台自动完成图形的绘制。
2.3 程序应用
按正常方式打开AutoCAD软件,进入默认绘图界面后,点“工具”菜单,在下拉列表中找到AutoLISP,点“加载”,在弹出的窗口中按文件在电脑中的存放路径找到zhitu.lsp文件,单击“加载”,系统会提示是否加载成功的信息。这时关闭“加载/卸载应用程序”窗口,在命令行输入“zt”后回车。根据提示输入各参数值,输入完毕后,程序会自动完成计算及绘图工作。
(setq a1(getpoint"请输入第一个角点:"))
交互式界面要求用户输入第一个点坐标;
(setq a2(getpoint"请输入第二个角点:"))
输入第二个点坐标(与前一点结合两点画矩形,确定辊的宽度和高度)
图5是在AutoCAD2005软件中运行zhitu.lsp程序文件后自动绘制孔型图的过程截图。调用lsp程序后,操作者输入决定孔型尺寸的几个关键参数就能轻松得到新尺寸的轧辊孔型图,从而得到U(A-B)、U(B-C)等尺寸值。表1是运行zhitu.lsp后得到的编程所需尺寸表。
图5 LISP程序执行图
表1 自动生成孔型图后求得的尺寸 mm
表1中R共7种数值,分别对应轧辊的第1架至第7架,此表所求的尺寸只是改变孔型半径,假定过渡圆弧r不变,就得出如此多的计算结果。如果R值和r值同时改变,则求解量更大。因此,必须借助类似的AutoLISP程序实现参数化绘图。另外还可通过AutoCAD系统的标注设定功能进行小数点位数的选择,以适应数控机床的编程精度。针对目前国内现状,输出数值精确到小数点后3位即可。
3 结束语
(1)利用AutoLISP语言二次开发程序,只需输入孔型的几个参数,即可自动生成图形,省去了绘图过程,准确地得到了编程尺寸,高效地适应了多规格和尺寸多变的要求。
(2)当生产中发现产品椭圆度大,尖棱等质量缺陷时,只需重新输入一次参数,就可得到孔型图上所需点的尺寸及坐标,在最短的时间求得编程所需的准确数据。
(3)对其他辊类零件或类似多规格、尺寸多变的零件编程有一定的参考价值。
[1]双远华,李国祯.钢管斜轧理论及生产过程的数值模拟[M].北京:冶金工业出版社,2001.
[2]舒飞.中文版AutoCAD2004二次开发标准教程[M].上海:上海科学普及出版社,2004.
[3]肖莉.基于Autolisp渐开线齿轮三维实体的参数化设计[J].制造业自动化,2010,32(4):197-199.
[4]李长勋.AutoCAD Visual LISP程序开发技术[M].北京:国防工业出版社,2005.
[5]傅群峰,姜志宏.基于AutoCAD 2000的数控车床图形自动编程[J].机床与液压,2005(7):66-68.
[6]胡仁喜.AutoLISP机械设计高级应用实例[M].北京:机械工业出版社,2005.
[7]宋兆沛.数控加工程序编制中非圆曲线的节点计算[J].现代制造系统,2008(2):63-65.
[8]徐岩,汤百智.AutoCAD中断面图的自动绘制[J].机床与液压,2006(4):198-200.