您好,欢迎访问一九零五行业门户网

基于可视化程序设计语言的数控自动编程研究

数控编程技术已经进入了基于图形的自动编程阶段,并得到越来越广泛的应用。笔者在研究中选择autocad绘图软件作为图形输入平台,将autocad软件与数控平台相结合,通过编制接口程序,直接读取dxf图形交换文件的图形数据,实现二维图形的数控代码的自动生成。还进一步研究了基于autocad的文字自动编程技术,从将文字变为autocad图形对象,进而转化为包含路径信息的dxf文件以及基于autocad的形文件实现汉字笔划自动提取,总结实现文字自动编程的方法。
图形和文字自动生成的nc代码zui后通过运动控制卡控制伺服驱动装置,在数控平台上实现加工。
1.图形信息的处理和数控程序的自动编制
(1)dxf文件图形信息的提取完整的dxf文件由6个段和结束标志组成,这6段为文件头段、类段、表段、块段、实体段和对象段,分别存放版本号和系统变量、系统定义的各种在表段、块段和实体段3段中出现的类信息、系统表信息、图形块信息、形文件中所有非几何实体信息。
当零件图转存为dxf文件后,需要从dxf文件中读取图形实体信息。autocad绘制的图形信息均包含在dxf文件的6大段中,与几何图形有关的几何信息均包含在实体段中,如图形中有图形块,将其打散后,块包含的实体仍将出现在实体段中。
对自动编程来说只需要关心其中的实体几何信息,因此只需要读取和处理dxf文件的实体段。信息提取的过程为:打开dxf文件,逐行读取文件,循环进行,读到该行内容为“entities”,表名实体段的开始,然后继续往下读。读到该行内容为“line”时,则是直线;如果为“circle”,则为圆;如果为“arc”,则是圆弧;然后进行相应的实体数据的读取过程。当执行到该行内容为“endsec”时,表明已到段的结尾,实体提取过程结束。
(2)图形信息的处理考虑到实际加工的工艺要求,提取出的dxf文件图形信息并不能直接用于数控编程。对dxf图形信息的处理包括数据存储结构设计、圆弧端点坐标的计算、圆弧特征判别、排序处理等内容,使zui终得到的数据能够用于数控程序的编写。根据处理后的图形数据信息,自动生成nc代码文件。
(3)生成nc代码文件得到所有的实体信息,并完成了排序之后,即可开始进行代码转换。
系统根据iso标准生成nc代码。遍历零件对象链表中的各节点,找到待加工零件对象的指针。在生成零件加工程序的过程中,首先要提取链表中*几何元素的起点作为零件加工轨迹的起点坐标,并添加g00(空程定位)指令。然后,逐条读取链表中的数据信息,通过比较记录的标识号g的数值不同,判断出各个图形元素的类型,读取图元对象的参数信息,并计算各加工段的坐标值或坐标增量,按数控指令码规范编写数控程序即可。对于两个不同的图形轮廓之间还要添加过渡代码指令以实现不间断加工。采用坐标编程,程序流程图如图1所示。
2.基于autocad的文字自动编程
(1)将文字转化为包含路径信息的dxf文件由于在autocad中,文字是作为mtext(多文本)对象来看待的,是一个整体,要想实现文字加工,就必须把文字变为图形对象。利用autocad生成文字,并通过autocad实现文本对象向图形对象的转换,从而生成数控加工代码,主要利用autocad的txtexp命令实现。
(2)autocad矢量汉字自动编程autocad中的矢量字体库(扩展名为.shx)是由形文件(.shp)经过编译以后得到的。利用反编译软件shx2shp,可以得到.shp格式的ascii文件。
矢量字体库字体文件转化而成的形文件是用形文件定义汉字。将autocad矢量字体库中的大字体文件gbcbig.shx反编译为gbcbig.shp形文件,并以gbcbig.shp形文件为研究对象,实现汉字笔划数据的提取和数控程序的自动编制。从形文件中提取汉字笔划数据信息,得到所有汉字笔划数据信息,并完成了坐标转换之后,即可进行代码转换,系统根据iso标准生成g代码。
3.数控加工过程的计算机仿真
进行刀位文件的静态仿真和动态仿真。静态仿真的过程以排序后链表的头元素的头节点来作为起始点,在visualc++6.0的窗口中以绘图的形式对加工轨迹进行重绘。动态仿真即加工仿真,仿真过程对仿真界面进行初始化,设定图形显示的位置,输入仿真加工起始点,在系统中以排序后的链表的头元素的头节点来作为起始点,然后逐行读取代码中包含的图形信息,按链表记录的顺序,利用数字积分法插补算法和系统定时器在屏幕上进行加工过程的模拟显示。流程如图2所示。
4.系统设计与实现
采用vc++6.0为开发工具,以数值积分法插补理论为基本原理。整个系统划分为图形信息读取模块,图形信息处理模块,nc代码生成模块,系统仿真模块,文字自动编程模块和加工试验模块,系统实例如图3、图4所示。
5.结语
在对dxf文件结构进行详细分析和对autocad形文件研究的基础上,利用模块化思想和c++语言面向对象的编程技术,实现了简单直观、用户界面友好的自动编程系统。经调试运行,能提取autocad绘图得到的零件几何信息以及文字笔划。
(文章来源:*局局 作者:李静 吴小凡 王敏 周天娟)
其它类似信息

推荐信息