此图片属于中国数控技术网-数控行业信息教程类网站-专业数控在线学习资料-数控学习资料-中国数控专业网-数控论文-数控教程-数控编程,转载请取得允许
网站首页 | 行业动态 | 学术论文 | 数控工艺 | 数控编程 | 模具技术 | 软件技术 | 有话要说
中国数控技术网 >> 软件技术 >> 基于AutoCADDXF文件的简易图形雕刻数控软件
文章搜索
网站公告: 中国数控窝窝网已经开通了!中国数控技术网的发展受到广大数控技术爱好者的大力支持和关注,现在发展状态良好。应部分数控技术爱好者的要求和建议,特开通了数控技术学习和交流平台中国数控窝窝网的测试版本,中国数控窝窝网的地址是/beta/,欢迎大家踊跃交流,不惜笔墨!中国数控技术网的成长离不开你们的支持和关注!希望广大数控技术爱好者能像支持中国数控技术网一样继续支持和关注中国数控窝窝网的发展!
软件技术
基于AutoCADDXF文件的简易图形雕刻数控软件
作者:chiancnc    来源:中国数控技术网    点击数:25   更新时间:2007-5-8 22:59:01
 
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是单位长度的脉冲数
  }

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

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

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

六、结束语

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

 
上一篇:基于MasterCAM9.0后置处理程序的二次开发
下一篇:UG二次开发技术在汽车冲模标准件库开发中的应用
 
对您可能有用的广告
相关文章
相关文章载入中……

关于我们 - 雁过留声 - 数控专题首页 - 数控窝窝网

站长:potian8010 站长信箱:potian8010@126.com
版权所有©中国数控技术网 2005-2008 赣ICP备07002710号