基于AutoCAD的数控加工自动编程系统开发

引言
   随着科学技术的发展,数控机床越来越广泛地应用在机械制造行业中。 在数控加工系统中,传统的NC代码手工编程不仅效率低,而且容易出错;而采用APT语言的自动编程虽然几何定义语句简洁,功能较强,但要求编程人员要熟记系统的语言与规则,一旦出错又不易发现。
   本数控加工自动编程系统是基于AutoCAD平台上开发而成的。AutoCAD作为绘图软件在机械设计与制造中应用广泛,如果数控加工系统能够提取AutoCAD中的图形信息,将会大大简化数控编程,提高生产效率。但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绘图软件进行点、线、圆、常见曲线、列表曲线等几何元素组成的工件图形的绘制,并输出31DXF文件。
3.2 工艺参数管理模块
   通过参数对话框完成起刀点、机床型号、刀具号、刀补方式、主轴转速、进给速度、切削液等工艺参数的输入与编辑。
3.3 NC代码生成模块
   调用上两个模块的数据信息实现DXF文件数据的读取与排序,获得31GRP文件以及生成刀位数据文件31CL,并可以进行GRP以及CL文件的编辑,最后通过后置处理生成所需的NC代码文件31CUT。不同的数控加工系统生成的NC代码文件后缀名也不同,如3B格式的形式为31TRB,FANUNC-6M为31FSM。
3.4 NC代码管理模块
   对代码文件进行管理,用户可以根据实际情况对代码文件进行编辑,得到实际所需的加工指令,使系统更具有开放性[5]。
3.5 加工模拟模块
  经对生成的NC代码进行逆编译[4],生成加工路线,再调用刀具库中的刀具模块,可以实现二维零件的数控加工模拟,以检验生成的数控代码的准确性与合理性,从而进一步优化加工参数,提高首件试切削加工的成功率。
3.6 通讯模块
   通过接口程序实现计算机与数控机床之间的联机通讯,实现NC代码的自动传送,避免了手工输入或穿孔纸带输入可能造成的错误。
结束语
   本文实现了从AutoCAD软件中提取图形信息并自动生成NC代码,解决了AutoCAD图形信息与数控编程信息描述不统一的问题,在一定程度上实现了CAD/CAM的一体化。通过计算机模拟与实际使用表明,该系统能够很好地实现DXF文件数据的读取与转换,快速准确,可靠性高。

 

返回AutoCAD文章专题列表>>>