一、引言
異形切割是利用水切割機、雕刻機等專用切割機對異形金屬板材、玻璃、布料、大理石等多種異形材料進行切割、圖案裁剪的一種加工方法。異形切割一般適用于平面切割,針對不同材料有其特殊的加工工藝。現有的繪圖編程一體化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強大的繪圖功能,實現了數控加工的自動編程,系統界面友好、直觀,性能穩定,有較強的實用性。
(審核編輯: 智匯張瑜)
分享