siemens x
工業(yè)連接

基于AutoCAD R14和VB5開發(fā)的自動編程系統(tǒng)

2025China.cn   2008年06月04日

1 概述
   數(shù)控零件加工程序的編制是進行數(shù)控加工的一個重要步驟,國內(nèi)外數(shù)控加工統(tǒng)計說明,造成數(shù)控機床等待約20%~30%是編程不及時所致,可見數(shù)控編程直接影響著數(shù)控機床的加工效率。隨著數(shù)控技術(shù)應(yīng)用的日益擴大,我國企業(yè)在數(shù)控自動編程應(yīng)用方面已有較大發(fā)展,目前主要有以下三種自動編程方式。
  (1)采用數(shù)控編程語言的自動編程。最著名的是APT(Automatically Programmed Tools)語言。
  (2)計算機輔助圖形設(shè)計的自動編程。采用CAD方法,將設(shè)計好的零件圖形顯示在屏幕上,編程人員指定要加工的表面,并回答軟件提出的一些問題,諸如對刀點、走刀方式、切削用量參數(shù)等,然后由系統(tǒng)進行自動編程,形成刀位數(shù)據(jù)文件或APT程序,再經(jīng)后置處理,變成機床所需的NC代碼。
  (3)從CAD獲取信息的自動編程。編程所需的零件形狀信息直接從CAD那里得到,一般利用AutoCAD提供的圖形交換文件DXF接口,編程人員只需進行適當(dāng)工藝處理。
  由于圖紙上給出的零件形狀數(shù)據(jù)往往比較少,而數(shù)控系統(tǒng)的插補功能要求有較多的數(shù)據(jù)才能控制機床。尤其是當(dāng)數(shù)控系統(tǒng)插補功能要求輸入的數(shù)據(jù)與零件形狀給出的數(shù)據(jù)不一致時,就需要進行復(fù)雜的數(shù)學(xué)運算,而在運算過程中可能產(chǎn)生人為的錯誤。而這些復(fù)雜的數(shù)學(xué)運算可由計算機快速、準(zhǔn)確地完成。
  NC程序作為數(shù)控加工的信息載體,其正確與否直接影響零件加工質(zhì)量。目前實際生產(chǎn)使用的NC程序,在投入加工之前通常采用機床空運行和木模、蠟?zāi)5脑嚽?,完成NC程序的檢查。該方法加工準(zhǔn)備周期長,生產(chǎn)成本增加,難以實現(xiàn)數(shù)控機床的高效生產(chǎn)。圖形仿真是目前CAD/CAPP/CAM系統(tǒng)中通用的NC檢驗方法。
  本文介紹了作者開發(fā)的數(shù)控軟件(Numerical Control Automatic Programming System——NCAPS)設(shè)計方案和實現(xiàn)方法。操作人員在實際操作數(shù)控銑床加工工件之前,先用該系統(tǒng)進行模擬操作。通過計算機屏幕可清晰地看到所編輯的加工程序運行的刀具切削模擬過程,并可方便地反復(fù)修改加工程序,直到被加工的“工件”符合要求為止。且該過程都在AutoCAD環(huán)境下實現(xiàn)。這無疑對新產(chǎn)品的開發(fā)、安全生產(chǎn)、提高生產(chǎn)效率及減少廢品都具有實際意義。


2 ActiveX Automation對象及開發(fā)工具介紹


2.1 ActiveX Automation對象
  (1)頂層是AutoCAD Application,它除具有對象的屬性和方法外,還包括兩個重要的對象Preferences(參數(shù)對象)和Document(文檔對象)。Preferences對象是與AutoCAD系統(tǒng)中參數(shù)設(shè)置相對應(yīng)的對象,Document對象則是包括圖形文件的所有對象集合,如Blocks Collection、ModelSpace Entities Collection、PaperSpace Entities Collection等一系列對象。
  (2)圖形對象。Blocks Collection等屬于圖形對象,它是用戶使用頻繁的對象,是實現(xiàn)參數(shù)化、變量化及三維實體造型等功能的主要方式。
  (3)輸出對象。輸出對象控制圖形文件的輸出格式,如設(shè)置坐標(biāo)原點、方向等。
  (4)實用對象。該對象提供AutoCAD中常用的數(shù)據(jù)轉(zhuǎn)換、輔助計算等功能。
2.2 開發(fā)工具
  本文以Visual Basic 5.0為開發(fā)工具,給出了實例。由于編程思想是相同的,所以該方法可移到Visual C++、Delphi等開發(fā)工具上。
  用VB5實現(xiàn)ActiveX Automation開發(fā)的關(guān)鍵是要獲得AutoCAD對象的指針,及創(chuàng)建ation對象,進而創(chuàng)造AutoCAD的文檔對象,以實現(xiàn)對AutoCAD中其它對象的訪問,完成與AutoCAD的通訊。


3 系統(tǒng)的組成與功能


圖形交互式自動編程系統(tǒng)處理零件程序的一般過程是:輸入零件圖形→輸入工藝參數(shù)→運動軌跡計算→加工模擬→后置處理→程序清單→輸出。NCAPS是針對數(shù)控銑床開發(fā)的,系統(tǒng)框架結(jié)構(gòu)如圖1所示,它主要包括進入AutoCAD R14系統(tǒng)繪制零件圖、工藝處理、動態(tài)校驗和數(shù)控加工程序輸出等功能模塊。具體步驟如下:
  (1)進入AutoCAD R14系統(tǒng)繪制零件圖
  它是AutoCAD實體建模過程。
  (2)工藝處理


圖1 NCAPS系統(tǒng)框架結(jié)構(gòu)示意圖

