基于AutoCAD的数控图形自动编程系统

2008-03-08 14:40:41 来源:模具网   
核心摘要:摘要 介绍一种基于AutoCAD平台、适于工业个人计算机数控系统的图形自动编程系统。使用该系统需先进入AutoCAD绘制加工零件图形,然后经系统工艺干预后可自动生成ISO数控加工程序。加工程序可通过存盘或打印保存。同时系统具备动态模拟检验加工程序的功能。 关键词:Auto

摘要 介绍一种基于AutoCAD平台、适于工业个人计算机数控系统的图形自动编程系统。使用该系统需先进入AutoCAD绘制加工零件图形,然后经系统工艺干预后可自动生成ISO数控加工程序。加工程序可通过存盘或打印保存。同时系统具备动态模拟检验加工程序的功能。
  关键词:AutoCAD平台 数控 图形自动编程 工业个人计算机

Automatic NC Graphic Programming System Based on AutoCAD

Hu Zihua Luo Wenbo Peng Yanrong

  Abstract This paper develops that an automatic NC graphic programming system based on AutoCAD platform fits in with IPC-CNC system.It is needed to draw machined part graphics in AutoCAD system first,and then ISO standard part working program can be generated automatically after interposition machining processing of the system.The working program can be either stored into disk or printed.Meanwhile there is a dynamical simulative testing function for working program in the system.
Key Words:AutoCAD platform; NC; automatic graphic programming; industrial personal computer(IPC)

1 引言

  数控技术作为现代制造技术的一项关键技术,它是有效提高机床生产效率、保证加工精度稳定和一致性的重要手段。目前,以美、日、欧为先驱,许多国家都在全力研制新一代开放式CNC高档数控系统,国内已有西北工业大学、北京航天航空大学、浙江大学等一些单位也在进行新一代基于工业个人计算机 (Industrial Personal Computer,简称IPC)数控系统的开发与尝试。随着IPC数控系统的研制成功,其中数控系统软件的设计将更具开放性和易扩展升级的特点。为此作者选用“奔腾”PC机硬件平台、Windows95操作平台、AutoCAD for Windows开发平台、Visual Basic(以下简称VB)开发工具,研制适于工业PC机数控系统上使用的数控图形自动编程系统。该系统具有可移植性好,功能易扩展升级,操作、使用、维护简便等特点,本文对系统研制的主要内容予以介绍。

2 系统的框架结构和功能

  系统框架结构如图1所示,它主要包括AutoCAD图形生成、图形数据信息输入、工艺干预、NC代码生成、动态校验和数控加工程序输出六个功能模块。其中图形生成模块由AutoCAD完成;其余模块均为基于AutoCAD平台采用VB开发工具研制而成,功能如下:

图1 系统总体框架结构

  (1)图形数据信息输入:它是AutoCAD实体建模后首先进入的功能模块。具有AutoCAD图形交换文件DXF接口,读取DXF接口文件为自动编程系统准备必要的图形数据;
  (2)工艺干预:它是继(1)步操作后对图形数据进行再加工的核心模块。工艺干预内容包括轮廓和点位两种方式,干预过程通过鼠标事件求鼠标干预位置与实体的最短距离实现。考虑到零件尺寸大小变化,本模块还具备视口放大和满屏显示的辅助功能,便于进行有效干预;
  (3)NC代码生成:经过工艺干预即确定刀具走刀路线后,根据ISO数控代码格式便可将图形几何信息和工艺干预信息转换成ISO标准数控加工程序代码。同时以“?常甆C”形式文件名永久保存;
  (4)动态校验:上述生成的NC代码是否正确还要进行校核和检验方能制作控制介质输出,本模块采用逐点插补算法进行动态模拟检验ISO数控加工程序代码是否正确,以及刀具与工件是否会发生干涉等。如果检验不正确则需对上述各个环节进行反复调试直到正确为止;
  (5)数控加工程序输出:经调试和校验后正确的数控加工程序可以通过拷贝、打印的方式输出。

3 软件设计过程

  构成图形自动编程系统的主要功能模块有图形信息输入模块、工艺干预模块、NC代码生成模块以及校核检验模块。以图形信息输入模块为例说明VB程序设计的过程。
  (1)实体数据类型变量定义
  系统对点、直线、圆弧和整圆四种实体采用通用数据类型结构定义几何信息,该类型的全部元素均为字符串型变量,在图形信息输入模块中主要保存读取实体的几何信息。具体以数组MM(200)变量来保存,这里要求实体数目最多不能超过200个。即

Type ENTITIES-TYPE ′实体形式数据类型名:
  ENTITIES-TYPE;
  STYLE As String ′实体类型变量(其值为LINE,ARC,CIRCLE);
  X1 As String ′实体的起点坐标分量x;
  Y1 As String ′实体的起点坐标分量y;
  X2 As String ′实体的终点坐标分量x;
  Y2 As String ′实体的终点坐标分量y;
  X3 As String ′实体(圆弧或圆)的圆心坐标分量x;
  Y3 As String ′实体(圆弧或圆)的圆心坐标分量y;
  R1 As String ′实体(圆弧或圆)的半径R;
  WISE As String ′实体(圆弧或圆)的顺(=0)、逆(=1)方向;
  ANGLE1 As String ′实体(圆弧或圆)的起始角;
  ANGLE2 As String ′实体(圆弧或圆)的终止角;
