首页 > 范文大全 > 正文

基于AUTOCAD的数控车床自动编程软件的开发

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于AUTOCAD的数控车床自动编程软件的开发范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:借用autocad软件生成DXF文件中的直线圆弧数据,使用VB开发数控车床自动编程软件。软件的重要功能为:对坐标数据的格式的转换,实现自动提取,自动产生G代码,能够实现输入输出及仿真等功能。

关键词:AUTOCAD;VB;G代码;数控车自动编程

数控加工自动编程软件很多,一般CAD/CAM都有这样的自动编程功能。如PRO/E、UG等软件,结构庞大,软件学习也复杂,并且价格也昂贵。假若仅仅用于数控车床的自动编程,就如同杀鸡用牛刀,显然很浪费。使用简洁,操作方便,专门用于数控车床加工的小软件想必有一定的存在必要。开发出一种能够使数控车床编程变得更加简单,更加智能的软件对于个人来说也是一种挑战。

参数化设计、三维运算内核的开发,对于个人来说是遥不可及的事情。个人开发设计一种图形设计软件也同样不太现实。也只有借鸡生蛋的方法,借用一种被广泛使用的图形设计软件,获取工件轮廓坐标,和线条特征,经过软件进行编译,最后得到需要的数控加工程序。

因此,此软件的功能被确定为能够获取工件轮廓坐标,和线条特征,能够进行数控程序编译,同时为了能检验程序的正确性,最好还能够有可视化的模拟功能。

AUTOCAD因其灵活性和接口的多样性被广泛的使用在机械设计领域。在其能生成的文件格式中有一个二进制文件,格式为DXF的文件。DXF文件中包含着AUTOCAD图形文件中所有对象的信息,其中包含着轮廓线的线型和坐标信息。使用二维功能强大的AUTOCAD软件绘制轴类零件的外轮廓显然是一件非常容易的事情。于是本数控车床自动编程软件的运行机理就如下图所示。本软件的开发工具使用VB,双划线部分为本软件要实现的功能。

一、坐标的获取

首先使用CAD软件绘制轴类零件,在图形文件中只包含工件的外轮廓线条,也就是数控车的精车所走的刀路,而其它无关线条对坐标的获取产生干扰。典型的图形如图所示。图1为工件的外型轮廓图,图2为编程所需要的单侧轮廓线。所以在CAD中画的图为图(2)。

将工件按照以上规则绘制后另存为AUTOCAD2000 DXF格式。可使用文本打开方式便能将其打开。我们可以在一系列的子类标记中可以找到子类标记ACDBLINE,在该子类下就隐含了该直线的坐标值。组码10,20,30下分别为直线起点X、Y、Z坐标,组码11、21、31下分别为直线终点X、Y、Z坐标。以同样的方式我们可以找出子类标记ACDBARC,组码10,20,30为圆弧中心坐标X、Y、Z,40为半径,50为起始角,51为终止角。

根据以上的特点,在VB中建立工程,添加控件如下,并在控件下输入相应的代码。

使用 OpenFile NameForInput As#1代码将二进制DXF文件逐行读入。并和字符“ACDBLINE”和“CADBARC”进行对比,符合要求的分别提取组码10,20,11,21,40,50,51下的数值通过数据库操作代码储存在数据库中。直线线名为LINE(n),圆弧线名为ARC(n)。

数控车床能接收直线的描述方式同DXF中的描述方式一样均为起点坐标和终点坐标。但是圆弧却不一样,一般数控系统接收的方式是:圆弧起点坐标、终点坐标和半径以及通过G2、G3来区别圆弧的方向。而在DXF文件中是以圆心、半径、起始角,终止角的方式。两者不一直,所以在编译时必须对DXF中圆弧坐标的表述进行处理,换算成数控车能接受的:圆弧起点坐标、终点坐标和半径。并且通过起始角和终止角的所在坐标象限位置来判断圆弧方向,以决定是使用G02还是G03代码。

将圆分成4等分,0到90度以及90到180度为G03代码,180度到270度以及270到360度为G02代码。下面以在0度到90度的范围内圆弧起始点x,y坐标为例,计算方法如下:

sx----圆弧起点x坐标;sy----圆弧起点y坐标;sjiao----起始角度;banjin-----半径;xinx----圆心x坐标;xiny----圆心y坐标。

使用以上的程序代码可以获得A点坐标,同样的方法可以获得B点的坐标。

二、数据的排列

通过转换好的数据重新输入数据库。但是仔细发现数据库是数值排列比较凌乱,假若直接取出并不能用于生成G代码。所以要对里面的数据按照一定的要求进行重新的排列。作为刀路的起点选择也是有一定的规则的,必须选择为图形最右上角的点,是X,Y值为所有点中值最大的。对数据库进行搜索获取XY值最大的作为刀路的起始点。如下图假若获得起点SX1,SY1为起点,那么很自然下一点坐标为(ex1,ey1)。但是第二条直线的起点是多少呢?要根据坐标(ex1,ey1)对数据库进行搜索对比,找到相对应的值。然后以同直线或圆弧的另一点做为该线的终点。以此方法类推就能产生一条完整的刀路。排列后的坐标重新输入数据库。

三、G代码的生成

得到正确的数据库后,必须对数据进行编译,生成G代码。要注意CAD图中的XY坐标同车床坐标系的区别。

线名为LINE的坐标生成G代码的格式为 G01Xey1 Zex1

线名为ARC和根据起始角、终止角大小把坐标生成G代码的格式为

G02Xey1 Zex1 Rr或 G03Xey1 Zex1 Rr

并将所得到的G代码程序传递到容器控件LIST中。

完整的G代码程序还需要头程序段和结尾程序,通过软件界面左边的文本框控件的输入,和复选框控件的选择,可以得到头程序段和结尾程序,例如:N00001;G50 X100 Z100;S800 M03 T101;和结尾程序G0 X100 Z100;M30。

将头程序段插入进LIST控件中的最前面,将结尾程序插入进LIST控件中的最后面。和原先的刀路G代码相组合,得到完整的数控加工程序。

四、程序的验证和保存

为了验证程序是否正确需要对LIST中的G代码进行模拟。从LIST中提取坐标使用VB中的画直线画圆功能在指定的区域内画出刀具运行轨迹,通过轨迹的运行曲线同工件的外轮廓相比较,来判断刀路是否正确。

在软件的最后使用OpenFile NameForoutput As#1将LIST容器中所有的字符输入到给定文件名的文本文件中保存。整个软件完成后如下图所示。

五、结束语

以上只是针对于数控车床的精加工程序的编制。本自动编程软件的初加工功能,各种循环功能,螺纹切削功能,都可以在精加工程序的基础上进行拓展。可以加入一些智能判断程序使本软件功能更强大,使用更傻瓜化。相信开发这样的一个软件会使数控车床的编程更加简单方便。