英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料
HB Yang,J. Yan
HB Yang,J. Yan
智能控制与自动化,2015,6,20-28
在SciRes发布2015年2月份线 。 http://www.scirp.org/journal/ica http://dx.doi.org/10.4236/ica.2015.61003
用于CNC雕刻机系统的C#的DXF文件识别
杨惠彬,胡娟
机械工程学院,上海工程技术院,上海学院
中国电子邮箱:webin@sues.edu.cn
于2014年12月17日 收到,接受于2014年12月30日; 于2015年1月15日发布
版权所有:2015作者和科学研究出版社
本作品已由知识共享署名许可协议(CC BY)授权。http://creativecommons.org/licenses/by/4.0/
概要
本文研究了开放式数控雕刻机的主要技术,DXF识别技术。 提出了一种信息提取方法。 通过这种方法,可以识别DXF文件中的图形信息并将其转换为底部运动控制器的代码。 所以雕刻机可以实现轨迹跟踪。 然后开放的CNC雕刻机系统是用C#开发的。 最后,该方法在三轴运动实验平台上得到验证。 结果表明,该方法可以有效地识别DXF文件中的线,圆,弧等图形信息,可以很好地控制CNC雕刻机。
关键词:DXF,CNC雕刻机,GALIL,C#
- 介绍
随着模式识别技术的发展,现代CNC雕刻机不需要手动编程。 通过导入图形文件,相应的形状将立即由机器雕刻。 机器的操作过程大大简化,丰富的编程知识不再需要运营商。 其中DXF识别是数控雕刻机的关键技术。通过读取和识别DXF文件,可以直接生成加工轨迹,从而可以实现CNC雕刻机的运动控制。
- 研究现状
研究人员已经对如何将CAD软件联系到NC代码进行了大量研究。 奥米罗和Barouniproposed一系列机器代码,与该高级编程能力被集成到现代数控铣床系统的控制[1] 并且由Kovacic和Brezocnik提出了使用它的概念。(引用: 杨,HB和燕,J.(2015)DXF文件标识与C#的数控雕刻机系统。 智能控制与自动化 ,6,20-28 。 http://dx.doi.org/10.4236/ica.2015.61003)遗传算法来基于制造环境[2]下的CAD模型CNC机床进行编程。 但是在这种CNC编程中还存在一些问题(如人工参与度较高,效率较低)。
中国研究人员的研究方向主要包括两个方面:一个是DXF文件和NC加工的理论研究,另一个是DXF文件读取的应用。 张瑞和张良提出的程序的结构,这是用来读取DXF文件的数据信息,并通过DXF文件结构的分析做基于跨平台开源库DXF库一些预处理特性[3]。 黄杰琼和袁群在冲压件加工研究中,使用面向对象的二次开发工具Object ARX和C 编写了界面程序,以读取DXF文件中存储的零件图形信息。 冲压件的几何模型由封闭的轮廓[4]的自动生成算法自动创建。
三.DXF文件和图形信息提取
-
- DXF文件
DXF(图纸交换文件)是AutoCAD图形文件中包含的所有卷标数据以及AutoCAD文件的ASCII或二进制文件格式的表示。 它可以用作AutoCAD和其它图形应用程序之间的输入/输出接口和图形文件交换[5]。
一个完整的DXF文件由六个段名为SECTION组成。 这些段是HEADER,CLASSES,TABLES,BLOCKS,ENTITIES和文件结束字符(组代码为0,组值为EOF)。
-
- 图形信息提取方法
为了提取图形的有用信息,文件中的许多部分都可以忽略。 只要获得TABLES,BLOCK,ENTITIES的部分,就可以完成对应的几何描述。 DXF文件中的每个图形元素都以固定格式存储,因此数据交换方便,也称为可读性。 DXF文件中每个图形元素的特征由配对组码和组值组成的参数(组)描述。 因此,根据打开的数控雕刻机的目标,只需阅读DXF文件中的ENTITIES部分即可描述目标几何轮廓。 特定的识别过程是:首先搜索DXF文件,直到找到“ENTITLES”,然后构建一个图形元素对象。 然后搜索图形元素类型(LINE,CIRCLE,ARC),然后搜索相应的值,然后按组代码。 例如,如果程序已经找到ENTITLES部分并且确认第一个图形元素是LINE(在“ENTITLES”之后的程序中找到“LINE”)。 然后它将搜索代表该行参数的组代码。 组码后的下一行号码是参数值(例如,“10”后下一行的数字表示该行的起始点的X值,起始点的Y值为“20” ,终点X值为“11”,终点Y值为“21”等)。 表格1 显示了ENTITIES部分的示例。
通过获取这些参数和值,系统然后“看到”图形,并“知道”AutoCAD绘制的图形的具体参数。
表格1 ENTITIES部分的示例
DXF文件的部分 |
说明 |
实体 0 LINE ... 10 50.0 20 100.0 三十 0.0 11 350.0 21 500.0 31 0.0 0 ENDSEC |
部分名称 组代码 图形元素类型
起始点的X值
起始点的Y值
起始点的Z值
终点的X值
终点的Y值
终点的Z值
截面符号 |
-
- C#实现图形信息提取
为了存储图形数据,方便的方法是使用数组存储数字变量,对调用和赋值操作也非常方便。 首先定义一个2D数组:s [i,j](i lt;= 100,j lt;= 20),在初始化时定义一个100行和20个低位数组,其中每行i存储一个图形元素,每个元素j一行代表组代码后的值。 格式和意义示于表2中 。
然后,将图形组件收纳状态是S [I,0],S [I,1],sdot;sdot;sdot;,S [I,15](I = 0,1,2,sdot;sdot;sdot;)。
该设计的优点是:对于每个图形元素,与轨迹相关联的所有几何元素可以存储在具有固定序列号的数组变量空间中。 在计算或逻辑判断中造成错误是方便而不容易的。 但是对于任何整个图形轨迹,线或曲线的数量不一致,因此,应用足够的可变存储空间来适应图形轨迹的不同要求是很重要的。
DXF阅读圆弧图形元素的C#程序的部分内容如下:
do { Line = mysr. ReadLine (); if (Line == “ENTITIES”) { hellip;hellip; if (Line == “10”) { Line = mysr.ReadLine(); string m; m = Line; double n; n = Convert.ToDouble(m); s[i, j] = n; j ; } hellip;hellip; } while (Line! = null)
表2 数据存储格式表
数组变量位置 |
数据含义 |
[i,0] |
属性标记:1为线,2为圆,3为弧 |
[i,1] |
起始点的X轴坐标值 |
[i,2] |
起始点的Y轴坐标值 |
[i,3] |
起始点的Z轴坐标值 |
[i,4] |
终点的X轴坐标值 |
[i,5] |
终点的Y轴坐标值 |
[i,6] |
终点的Z轴坐标值 |
[i,7] |
圆或圆弧中心的X轴坐标值 |
[i,8] |
圆或圆弧中心的Y轴坐标值 |
[i,9] |
圆或圆弧中心的Z轴坐标值 |
[i,10] |
圆或弧的半径值 |
[i,11] |
电弧启动角度 |
[i,12] |
弧端角 |
[i,13] |
后续数据排序过程的识别号码 |
[i,14] |
用于后续操作 |
[i,15] |
用于后续操作 |
四.图形轨迹生成
要打开CNC雕刻机,关键是如何将DXF文件中的图形元素信息转换为运动控制器代码,以根据加工轨迹控制机器的运动。
-
- DXF分析原理
所谓的DXF分析是为了根据运动控制器的标准指令而读取的每个图形元素的标准化。 考虑到图形元素的基本类型是线,圆或弧,不同图形元素类型的标
全文共6741字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[142860],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。