基于AutoCAD图形数控切割的应用研究
第1章 绪论
1.1 课题的研究背景
本课题来源于哈尔滨天元数控设备有限公司的研发项目基于 AutoCAD的数控切割图形系统;。
AutoCAD 是工业工程制图中必不可少的应用软件。本公司使用 AutoCAD进行工程制图,将需要进行数控切割加工的零件图形和尺寸信息绘制出来保存为DXF文件,再通过 Visual C++6.0 读取DXF文件中的数据,进行曲线拟合处理,从而生成数控切割机可以识别的 G 代码文件,来完成对零件的数控切割加工。DXF(Drawing Exchange Files)文件也就是图形交换文件, AutoCAD可以由内部的图形文件自动转换生成相应的DXF格式文件。
在读取了 AutoCAD 绘制的图形文件后,用 Visual C++6.0 软件对图形中的曲线进行拟合算法处理,使图形更加圆滑,从而生成更加准确的 G 代码,可以直接被数控切割机调用来进行对加工零件的数控切割。曲线拟合是指只知道曲线上某些点或者和曲线相关的某些特征来绘制曲线的方法。在使用 VC++6.0读入AutoCAD绘制图形后,将这些图形数据用拟合算法进行曲线还原,而且,使用 C++语言编写程序模拟 AutoCAD 进行图形绘制的功能也需要使用曲线拟合算法才能实现曲线的绘制。另外,在VC++6.0程序也可以将读取采集的DXF文件中的几何数据生成可以直接被数控切割机采用的 G 代码,从而控制数控切割机进行数控切割加工。
本设计使用曲线拟合方式对从 AutoCAD 软件生成的 DXF 文件中采集的图形数据进行处理,比较处理结果选出较为优秀适宜的曲线拟合方式。
1.2 国内外的研究现状及分析
1.2.1 AutoCAD 的研究现状
随着计算机技术的发展,开始有越来越多的企业使用AutoCAD软件来用作工程制图。AutoCAD 制作的图形图面整洁、精确,符合多数设计部门的制图要求,而且使用AutoCAD绘制的图形修改、编辑和保存方便,利于通过网络进行传输和交流,大量节约了专业设计人员时间和资源的浪费,因此,使用AutoCAD 制图得到了广泛的应用。AutoCAD含有丰富的绘图命令、强大的编辑功能和十分人性化的界面,是国内外设计工程领域应用最广泛的绘图软件。
1982 年 11 月, AutoCAD 1.0 版本推出,经历众多版本更替,让 AutoCAD逐步由DOS平台转向Windows 平台。2003 年,首款更方便我国人使用操作的AutoCAD软件AutoCAD 2004 简体中文版,由Auto des公司在北京正式宣布推出。这个版本的AutoCAD软件与业界标准工具兼容,并提供免费的图档查看工具,在许可证管理、安装实施等方面可以节省大量时间和成本。
AutoCAD 2021 扩展了以前版本的优势和特点,更进一步优化了用户界面、性能、操作等方面,使得设计人员可以更加方便的使用该软件。另外AutoCAD还提供了ADS,ARX 等内嵌式编程语言,可以进行二次应用开发,实现一些专门应用。
本次设计使用Visual C++ 6.0读取DXF文件的数据信息,可根据文件结构的特点选择按行读取的库函数 Read String,按行读取可高效率地获取各图元数据。读取出的图元数据信息包含多个参数,例如直线的起点、终点坐标,圆弧的半径、起始角和终止角,多段线的顶点数、顶点坐标、凸度值等。
第2章 数控切割图形的绘制
2.1 AutoCAD 软件
本次设计使用2021版本的AutoCAD作为工程零件图的绘制工具。在电脑上安装 AutoCAD 2021 软件,双击桌面程序快捷方式打开AutoCAD 软件,其初始操作界面如图 2-1 所示。
AutoCAD 2021 的界面主要由标题栏、菜单栏、现实栏、绘图工作区、坐标系图标、工具选项板、命令窗口以及各种工具栏和滚动条等组成。
使用AutoCAD软件绘图时,需要用到各种绘图命令,这些命令的执行方式有以下几种:
1.单击菜单栏中的命令选项 单击鼠标左键打开下拉菜单,选择命令单击左键执行;或者按住 ALT键输入菜单名称括号内的字母,调出相应菜单,输入下拉菜单中出现命令相应的字母执行命令。
2.单击鼠标右键菜单中的命令或选项 在绘图界面单击鼠标右键,选择相应命令单击执行。
3.单击工具栏中的命令图标 鼠标左键单击工具栏中相应按钮以执行的命令。如果不知道某一项命令的内容,可以将鼠标指针悬停在该项按钮上 0.5s,光标附近就会出现对于这一项的介绍标签。
4.在命令行内输入命令或选项 使用键盘在命令行中输入命令按下回车;键来执行操作。
5.使用命令快捷键 AutoCAD 中最方便的命令操作方式是使用快捷键和功能键。表2-1列出了AutoCAD中常用的快捷键和功能键。
2.2 数控切割图形的绘制
在了解了AutoCAD软件的基本操作后,就可以开始着手进行零件图形的绘制了。这一小节主要将使用 AutoCAD 进行绘制的零件图形绘制并保存为 DXF文件。
2.2.1 一号零件图形的绘制
进行零件图形绘制时,首先要确定图形的形状、尺寸和规格。将零件图按一定比例进行缩放后,再使用AutoCAD进行绘制。
本次设计中用到的一号零件图形包括直线、圆弧、圆、样条曲线等形状的绘制。
在绘制直线时,使用命令图标直线;按钮或者下拉菜单绘图;直线;命令进行直线的绘制。直线的坐标端点可以使用鼠标拾取或者输入坐标的方式进行指定。使用回车;键、空格;键或单击鼠标右键选择确认;按钮结束命令。若输入的坐标出错,可以输入英文字母U;按下回车;键撤销。如绘制封闭图形,可直接输入英文字母C;按下回车;键。
若要绘制水平或垂直的直线,可以单击现实栏上的正交;命令按钮,这样可以在确定了直线的起始点之后,用光标选择直线绘制方向,直接输入直线段的长度来完成绘制。绘制完成后再次单击正交;按钮,可解除对鼠标的锁定。
一号零件图中直线的长度分别为 125.9006mm,409.7515mm,143.3096mm等,按照零件形状将各个直线绘制在 AutoCAD新建图纸上。
进行圆的绘制时,需要在AutoCAD中调用圆的绘制命令,单击圆命令按钮或者使用绘图;圆;菜单命令调出圆的菜单命令。圆的常用绘制方法有:
(1)通过指定所绘制圆的圆心点坐标与半径长度或直径长度来完成圆的绘制。
(2)使用直线段的两个端点坐标作为圆周上的坐标或者圆周上三个不同点的坐标来确定唯一的圆。
设计使用的零件中的圆只能测定直径值,所以通常都使用直径法来绘制零件上的圆。
已知圆弧的起点、端点和中间点,可以通过三点法绘制圆弧。已知圆弧的起点、圆心和端点可以使用起点、圆心、端点法或者圆心、起点、端点法进行绘制。已知起点、圆心点和包含角度,可以通过起点、圆心、角度法或者圆心、起点、角度法绘制圆弧。知道两个端点和圆弧的角度,但不知道圆心,可以使用起点、端点、角度法进行绘制。如果圆弧的起点、圆心和其弦长已知,就可以使用起点、圆心、长度法或者圆心、起点、长度法进行圆弧的绘制了。若已知圆弧的起点、端点和半径,就需要使用起点、端点、半径法绘制。而圆弧的起点、端点和方向已知时,则使用起点、端点、方向法进行圆弧的绘制(AutoCAD中默认的圆弧正方向为逆时针方向)。
第3章 DXF文件结构分析及信息提取 ........................ 16
3.1 DXF 文件的结构 ............................... 16
3.2 DXF 文件中的组代码 ............... 16
第4章 曲线拟合算法 ................................. 31
第5章 图形数控切割的应用程序实现 ...................... 37
5.1 C++软件工程的创建 ...................... 37
第5章 图形数控切割的应用程序实现
在了解了 AutoCAD 图形的绘制方法和曲线拟合的原理后,成功的绘制出了将要进行加工的工程零件图,并将零件图保存为DXF文件。接下来就需要使用VC++软件平台编写 C++程序来实现将数据从 DXF 文件中提取的过程。在提取数据后,就可以进行曲线拟合还原出曲线数据,并加工成 G 代码控制数控切割机完成对工程零件的加工过程了。
5.1 C++软件工程的创建
下载安装包安装VC++6.0程序后,双击桌面图标打开软件创立新的工程文件,此时,单击文件;命令按钮选择新建选项卡。可以看到 VC++6.0 提供了多种类型的工程,但是本次设计中只需要用到简易的 C++语言开发程序,所以需要选择 Win32 Console Application选项(即windows 32 控制台程序)。选择后输入工程的名称以及保存工程的路径位置,单击确定;按钮完成新工程的创建。
在新建的源程序文件中编写程序,等程序编写完成后,可以看到程序编译、调试等按钮可以使用了,这时就可以开始对程序进行调试和修改了。调试无错之后,运行程序就可以查看程序结果。
结论
本文通过对本次设计项目的需求分析,设计并实现了用来模拟AutoCAD软件进行图形绘制过程的 C++程序。同时,该程序既可以独立读取 AutoCAD绘制并保存的 DXF 图形文件,又能够将程序运行界面绘制出的图形保存为 DXF 文件。在此基础上,该程序还可以将读取出的图形数据转换数控切割机可以识别的语言进而控制切割机工作。
从本文的研究过程来看,主要完成的工作如下:
(1)通过掌握 AutoCAD 绘图软件的使用方法,将设计中用到的工程零件图形进行绘制,绘制完成后保存为 DXF文件;
(2)分析 DXF 文件的数据结构,了解了 DXF 文件六大段各段的内容以及结构,找到了存储于DXF文件实体段中的几何数据信息,这部分信息是用于切割加工时必须的数据信息。在此基础上,编写程序提取这些信息进行进一步的处理,然后将处理好的离散数据转换为控制数控切割机工作的G代码进行输出。
(3)对于从 DXF 文件实体段中提取出的信息进行研究和分析,在了解数据结构后,设计程序模拟AutoCAD绘图的功能。为使模拟绘图中的曲线可以圆滑平整,带有尽量少的毛刺,文章研究使用了 Bezier曲线和B样条曲线这两种曲线拟合算法来编写模拟绘图程序。
(4)将编写的 C++语言程序进行调试,程序运行后,成功实现了对 DXF 文件中实体段数据信息的读取;将提取后的数据信息做进一步处理后转换为 G 代码输出到数控切割机使用。同时,使用Bezier 曲线和B样条曲线这两种曲线拟合算法实现了对曲线的模拟绘制,在此基础上,运行整体程序模拟出了AutoCAD软件的绘图功能,从而完整实现了本次学校毕业设计的任务。
参考文献(略)