一、引言
异形切割是利用水切割机、雕刻机等专用切割机对异形金属板材、玻璃、布料、大理石等多种异形材料进行切割、图案裁剪的一种加工方法。异形切割一般适用于平面切割,针对不同材料有其特殊的加工工艺。现有的绘图编程一体化CAD/CAM软件不能满足要求,而且价格昂贵。本系统是基于绘图软件二次开发工具的自动编程系统,它以AutoCAD为开发平台,以AutoCAD VBA和VB6.0为编程语言,实现了图形处理、自动编程等功能。
二、系统的功能
此系统主要功能是在AutoCAD系统环境中,根据客户的CAD图形,由用户界面以交互操作方式选择或输入切割工艺参数,生成切割轨迹和G代码,然后通过代码反读,进行轨迹仿真,以便校验代码的正确性。另外,还可以进行代码的编辑和完成数控指令文件的存盘。其系统流程如图1所示。 (图片)
图1 系统功能图 三、系统开发平台
此系统开发利用AutoCAD良好的开放结构和具有魅力的二次开发工具VBA。AutoCAD VBA与VB有着几乎相同的开发环境和语法,它具有For Application功能,驻留在AutoCAD主程序内部,结构精简,代码运行效率高,功能强,大易于掌握,为开发程序带来了极大的方便。但是用它开发的程序没有用户自己的启动界面,且开发的程序会暴露出来。利用VB通过AutoCAD ActiveX技术建立VB与AutoCAD之间的连接,可解决上面出现的问题,建立用户启动界面与AutoCAD的有效连接,实现关键代码的整体封装。VBA的使用可以直接进入AutoCAD,在菜单工具的宏中进入VBA管理器。用VB进行编程,需要将VB与AutoCAD进行连接,在编写VB代码前,在VB编程环境中引用AutoCAD对象库,然后编写VB代码,创建AutoCAD对象,启动AutoCAD。VB与AutoCAD连接后,就可以利用AutoCAD对象及下级对象的属性和方法完成编程。下面是VB程序中启动运行AutoCAD的子程序代码。
Dim AcadApp As Acad Application Public Sub 连接 AutoCAD()
On Error Resume Next
Set AcadApp=GetObject(, “AutoCAD.Application”)
If Err Then
Err.Clear
Set Acad App=Creat Object(“AutoCAD.Application”)
If Err Then
MsgBox(“不能运行AutoCAD2004,请检查是否安装了AutoCAD2004”)
Exit Sub
End If
End If
Acad App.Visible=True
End Sub
四、系统的实现
1. 功能实现菜单的形成
此系统功能的实现是通过应用程序进入AutoCAD,然后在AutoCAD标准下拉菜单的帮助后面添加一项异形切割主菜单,然后在主菜单下面添加子菜单,如图2所示。下面是实现这个过程的主要程序代码。
Dim new Menu As Acad Popup Menu
Set new Menu = Curr Menu Group.Menus.Add("异形切割" & Chr(Asc("&")) & "w")
Dim menu Item Open2 As Acad Popup MenuItem
Set menu Item Open2 = new Menu .Add Menu Item (newMenu.count + 1, "轨迹和代码生成", macro & "-vbarun" + Chr(32) + "This Drawing.Com Dialog2" + Chr(32))
Menu Item Open.Help String = "代码生成"(图片)
图2 功能下拉菜单 2. 工艺参数的干预
系统允许用户采用交互的方式在命令行输入加工起始点,对话框方式输入加工速度、定位速度、偏值量和切入方式等,充分考虑了实际加工情况。根据加工的实体个数,来插入中间退刀点,防止图形之间的干涉。另外,若采用圆弧切入方式,还可以提高切割质量,改善切割特性。图3为工艺参数对话框。(图片)
图3 工艺参数对话框 3. 数控代码的生成
这是系统的核心部分,它会根据加工轨迹和用户选定的工艺参数,自动生成相应的数控代码。针对每个AutoCAD图形,AutoCAD系统都有一个内部数据库与之对应。程序首先通过遍历选择集,提取AutoCAD图形信息,构造一个自定义数据库。经过对库中实体类型的判断,进行分类处理,对块进行打碎,对多义线进行拆分等操作。然后根据加工的顺序构造有序选择集。对有序选择集中的直线和圆弧两种图元实体进行组合,分为直线—直线、直线—圆弧、圆弧—直线和圆弧—圆弧等4种方式。由于绘图顺序和选择加工的顺序不一定一致,根据相交两实体的交点,来判断每种组合方式中图元的起点和终点,因为两相交实体的4个端点中,必有2个之间的距离小于某个很小的整数。具体处理流程如图4所示。在NC代码表示中,G02代表顺时针圆弧,G03代表逆时针圆弧,直线用G01表示。图5为生成的代码。(图片)
图4 数控代码生成的过程 (图片)
图5 数控代码生成 4. 代码仿真和校验
代码生成并存盘之后,通过对代码的反读进行轨迹的动态仿真,以此来校验代码的正确性,防止代码的语法错误或不正确的人为修改,图6为仿真的过程。(图片)
图6 代码仿真 五、结束语
本系统针对异形切割加工的特殊工艺,结合AutoCAD强大的绘图功能,实现了数控加工的自动编程,系统界面友好、直观,性能稳定,有较强的实用性。
8/17/2005
|