最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能装备

基于DXF文件的CAD/CAM刀具路径优化与生成(二)

发布时间:2012-04-27 作者:马凯 杨泽林 吕静  来源:万方数据
本文分析DXF文件数据格式和应用特点,通过利用Visual C++开发的接口程序从CAD图形中提取图形信息并将其转换为坐标点数据。在后置处理模块中,采用小线段拟合曲线的方法,对提取的数据点采用插入排序的设计思想,以此来优化刀具路径。并结合数控加工工艺知识将数据转换为机床能够识别的NC代码,生成数控加工程序。

    4.2 优化加工路径

    由于DXF文件中图形元素是以设计人员绘制图元先后顺序为依据记录的,使得对DXF解析获得的各图元信息在Clist链表中成为无序性排列,如果对得到的数据不加处理,依次将其一个个地存入链表,导致按此顺序转化进行的绘图过程中图元路径的随机性和无序性,使得工作过程中的无效行程大大增加。在数控加工的时候可能会增加很多不必要的起落刀次数。为了优化加工路径,减少起落刀次数,这里对读取的图元数据采用插入排序的设计思想。

    首先,定义两个结构体类型的指针变量P1,P2,并将插入节点定义为P,且为结构体变量;

    然后,令P1指向头指针,P1→next指向P2这个节点,并判断P1→next是否是NULL,如果是,结束插入排序。否则,转入执行下步操作;

    最后,从链表头开始查找,然后分别比较P→x1、P→y1与P1→x2、P1→y2之间的关系,或者分别比较P→x2、P→y2与P2→x1、P2→y1之间的关系。如果相等,则将节点P插入节点P1、P2之间,如果不等,则P1→next继续比较,直到P1→next=NULL。如果没有找到起终点坐标相等的条件,则将要插入的线段数据链接在链表尾端。

5 运行效果

AutocAD中绘制的图形文件

    图6 AutocAD中绘制的图形文件

    为考察该程序运行的效果是否达到预期要求,首先在AutoCAD环境下绘制如图6所示的窗格图,然后将其保存为DXF格式文件。运行该应用程序并读取AutoCAD所绘制的DXF格式图形,VC++程序窗口将NC代码加工雕刻轨迹模拟出来,图7为该程序雕刻轨迹仿真图。

VC++窗口雕刻图形轨迹仿真图

    图7 VC++窗口雕刻图形轨迹仿真图

    同时在文件夹中生成一个nc_code.gc的文件,该文件为文本文件,通过记事本或者文本处理软件均可以打开,可以查看生成的NC代码,图8为上例生成的部分代码。

生成的部分NC代码

    图8 生成的部分NC代码

6 结论

    文中针对数控加工过程中存在的实际问题,以数控加工过程中常见的DXF文件为基础,通过读取DXF文件中直线和圆的数据信息,并对图形文件进行具体分析,然后采用小段直线拟合曲线的方式,对拟合点数据采用比较插入排序的优化算法,并将生成的数控代码送入数控机床进行加工。通过比较发现,此优化算法解决了雕刻过程中起落刀次数过于频繁、雕刻过程随机性比较强的问题,有效提高了加工效率。

2