End Type
Global MM(200) As ENTI-
TIES-TYPE
′定义一维数组MM全局变量,其元素为ENTITIES-TYPE
′型变量,实体数目最多不能超过200个。
#p#分页标题#e#


  (2)DXF文件的读取程序
  结合当今微机平台上广泛使用的AutoCAD图形软件包,本文采用这一平台开发的图形自动编程系统,可以充分发挥AutoCAD的强大实体建模功能,同时缩短软件开发的周期。本系统使用需首先进入AutoCAD图形系统绘制零件实体,当零件绘制完毕,便以图形交换文件DXF输出,然后进入图形自动编程系统启动图形信息输入模块,读取图形信息。下面介绍零件实体几何信息提取的程序设计。
  DXF文件是具有专门格式的文本文件。一个完整的DXF文件由四个大段和一个文件结束标记构成。每一段的开始部分由四行组成:即DXF的组代码0和段标记SECTION,组代码2和段名各占一行,中间部分是段的实际内容,而段结合部分由组代码0和文件结束符EOF两行组成。DXF文件具有每个数据均占一行的特点。但是由DXF文件生成图形仅需实体段(以 ENTITIES为段名)和文件结束标记。通过分析DXF文件的格式,现以VB编写的源程序说明读取DXF文件实体段几何信息的过程。
Sub DXFIN 0
Dim A As String:Dim B As STRING:Dim CC As ENTITIESTYPE:Dim i,il As Integer
Open FILENAME1 For Input As #1
  Do Input #1,B
  Loop Until B=“ENTITIES”
  Seek #1,Seek(1)
  Do While Not EOF(1)
   Do Input #1,B
   Loop Until B 〈〉“0”
   i=i+1
   Select Case B
      Case “LINE”
       INDXFLINE 1
       CC.STYLE=“line”
       CC.X1=Str$(x1)
       CC.Y1=Str$(y1)
       CC.X2=Str$(x2)
       CC.Y2=Str$(y2)
       xx1=x2
     Case“ARC”
       INDXFARC 1
       CC.STYLE=“ARC”
       CC.X1=Str$(x1)
       CC.Y1=Str$(y1)
       CC.X2=Str$(x2)
       CC.Y2=Str$(y2)
       CC.X3=Str$(x3)
       CC.Y3=Str$(y3)
       CC.R=Str$(R)
       CC.ANGLE1=Str$(ANGLE1)
       CC.ANGLE2=Str$(ANGLE2)
       If Abs(x1-xx1)>.5 Then
        CC.WISE=“0”
        A=CC.X1:CC.X1=CC.X2:CC.X2=A
        A=CC.Y1:CC.Y1=CC.Y2:CC.Y2=A
        A=CC.ANGLE1:CC.ANGLE1=CC.ANGLE2:CC.ANGLE2=A
         Else CC.WISE=“1”
      End If xx1=x2
    Case“CIRCLE”
      il=il+1
      INDXFCIRCLE 1
      CC.STYLE=“CIRCLE”
      CC.X1=Str$(x1)
      CC.Y1=Str$(y1)
      CC.R=Str$(R1)
      CC.X2=CC.Y1
      xx1=x1
    Case“POINT”
      INDXFPOINT 1
      CC.YSTYLE=“POINT”
      CC.ZHX1=Str$(x1)
      CC.ZHX2=Str$(x1)
      xx1=x1
    Case Else
      CC.STYLE=“NONE”
 End Select
 Seek #1,Seek(1)
 j=Str$(i)
Loop
Close #1
End Sub
  其它模块的程序设计不再赘述。

4 实例

  本文以二维零件数控铣削加工为例,首先进入AutoCAD绘制零件轮廓如图2所示。经图形交换文件DXF传输到系统后,工艺干预可得沿图示1-2-3-4-5-6-7顺时针方向走刀的ISO数控加工程序,且此程序已顺利通过校核检验。

 N0001 G90 G92 X0 Y0 S500 M03 LF
 N0002 G01 X1 Y1 LF
 N0003 G01 X1 Y61 LF
 N0004 G01 X41 Y61 LF
 N0005 G02 X61 Y81 R20 LF
 N0006 G02 X101 Y81 R20 LF
 N0007 G01 X141 Y81 LF
 N0008 G01 X141 Y1 Lf
 N0009 G01 X1 Y1 LFM
 N0010 02 EM
#p#分页标题#e#

图2 AutoCAD绘制零件轮廓

5 结束语

  由以上实例可得如下结论:
  (1)本系统基于AutoCAD平台成功地实现了二维轮廓零件的数控自动编程,从而弥补了繁重手工编程带来的许多缺陷;
  (2)该系统既可单独作为图形自动编程系统使用又可作为工业PC机数控系统实现自动编程的功能模块;
  (3)本系统一旦与CAPP系统结合,便发展为微机平台上的CAD/CAM一体化软件;
  (4)添加刀具半径补偿功能后本系统将能实现刀具偏置自动补偿;
  (5)研制本系统是PC微机上实现自动编程的有效尝试,功能有待补充和完善。

下一篇:

第三届 CHINAPLAS x CPRJ 塑料回收再生与循环经济论坛暨展示会

上一篇:

组合机床在中小批量生产中的应用

  • 信息二维码

    手机看新闻

  • 分享到
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们