随着科学技术的发展,数控机床越来越广泛地应用在机械制造行业中。在数控加工系统中,传统的NC代码手工编程不仅效率低,而且容易出错;而采用APT语言的自动编程虽然几何定义语句简洁,功能较强,但要求编程人员要熟记系统的语言与规则,一旦出错又不易发现。
本数控加工自动编程系统是基于AutoCAD平台上开发而成的。AutoCAD作为绘图软件在机械设计与制造中应用广泛,如果数控加工系统能够提取Auto2CAD中的图形信息,将会大大简化数控编程,提高生产效率。但AutoCAD是通过图形来表示零件的几何信息的,而数控加工系统采用NC代码手工编程或APT语言自动编程,二者之间信息的描述是不统一的。本系统正是解决AutoCAD 与数控加工系统的接口问题,从AutoCAD图形中提取几何信息并进行数据转换,即根据AutoCAD的DXF文件特有的结构,进行二次开发,实现AutoCAD与数控加工系统的集成。
1.DXF文件的数据处理
AutoCAD输出的DXF 文件是图形文件的ASCII或二进制格式描述[ 1 ],有其特定的格式,常用于与其他应用程序共享数据,对数控编程来说其中有些冗余数据,因此必须经过处理才能方便数控自动编程系统的后置处理模块使用。
1.1DXF文件的结构
AutoCAD输出的DXF文件通常由五个段( SEC2TION):标题段(HEADER)、表段( TABLES)、块段( BLOCKS )、实体段( ENTITIES ) 和结束段( ENDSEC) 组成。但对数控编程来说,最有用的就是实体段,因此要求打开DXF文件,将实体段的有关信息记录下来并保存在GRP文件中。每个实体的格式都是固定的,且都有与它相关的参数(部分参数见表1),实体段记录了每个实体的几何数据。
表1实体类型与相关参数(部分)
1.2DXF文件的数据提取与排序
由AutoCAD绘制的图形,用DXFOUT命令将其生成DXF文件,再由接口程序读取图形信息,其读取程序的流程如图1 所示。但由于AutoCAD 绘制的图形根据个人绘图习惯不同,导致DXF文件数据是按照实体的绘制顺序排列的,其图元的排列顺序也就不一定是按照零件的拓扑顺序排列的,也就是说它的数据排列可能是杂乱无章的,因此经接口程序处理得到的GRP文件数据也是按照绘制顺序排列的。而数控加工过程是严格按照特定的加工路线进行的,因此要求对GRP文件数据按照给定的加工路线进行排序。
图1DXF文件数据处理程序流程图
考虑到由于绘图的原因使得相连的线段首尾点的不一致,因此应设定一个有效的容差,以保证组成一个完整的加工路线图。在加工系统中,从每一条线段的起始点开始,加工到此线段的终点止,该终点也就成为下一线段的起始点,然后加工下一线段,因此加工的轮廓是一个由有向、有序线段组成的图形。本系统采用选择法进行排序,即以起刀点为基准,寻找与之相连的线段,该线段作为节点1,记录其始终点坐标值,记终点坐标 。接着在GRP文件中搜索其它线段,如某端点坐标 与 在容差范围内相等,则此线段作为节点2,其终点坐标为 ;再从余下的线段中查找其始点坐标与 相等的为节点3;以此类推,将所有的线段按顺序记录下来,再保存在GRP文件中。
2. NC代码与加工轨迹的自动生成
数控文件是根据零件的几何图形信息和工艺信息进行处理生成的,一般由一个后置处理程序以解释方法执行。即逐条读取GRP文件中的数据信息,分析其数据类型,经刀具半径补偿和脉冲当量处理,再根据NC代码格式文件进行相应的坐标变换和代码变换,生成一个完整的NC程序段,写到NC代码数控文件中。本数控加工自动编程系统具有一定的通用性[ 2 ],可以针对不同的数控加工系统生成相应的NC代码,其程序流程图见图2。首先,系统通过人机界面获取加工参数信息,如数控机床型号、主轴转速、切削液、进给速度、刀具号、刀补方式,主程序在调用图形处理模块处理图形数据时,结合加工参数数据生成刀位数据文件。然后根据数控加工系统进行数控编程系统初始化,生成所需的NC代码格式,对已经存在的数控系统,只需调用存在的数控加工系统格式,再对刀位文件进行后置处理以生成相应的NC数控加工代码[ 3 ]。
图2NC代码数控文件生成程序流程图
3.WTUAPT的系统结构和功能
在以VisualC + + 610为工具开发的WTUAPT系统中[ 4 ],系统主控模块由图形文件管理模块、工艺参数管理模块、NC 代码生成模块、数控指令文件管理模块、加工模拟模块以及通讯模块六大模块组成[ 4 ] (图3 所示) 。
图3WTUAPT系统结构图
3.1图形文件管理模块
该模块实现图形的绘制、编辑、存取、删除及图形数据的显示等管理功能。通过进入AutoCAD 绘图软件进行点、线、圆、常见曲线、列表曲线等几何元素组成的工件图形的绘制,并输出3 1DXF文件。
3.2工艺参数管理模块
通过参数对话框完成起刀点、机床型号、刀具号、刀补方式、主轴转速、进给速度、切削液等工艺参数的输入与编辑。
3.3NC代码生成模块
调用上两个模块的数据信息实现DXF文件数据的读取与排序,获得3 1GRP文件以及生成刀位数据文件3 1CL,并可以进行GRP以及CL 文件的编辑,最后通过后置处理生成所需的NC代码文件3 1CUT。不同的数控加工系统生成的NC代码文件后缀名也不同,如3B 格式的形式为3 1TRB,FANUNC - 6M 为3 1FSM。
3.4NC代码管理模块
对代码文件进行管理,用户可以根据实际情况对代码文件进行编辑,得到实际所需的加工指令,使系统更具有开放性[ 5 ]。
3.5加工模拟模块
经对生成的NC代码进行逆编译[ 4 ],生成加工路线,再调用刀具库中的刀具模块,可以实现二维零件的数控加工模拟,以检验生成的数控代码的准确性与合理性,从而进一步优化加工参数,提高首件试切削加工的成功率。
3.6通讯模块
通过接口程序实现计算机与数控机床之间的联机通讯,实现NC代码的自动传送,避免了手工输入或穿孔纸带输入可能造成的错误。
结束语
本文实现了从AutoCAD 软件中提取图形信息并自动生成NC代码,解决了AutoCAD图形信息与数控编程信息描述不统一的问题,在一定程度上实现了
CAD /CAM的一体化。通过计算机模拟与实际使用表明,该系统能够很好地实现DXF文件数据的读取与转换,快速准确,可靠性高。
参考文献:
[1] 张跃峰,陈通.AutoCAD2000入门与精通
[M] .193-198.
[2] 余世林,朱国宝.通用型数控自动编程系统的研究
[J] .武汉理工大学学报,2003(5):725-727.
[3] 程筱胜,刘壮.CAD/CAM集成系统中切割自动编程技术研究
[J] .计算机辅助工程,1996,5(3):6-11.
[4] 严新平.载运工具运用工程若干研究的新进展
[M] .人民交通出版社,2003:498-515.
[5] 吴竹溪,谢友宝.数控加工中图形自动编程系统研究
[J] .组合机床与自动化加工技术,2002(4):26-27.