四、系统的实现
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. 数控代码的生成
这是系统的核心部分,它会根据加工轨迹和用户选定的工艺参数,自动生成相应的数控代码。针对每个AutoCAD图形,AutoCAD系统都有一个内部数据库与之对应。程序首先通过遍历选择集,提取AutoCAD图形信息,构造一个自定义数据库。经过对库中实体类型的判断,进行分类处理,对块进行打碎,对多义线进行拆分等操作。然后根据加工的顺序构造有序选择集。对有序选择集中的直线和圆弧两种图元实体进行组合,分为直线—直线、直线—圆弧、圆弧—直线和圆弧—圆弧等4种方式。由于绘图顺序和选择加工的顺序不一定一致,根据相交两实体的交点,来判断每种组合方式中图元的起点和终点,因为两相交实体的4个端点中,必有2个之间的距离小于某个很小的整数。具体处理流程如图4所示。在NC代码表示中,G02代表顺时针圆弧,G03代表逆时针圆弧,直线用G01表示。图5为生成的代码。
图4 数控代码生成的过程
图5 数控代码生成
4. 代码仿真和校验
代码生成并存盘之后,通过对代码的反读进行轨迹的动态仿真,以此来校验代码的正确性,防止代码的语法错误或不正确的人为修改,图6为仿真的过程。
图6 代码仿真
五、结束语
本系统针对异形切割加工的特殊工艺,结合AutoCAD强大的绘图功能,实现了数控加工的自动编程,系统界面友好、直观,性能稳定,有较强的实用性。