首页 >> 电瓶叉车

基于AutoCADDXF文件的简易图形雕刻数控软件0振动试验台

时间:2022/09/29 23:57:58 编辑:

基于AutoCADDXF文件的简易图形雕刻数控软件

基于AutoCADDXF文件的简易图形雕刻数控软件 2011年12月09日 来源: CNC雕刻系统是集雕刻CAD/CAM技术、图象处理技术、逆向CAD技术、CNC技术、精密结构设计与制造技术等于一体的综合性系统,因此较为复杂,涉及面很广,而本文所介绍的简易雕刻系统简单实用,这无疑对有志于从事雕刻系统研究的广大读者有所启迪。 一、引言

图形加工数控系统除了应用于火焰切割下料以外,也广泛应用在广告标牌、工艺品及建筑装饰等方面文字图形的雕刻。DXF文件是Autodesk公司为其AutoCAD与外部CAD/CAM系统接口所定义的一种图形交换格式文件。随着AutoCAD在业界的广泛使用,大多数的CAD/CAM系统都具备与AutoCAD接口的功能。DXF文件的文本格式易于阅读分析,图形数据按照一定的顺序存储,一直是广大CAD/CAM开发人员研究的对象。本文阐述了对AutoCAD图形、文字进行处理后,输出DXF文件数据用于数控系统的方法。

二、将图形、文字转化为包含路径信息的DXF文件

在AutoCAD内进行编辑的文字直接保存为DXF文件,不能生成用于数控加工的数据。要使AutoCAD的文字用于生成可用于数控的路径信息的DXF文件,需要作如下处理:

(1)将AutoCAD内的环境变量textfill的值设为0,使文字只显示边缘;

(2)在AutoCAD中编辑所需要的文字;

(3)将文件输出为*.eps文件;

(4)新建一个文件,将保存的eps文件插入;

(5)将文字炸开,得到只含有细小线段的文字轮廓;

(6)将文件保存为DXF格式。

三、DXF文件中的实体信息

DXF的全称为图形转换文件(Drawing Interchange File),AutoCAD软件支持ASCⅡ文本格式的DXF文件和二进制格式的DXF文件,主要用于与其他CAD系统及用户应用程序间的图形信息交换,其中ASCⅡ文本格式的DXF文件应用较多。DXF文件由多个节(SECTION)组成,每个节均由多个组(GROUP)组成,组在文件中占两行,第一行是组码(GROUPCODE),为一整数;第二行是组值(GROUPVALUE),它的数据类型由组码决定。典型的DXF文件由:标题节(HEADERS)、类节(CLASSES)、表节(TABLES)、块节(BLOCKS)、实体节(ENTITIES)、对象节(OBJECTS)和调形预览节(THUMBNAILIMAGES)组成。

以文本形式打开一个DXF文件,可以看到该文件的具体结构。下面是一个Line实体:

AcDbLine

10

120.0

20

274.56

30

0.0

11

120.96

21

275.5199999999999

31

0.0

0

其中,10、20、30下面一行分别是线段起点的x、y、z坐标,11、21、31下面一行对应的是线段终点的x、y、z坐标。对于同一版本的DXF文件,该结构和格式是固定的,因此很容易从DXF文件中提取实体(如LINE、CIRCLE、ARC等)位置信息。

四、图形雕刻数控系统软件设计

采用VC++编写图形加工数控系统的应用程序。首先建立一个Line结构数组,用于存储DXF文件的线段的起点和终点坐标。采用MFC的CFile类成员函数打开DXF文件,把AcDbLine实体的起点和终点坐标读到Line数组中。由于我们采用的MPC02运动控制卡库函数是脉冲数,因此对于坐标的值我们仅读取小数点以前的位。具体的运动实现如下:

void CConDoc::Move()

{ long StartX=0,StartY=0;

get_abs_pos(1,&StartX);//获得X轴的位置

get_abs_pos(2,&StartY); //获得Y轴 的位置

int ConSpeed;

UpdateData(TRUE);

ConSpeed=atoi(m_Speed);//设置速度

set_vector_conspeed(ConSpeed);//变更速度

con_line2(1,(int)(Line[SSum].XEnd-

StartX)*P,2,(int) (Line[SSum]

.YEnd-StartY)*P);

//两轴线性插补函数,参数1,2为轴号,P是单位长度的脉冲数

}

图1是软件运行界面。在实际使用中,首先点击“板卡初始化”按钮,则调用init_board()函数初始化控制卡,包括控制卡的各个寄存器、各轴的脉冲输出模式(脉冲/方向)、常速度、梯形速度等。在切割过程中,点击“缓停”或“急停”时,则调用decel_stop()或sudden_stop()函数,以便光滑地中止快速运动或立即停止向电机驱动器发送脉冲,使之停止运动。 加工过程的实时显示靠采用定时器OnTimer()函数,不断调用check_batch_done()函数查询控制卡命令的执行情况来实现。当一条命令执行完以后,则绘制该命令的加工轨迹。

台州市黄岩绿丰塑料制品厂

巩义市美奇工贸有限公司

武汉久昌胜达科技有限公司

温州市瓯海娄桥博达烟具厂

华美实业玻璃棉有限公司

玉环县汝欢通讯设备有限公司

保定沐泽纺织品有限公司

襄阳科尔电器有限公司

江西吉安天瑞华商投资管理有限公司

元氏县元丰贸易有限公司

相关资讯