从CAD数据到CNC加工代码数控课程设计说明书Word格式.docx

上传人:b****0 文档编号:13270884 上传时间:2022-10-09 格式:DOCX 页数:62 大小:407.74KB
下载 相关 举报
从CAD数据到CNC加工代码数控课程设计说明书Word格式.docx_第1页
第1页 / 共62页
从CAD数据到CNC加工代码数控课程设计说明书Word格式.docx_第2页
第2页 / 共62页
从CAD数据到CNC加工代码数控课程设计说明书Word格式.docx_第3页
第3页 / 共62页
从CAD数据到CNC加工代码数控课程设计说明书Word格式.docx_第4页
第4页 / 共62页
从CAD数据到CNC加工代码数控课程设计说明书Word格式.docx_第5页
第5页 / 共62页
点击查看更多>>
下载资源
资源描述

从CAD数据到CNC加工代码数控课程设计说明书Word格式.docx

《从CAD数据到CNC加工代码数控课程设计说明书Word格式.docx》由会员分享,可在线阅读,更多相关《从CAD数据到CNC加工代码数控课程设计说明书Word格式.docx(62页珍藏版)》请在冰豆网上搜索。

从CAD数据到CNC加工代码数控课程设计说明书Word格式.docx

 

1内容提要

据有关资料统计:

用手工编程时,一个零件的编程时刻与其实际加工时刻的平均比例约为30:

1。

而数控机床无法启动进行加工的缘故中,有20%-30%是由于加工程序不能及时编制出来造成的。

由此可见,编程的自动化是现今制造业的一个必然的进展趋势。

所谓的自动编程,确实是利用运算机专用软件来编制数控加工程序,编程人员只需依照零件图样的要求,利用数控语言,由运算机自动地进行数值计算及后置处置,编写出零件加工程序单。

在很多制造领域,尤其在军事工业,航空航天工业,微观制造业等尖端科技领域,由于其产品往往具有科技含量高、结构复杂、精度高等特点,给手工编程造成了专门大难度,乃至无法完成。

为了缩短编程时刻,减少人为失误,编程后方便加工前的加工模拟,愈来愈多的常规制造领域业慢慢采纳自动编程。

因此,制造业界投入了愈来愈多的资源来进行自动编程技术的研究开发,使其迅速的进展成熟起来。

本次课程设计的目的确实是设计一个能够将AutoCAD等运算机辅助设计软件画出的DXF图形文件中的相关信息提掏出,通过编程转换成咱们所需要的加工图形,并生成数控代码,实现自动编程目的软件。

2前期预备

编程软件的选择

VisualBasic(VB)和VisualC++(VC)尽管都是可视化的高级编程语言,可是编写相同程序时,VC的工作量一样要比VB高上很多,而且VC适用于大型的,复杂的,商用的程序,其学习难度也远高与VB。

VB是一种可视化的、面向对象和采纳事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。

它简单、效率高,且功能壮大。

故选用用VisualBasic作为本次课程设计的编程软件。

DXF文件的结构

1、DXF文件简介

DXF是DrawingExchangeFormat的缩写,是Autodesk公司开发的用于AutoCAD与其它软件之间进行CAD数据互换的CAD数据文件格式。

其扩展名是“.dxf”,是一种基于矢量的ASCII格式,在表现图形的大小方面十分精准,由于它结构简单、可读性好,易于被其他程序处置,因此已是事实上的工业标准。

目前,绝大多数CAD系统都能读入或输出DXF文件。

2、DXF文件的组成

一个完整的DXF文件由六大段组成,别离是:

题目段(HEADERSection)

类段(CLASSEDSection)

表段(TABLESSection)

块段(BLOCKSSection)

实体段(ENTITLESSection)

对象段(OBJECTSSection)

还有起始段和段终止标记和文件终止标记。

一样情形下,段的前后顺序不能改变。

六大段中与几何图形有关的几何信息均包括在实体段中,实体段中的实体有:

点,直线,圆,圆弧,折线,B样条曲线,文本等。

而咱们只需要用到直线和圆弧。

不同实体在DXF文件中的记录要素不同,例如一条直线的几何信息是直线的起点和终点坐标。

通过度析DXF的文件结构和自动编程所需的信息,只把握ENTITLES段就大体能够知足画图和提取几何图形大体信息的要求。

3、实体段(ENTITLESSection)

该段概念了每一个实体的种类,所在的图层名,颜色,线形,厚度,实体描述字及有关几何数据,如直线(起点、终点),圆(层、圆心、半径),圆弧(圆心、角度、起始坐标、终点坐标)。

不管DXF中的哪个段均由假设干个组(Group)组成,每一个组单元占两行,第一行为组码(GroupCodes),为整形的代码,代表着改组组值的性质,第二行为组值(GroupValue),为具体的数值和代码,二者相结合标识出具体组值代表的意义。

