基于DXF文件的桥切机自动编程

2010-02-26 10:51白晓灿陈永明
装备制造技术 2010年2期
关键词:圆弧编程实体

白晓灿,陈永明

(厦门大学机电工程系,福建厦门361005)

随着现代经济的不断发展,CAD/CAM一体化技术在企业中的地位越来越重要,而CAD/CAM集成的一个重要环节就是如何将CAD中的几何图形信息提取出来,进而转化成CAM信息[1]。

DXF(Drawing Exchange Files)文件是AutoCAD的一种支持开放数据交换的数据格式,其包含图形和非图形信息,这些信息被组织成块,并通过特定的格式进行记录。由于DXF文件格式易于阅读分析,故一直是广大CAD/CAM研发人员研究分析的对象[2]。本文提出通过读入DXF文件,实现桥切机数控代码的自动编写。本系统以VB6.0为开发工具,进行编程,提供了简洁、友好的人机操作界面。

1 DXF文件的基本结构

为了从DXF文件中提取有用的图形信息,有必要首先对DXF的文件结构进行剖析。一个完整的DXF文件由七大段(SECTION)组成。这些段分别为:HEADER段,CLASSES段,TABLES段,BLOCKS段,ENTITIES段,OBJECTS段,文件结束符号(组码为 0,组值为 EOF)[3]。

标题段(HEADER Section)包含了AutoCAD系统的所有标题变量的当前状态,这些标题变量记录了AutoCAD系统当前工作环境,如AutoCAD的版本号,绘图界限的左下角、右上角,当前图名、线型、颜色等。

类段(CLASSES Section)主要包含了应用类的信息,这些类的实例出现在块、实体以及对象数据库中尺寸类型表、层表、线型表、文本风格表、用户坐标系表、视图表和视窗配置表。

表段(TABLES Section)包括9个表,每个表又包含不变数目的表项,这些表在文件中出现的顺序依次为:应用程序标识符表,块引用描述表,层描述表,线型定义表,文本格式表,用户坐标系统表,视图表,视口配置表。

块段 (BLOCKS Section)记录了图形中块的定义信息及块中的实体信息。

实体段(ENTITES Section)主要记录了图形中几何实体的几何图形信息。

对象段 (OBJECTS Section)主要记录了图形中非几何实体的信息。

DXF文件中每一个段均以一个组码为0、组值为字符串SECTION的组开始,后跟一个组码为2、组值为表示该段名的字符串的组,其后为组成该段的各个组。最后以一个组码为0、组值为字符串ENDSEC的组来表示该组结束。以实体段为例,其结构如下:

0

SECTION

2

ENTITIES

……

0

ENDSEC

2 DXF文件的图形信息提取与处理

本文主要是针对AutoCAD的DXF文件的自动编程。对于数控编程来说,所需要的最重要编程信息是刀具轨迹。DXF文件的信息丰富,7大段中与几何图形有关的几何信息均包含在实体段中(图形中若含有块,将块打散后,块包含的图形信息也将出现在实体段中),因而DXF文件中图形信息的提取,就是在实体段中对图形几何信息的提取,其他几段可以忽略。

在提取过程中,主要有以下两个问题:

(1)DXF文件包含了丰富的信息,其中有用的信息主要是存储在实体段中,但并不是实体段中存储的所有的信息都是我们的编程信息,因此需要对实体段的信息进行筛选。

(2)在DXF文件中,实体段存储实体几何信息的出现先后次序,是根据实体几何信息的输入次序而定的,即绘图时产生的,这一顺序与实际的加工顺序不一定会相符,因此需要对实体的加工顺序进行重新排序。

2.1 提取筛选几何信息

实体段中的实体有:点、直线、圆、圆弧、折线、线、文本、形等,本文将以数控加工中常见特征直线和圆弧为例,说明提取数据的方法,对于其他实体类型,方法是相同的。一个DXF文件的实体段由若干个组构成,每个组占两行,第一行为组的代码,第二行为组值。组码为整型的代码,组值为具体的数值和代码,两者结合起来,表示一个数据的含义和它的值。不同实体在DXF文件中记录的要素不同,表征一条直线的实体数据如表1,表征一个圆弧的实体数据如表2。

表1 直线的实体数据

表2 圆弧的实体数据

通过分析,发现图形文件中包含的图形对象与实体段组码和组值提供的信息一致。据此可以采用判断组码获得组值内容的方法提取出有用的信息。图1为用VB6.0提取有用信息的流程图[3~4]。

图1 DXF文件信息提取流程

2.2 几何实体按加工顺序的排序处理

通过上述方法所得到的几何实体的顺序,是以DXF文件中的先后顺序出现的,这不一定是实际的加工顺序,在一般情况下要对其进行重新排序。采用的方法是:

(1)先将通过上述方法所获得的数据做进一步处理成以下格式:

LINE 起点坐标 终点坐标

ARC 起点坐标 终点坐标 圆心坐标 半径 顺逆方向

(2)根据处理完数据的格式,运用VB6.0的画图命令,将几何图形以缩放一定的比例显示出来;

(3)由操作者点击显示图形的连接点,由于所点击的每个连接点实际上都是DXF文件里一个特定几何实体的起点坐标,因此按照操作者点击起点坐标的顺序,即可生成所需的加工顺序(如图2)。

图2 加工顺序编辑图形

处理后的数据按照加工顺序存于一个二维数组Data(a,b)里。格式如下:

当实体为直线时:

Data(a,0)=L INE,Data(a,1)=起点坐标,Data(a,2)=终点坐标;

当实体为圆弧时:

Data(a,0)=ARC,Data(a,1)=起点坐标,Data(a,2)=终点坐标,

Data(a,3)=圆心坐标,Data(a,4)=半径,Data(a,5)=顺逆方向

3 后置处理

后置处理是一个文本编辑处理的过程,其作用是将读取的图形信息根据指定数控机床的特点及规定的格式进行分析、判断和处理,转化为机床能够识别的NC代码并输出。

生成数控加工程序时需要由操作者确定其他加工参数,可通过人机对话的方式来确定(如图3)。

图3 其他加工参数人机对话框

后置处理程序流程图如图4[4]。

图4 后置处理程序流程

4 结束语

本系统成功实现了数控加工的自动编程,不再需要人工编程,从而解块了人工数控编程繁琐易错的问题,缩短了编程及调试时间,提高了数控机床利用率。该系统通用性良好,既可以作为桥切机的实现自动编程的功能模块,又可整合到其他数控系统中使用。

[1]江平宇,周光辉.CAD/CAM基本原理与应用[M].北京:机械工业出版社,2008.

[2]叶建华,谢明红,贾敏忠.基于DXF文件的自动编程系统研究[J].机械设计制造,2005,(8):149-151.

[3]徐世林,宋国宝,陈亚东.基于AutoCAD的数控加工自动编程系统的开发[J].机床与液压,2006,(3):214-215,224.

[4]郭圣路,张荣圣.Visual Basic 6.0从入门到精通[M].北京:电子工业出版社,2008.

猜你喜欢
圆弧编程实体
浅析圆弧段高大模板支撑体系设计与应用
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
外圆弧面铣削刀具
纺织机上诞生的编程
前海自贸区:金融服务实体
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
双圆弧齿同步带的载荷特性研究
六圆弧齿廓螺旋齿轮及其啮合特性