返回
AutoCAD

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

2007-08-2429
    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()函数查询控制卡命令的执行情况来实现。当一条命令执行完以后,则绘制该命令的加工轨迹。

图1 图形加工数控系统运行界面

    五、机械雕刻机控制代码的生成

    在AutoCAD中,对刀具的路径,包括文字轮廓和行扫描路径进行编辑,便可生成用于控制机械雕刻机的DXF文件。即在AutoCAD中设计的文字图形转化为包含路径信息的DXF文件的6个步骤中,在步骤5)后面,添加编辑刀具行扫描路径。如图2所示。其中,扫描行之间的间距应等于或略小于雕刻刀具的直径。

  

                              a)阴雕刻                                  b)阳雕刻

图2 雕刻的刀具路径示例

    六、结束语

    由于图形加工的控制数据是由AutoCAD的字体决定的,因此对字体的选择将影响加工路径的质量,从而决定加工的效果。在进行图形文字设计时,应多采用几种字体比较生成路径的效果,为了避免生成交叉路径,应尽量选择笔画较粗的字体,如隶书、Times New Roman等。

  • 举报
关闭
同类资讯头条
  • 账号登录

其他方式登录