表1至表3是DXF直线、圆、圆弧组码的功能说明

表一:

DXF中直线组码的说明

组码

说明

100

子类标记(AcDbLine)

6

线形(可选)

10

起点(在OCS中)DXF:

X的值

20,30

DXF中Y,Z起点(在OCS中)的值

11

端点(OWCS中)DXF:

21,31

DXF中Y,Z端点(在OCS中)的值

表二:

DXF中圆的组码的说明

说明

子类标记(AcDbCircle)

中心点(在OCS中)DXF:

DXF中Y,Z中心点(在OCS中)的值

40

半径

210

拉伸方向。

默认值(0,0,1),DXF:

X值

220,230

Y,Z的拉伸方向

表三:

DXF中圆弧组码的说明

子类标记(AcDbArc)

50

起始角度

51

终点角度

由表可知,AcDbArc嵌套在AcDbCircl中,而且圆心、半径的组码与圆的都相同。

可是圆与圆弧的提取并非会混淆,因为在ENTITLES段中每一个实体概念的入口处组码0的组值标示实在体类型,圆在入口处组码的组值是CIRCLE,而圆弧是ARC,由此可区分提取。

DXF文件中的组码50,51给出的是圆弧起点与终点角度,而关于运动操纵信息而言,需要的是圆弧起点与终点的坐标值。

依照下式,将取得的是圆弧的所在座标系下的两个端点的坐标值。

设圆心坐标为

,半径为

,起始角为

,终止角为

,那么可取得圆弧在所在座标系下的起点坐标

与圆弧的终点坐标

三、数控系统软件设计进程

数控系统软件的设计是本次课程设计的要紧内容与核心部件,通过VisualBasic的编程功能,咱们从DXF文件中提掏出所需的组码,并利用这些组码显示图形,生成数控代码。

咱们还考虑了刀补,加工方向和起刀点的选择。

为了方便利用者操作,咱们把这些功能通过人性化的界面表达,用户只用进行一些简单的操作,即可实现自动编程的功能。

为了能够清楚显示图像,界面包括原始状态、最大化两种情形。

图1虚线框内是整个软件的功能的设计流程。

其中,我和另外两名同窗需要做的是从读入DXF文件,提取圆弧和直线信息并排序,最后显示图形(1-4步)。

而我又在其中负责显示图形(第4步)工作。

图1数控系统软件设计的流程图

读入DXF文件

利用VB中的通用对话框控件,能够打开所需的DXF源文件,并按行读取文件中的数据内容,具体程序如下:

PrivateSubopenfile_Click()

CallopenDXFfile_Click

EndSub

PrivateSubopenDXFfile_Click()'

打开文件

TDXF="

"

="

'

filename=

OnErrorGoTocancleopen

j=0

OpenfilenameForInputAs#1'

按行读取打开的文件顺序读取数据的内容

DoWhileNotEOF

(1)

LineInput#1,saveDXF

IfsaveDXF="

AcDbCircle"

OrsaveDXF="

AcDbLine"

Then

j=j+1

EndIf

TDXF=TDXF&

saveDXF&

"

~"

保留文件信息

Loop

k=j

ReDimDXFline(1Tok),DXFcircle(1Tok),TEMPline(1Tok),TEMPcircle(1Tok),Common(1Tok),D(1Tok),TempCommon(1Tok),Taxis(1Tok)

Close#1

此程序可由openDXFfile子程序打开DXF文件并找出实体段中圆弧与直线的组码,并计数。

提取相关圆弧和直线的信息

由于适才程序中,在圆弧和直线组码开始处追加了“~”,方便了下面提取每段圆弧与直线信息的程序查找所需内容。

strStart1=InStr(1,TDXF,"

&

)'

提取直线标志所在行

strStart2=InStr(1,TDXF,"

)'

提取圆弧标志所在行

IfstrStart1>

strStart2AndstrStart2<

>

0Then

strStart=strStart2

ElseIfstrStart1<

strStart=strStart1

Else

strEnd=InStr(strStart,TDXF,"

ENDSEC"

提取直线和圆弧终点的几何信息

temp=Mid(TDXF,strStart,strEnd-strStart)'

提取直线和圆弧的几何信息

sourse=Split(temp,"

startPos=-1

j=0

DoWhilestartPos<

-2'

startPos=getStart(startPos)

IfstartPos=-2ThenExitDo

Ifsourse(startPos)="

DXFline(j).SX=0

DXFline(j).SY=0

DXFline(j).EX=0

DXFline(j).EY=0

DXFline(j).SX=sourse(startPos+2)'

拾取起点的X坐标

DXFline(j).SY=sourse(startPos+4)'

拾取起点的Y坐标

DXFline(j).EX=sourse(startPos+8)'

拾取终点的X坐标

DXFline(j).EY=sourse(startPos+10

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1