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