它是第(1)步操作后對圖形數(shù)據(jù)進行再加工的核心模塊。利用計算機圖形學(xué)技術(shù),直接在AutoCAD環(huán)境下進行工藝干預(yù)。
  工藝干預(yù)內(nèi)容包括輪廓和點位二種方式,干預(yù)過程通過鼠標(biāo)事件選擇實體來實現(xiàn)。用鼠標(biāo)選取實體的先后來組成加工環(huán)(加工路線)?,F(xiàn)以VB5編寫的源程序說明如何直接從AutoCAD環(huán)境下選擇實體,形成加工路線(該程序只是該模塊的部分)。
  Option Explicit
  Public objAcad As Object,objDoc As Object
  Private Sub Form-Load()
   StartAutoCAD-為對AutoCAD訪問做準(zhǔn)備
  End Sub
  Private Sub StartAutoCAD()
   Dim DwgName As String
   Set objAcad=GetObject(,“ation”)
  End Sub
  Private Sub SelectCutType-Click()
   Dim EntityName As String
   Dim EntityMessager(1 To 6) As Variant
   Dim ent As Object,sset As Object
   Set objDoc=Document
   Set sset=(“SS1”)‘設(shè)置sset到一個名為SS1的選擇集中
   OnScreen
   Dim msgstr As String,appName As String
   appName=yName
   For Each ent In sset
    If Name=“AcDbLine”Then‘為直線
      EntityName=Name
      Entitymessager(1)=int:EntityMessager(2)=nt
      ElseIf Name=“AcDbCircle”Then‘為圓
      EntityName=Name
      EntityMessager(1)=:EntityMessager(2)=
   ElseIf Name=“AcDbArc”Then‘為圓弧
    EntityName=name
    EntityMessager(1)=:EntityMessager(2)=
    EntityMessager(3)=ngle:EntityMessager(4)=le
    EntityMessager(5)=oint:EntityMessager(6)=nt
  Else
   EntityName=Name‘為其它實體
  End If
 Next ent ‘選擇集中的下一個實體
End Sub
  (3)NC代碼生成
  經(jīng)過工藝干預(yù)(即確定刀具走刀路線)后,便可將圖形幾何信息和工藝干預(yù)信息轉(zhuǎn)換成ISO標(biāo)準(zhǔn)數(shù)控加工程序代碼。同時以(*.NC)形成的文件名永久保存。
  (4)動態(tài)校驗
  上述生成的NC代碼是否正確還要進行校驗方能制作控制介質(zhì)輸出。本模塊采用時間分割插補算法進行動態(tài)模擬,以校驗ISO數(shù)控加工程序代碼是否正確,以及刀具與工件是否產(chǎn)生干涉等。如果校驗不正確,則需對上述各個環(huán)節(jié)進行反復(fù)調(diào)試,直到正確為止。
  為使刀位數(shù)據(jù)易于獲得,避免傳統(tǒng)數(shù)值積分法(DDA)精度較差與運算繁瑣等缺點,本系統(tǒng)在加工仿真過程中引入方向性概念,使刀心軌跡在算法上簡潔明了,程序可讀性強。
  對于CNC系統(tǒng)刀補功能,以往的直線過渡刀補算法,常利用三角函數(shù)關(guān)系式來計算各轉(zhuǎn)接點的坐標(biāo)值。這些方法公式推導(dǎo)復(fù)雜,計算量大,不宜歸納和簡化。本系統(tǒng)引入運動矢量和刀具半徑矢量來計算,對直線到直線、直線到圓弧、圓弧到直線和圓弧到圓弧各種轉(zhuǎn)接情況進行了分析,綜合為兩個統(tǒng)一公式進行計算,大大簡化了CNC系統(tǒng)的刀具補償?shù)挠嬎懔俊?BR>  (5)文本編輯模塊
  此模塊允許操作人員把已編好的ISO代碼形式的數(shù)控加工程序通過文本編輯送到計算機,對其加工過程模擬演示,以便驗證所編的數(shù)控零件加工程序的正確性。
  (6)數(shù)控加工程序輸出
  經(jīng)調(diào)試和檢驗后的正確數(shù)控加工程序可以通過拷貝、打印、通訊接口的方式輸出。


4 實例


本文以二維零件數(shù)控銑削加工為例,首先在AutoCAD環(huán)境下繪制零件輪廓,如圖2所示。工藝干預(yù)可得沿圖2所示1-2-3-4-5-6-7-8-9-10-11順時針方向走刀的ISO數(shù)控加工程序,且此程序已通過動態(tài)校核檢驗(如圖3)。


圖2 工藝干預(yù)結(jié)果


圖3 數(shù)控加工(銑削)仿真結(jié)果


5 結(jié)束語


綜上所述,本系統(tǒng)具有如下優(yōu)點:
  (1)直接在AutoCAD環(huán)境下經(jīng)圖形轉(zhuǎn)換,自動生成數(shù)控指令代碼。由指令代碼可以動態(tài)模擬刀具運動軌跡,校驗代碼的正確性。
  (2)代碼可以直接和數(shù)控機床通訊,加工出新設(shè)計的圖形,實現(xiàn)了CAD/CAM一體化。
  (3)該系統(tǒng)已與數(shù)控機床連通,并進行了實際切削。實驗表明,該系統(tǒng)具有運行準(zhǔn)確、直觀,能顯著提高數(shù)控編程效率等特點,對其中一些功能繼續(xù)完善,可滿足實際加工需要。目前,該系統(tǒng)被我校CAM課程自動編程實驗室采用。

(轉(zhuǎn)載)

標(biāo)簽:自動編程 系統(tǒng) 開發(fā) 我要反饋 
2024世界人工智能大會專題
即刻點擊并下載ABB資料,好禮贏不停~
優(yōu)傲機器人下載中心
西克
2024全景工博會
專題報道