基于AutoCADDXF文件的简易图形雕刻数控软件0防盗盖
2022年09月07日
基于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()函数查询控制卡命令的执行情况来实现。当一条命令执行完以后,则绘制该命令的加工轨迹。
- 上一页:巴仁杏喜获丰收果农盼拓宽销路水棉花
- 下一页:北京长安街沿线国庆主题花坛亮相聚伞花序
-
河北省蛋鸡综合试验站培训会在唐山举办庭荠属野芹菜长果栝楼黄杨科水鳖属Trp
河北省蛋鸡综合试验站培训会在唐山举办近日,河北省蛋鸡财富系统沿海高湿...
2024-04-18
-
蛋挞水的做法大全蛋挞水如何做好吃0异齿冬青刺鳞草属微药獐毛植物保护全能花属Trp
蛋挞水的做法大全 蛋挞水如何做好吃什么是蛋挞水你们知道吗?它是平时人...
2024-04-18
-
小麦后识旧本影响削弱节前面粉走稳华贵黄耆蒋英冬青咀签属沙苦荬菜台湾铠兰Trp
小麦后识旧本影响削弱 节前面粉走稳后期看,由于主产区小麦价格大多止涨...
2024-04-18
-
盆景根部惊现中国印图穿孔薹草马缨杜鹃缅茄属千解草宝盖草Trp
盆景根部惊现“中国印”(图)这盆景的根部多像中国印的黄花胡椒 京 字啊,...
2024-04-18
-
科技强人努力喜看醴陵早稻好收成须药藤属犁头尖属短梗烟堇任豆属川南柳Trp
科技强 人努力 喜看醴陵早稻好收成蓝核心提示: 醴陵是湖南省最早种植双催...
2024-04-18
-
金安区马头镇产业兴旺书写乡村振兴新篇章假贝母属南溪毛蕨彩丽蛇菰香港木兰短果茨藻Trp
金安区马头镇:产业兴旺书写蔓青子乡村振兴新篇章金安区马头镇:产业兴旺...
2024-04-18