基于AutoCAD环境的数控自动编程系统
1 技术背景及开发环境
数控加工是CAD/CAM技术中最能发挥效益的生产环节之一。由于手工编程效率低且易出错,限制并影响了数控机床的应用,目前已逐步被自动编程系统所替代。
本文所介绍的基于AutocAD支撑平台开发的数控自动编程系统,用Bodandc++(基于ADS)开发,由于数控自动编程系统是在实模下开发的,故只能在常规内存(640kB)中使用,采用数据文件的方式来存储数据,将数据文件作为各模块间的数据传递接口,以避免大量数据占据内存,同时各模块间是松藕合,便于调试程序。
数控自动编程系统基于AutoCAD软件二次开发,用户在AutoCAD中绘制及编辑零件图形,根据加工顺序选择实体,然后数控自动编程系统提取实体数据,进行排序,生成刀位数据文件和刀具运动轨迹,自动进行后置处理,生成数控代码文件。系统流程如图1所示。

2 数控自动编程系统的组成模块
为使自动编程系统能完成预期功能,系统至少应包含图形绘制与编辑模块、交互式工艺参数输人模块、实体数据排序模块、刀具运动轨迹自动生成模块、加工代码后置输出模块、刀具轨迹模拟模块。
图形绘制、编辑模块,其功能是在AutoCAD基础上增加了圆公切线、列表曲线、方程曲线。系统建立了方程曲线库(可以按用户要求扩展),可以绘制抛物线、双曲线、对数曲线、阿基米德螺旋线、渐开线等,利用这些新功能可绘制复杂零件的轮廓图形。
交互式工艺参数输人模块,其功能是用户可通过对话框选择加工参数,如进给速度、主轴转速、刀具号、刀具半径、刀偏方式等。
实体数据排序模块,其功能是对加工路径数据进行判断,提示开链或交链错误,并排序成一条连续合理的加工路径。
刀具运动轨迹自动生成模块,其功能是用户根据加工顺序选择加工实体后,系统根据刀补算法,自动进行刀具中心沿零件轮廓的法向偏移及零件轮廓各种拐角组合形式的尖角过渡的计算,然后在屏幕上显示出刀心轨迹。
加工代码后置输出模块,其功能是对计算出的刀心轨迹数据进行后置处理,生成符合指定数控机床指令格式的代码文件。
刀具轨迹模拟模块,其功能是根据刀心轨迹数据进行走刀模拟,使用户直观地了解刀具的运动过程。
3 菜单结构和实体数据的提取
数控自动编程系统的菜单文件除了包括AutoCAD本身的图形绘制和编辑功能外,还须增加两个下拉菜单,即设置菜单、代码生成莱单。设置菜单主要用来设置一些必要的参数,如图幅大小、编程坐标系的位置、工艺参数、后置参数等。代码生成菜单是系统的核心,包括刀心运动轨迹生成、数控代码文件输出、刀位数据文件输出、刀具轨迹模拟、释放刀心运动轨迹等。
用户绘制的零件图包含多种实体,有些实体(如直线、圆、圆弧等)为简单的实体,有些实体(如多义线和带属性的块)为复杂实体。Aut0CAD用大量的数据来描迷这些实体,其中有些数据是自动编程系统所需要的,比如直线的起点、终点坐标;圆弧的起点、终点、圆心坐标。只有在正确提取实体数据的条件下,自动编程系统才能顺利运行。
提取实体数据通常采用读DXF文件的方法,但DXF文件的数据不能反映用户实体的选择顺序,而且其中有许多数据与用户无关,因此这种方法局限性大,不适用于自动编程系统。数控自动编程系统提取实体数据的方法是:用户选中一个实体,系统便提取其数据,同时将数据按一定的方式存储。
其功能由主控函数用ADS库函数ads_entsel()提示用户选择实体,如选中实体,则系统得到该实体名,再利用库函数ads_entget()返回该实体的定义数据。此数据以一个链接的结果缓存区队列来返回,队列中每项的类型由一个DXF组码指定。系统先判断该实体是简单实体还是复杂实体,然后分别作响应处理。对简单实体,系统通过对结果缓存区队列的进一步处理,便可舍去不必要的数据,得到所需的数据,同时将所需的数据存放在一个文件中,其流程如图2所示。

如果复杂实体是块,可先将其分解,然后依次按简单实体的数据提取方法提取数据即可。
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
- 上一篇文章:基于CATIA的汽车车灯模具设计
- 下一篇文章:三维CAD的重要性
