引言 ffice ffice" />
F4 o4 g- K6 j8 | 虛擬制造(Virtual Manufacturing VM)技術(shù)是虛擬
0 T( Y+ l. C. i顯示技術(shù)與計算機仿真技術(shù)在制造領(lǐng)域的綜合發(fā)展和
, ]; {$ o) S: w/ }2 f& X應(yīng)用。VM 的實質(zhì)是“計算中的制造”,即在計算機中
5 N1 b6 C1 m: l借助建模與仿真技術(shù)及時地完成制造全過程的模擬和 0 d; j% g; Z' G1 I- ^, N& j
示范,并預(yù)測評價產(chǎn)品性能和產(chǎn)品的可制造性。數(shù)控
; B+ P- Y8 r2 ]' T* Q+ q(NC)車削程序的編制過程與工藝過程相似,都具有經(jīng)
0 g5 l- Z+ Z8 r4 i9 a( Q驗性和動態(tài)性,在程序編制過程中經(jīng)常發(fā)生錯誤。為 ( f$ Z- W2 z" }2 ~# P4 H7 c
此,在數(shù)控機床上加工零件之前一般要進行數(shù)控程序
' j6 ?1 |( @, b, u0 y(NC 代碼)校驗,并進行首件試切。但這種傳統(tǒng)的試切
* P/ h4 }1 F+ [/ C. G方法來檢驗刀具路徑既費時又費力。隨著數(shù)控編程技
0 c4 B& w) h% r% i' u. B術(shù)的發(fā)展,人們采用視覺檢查 NC 刀具軌跡的二維線 A* u( z, j9 _$ y
框圖,這種方法主要依賴于程序員對易錯區(qū)選擇的判
+ u8 D @) L. a斷和對該區(qū)域復(fù)雜的刀具軌跡線框圖的理解程度,一
9 n0 }! w' B$ f+ Q般的用戶無法判斷其正確性。通過數(shù)控加工三維幾何 4 O1 c# s- k6 C6 s. G3 p& p
仿真能夠使 NC 編程人員和機床操作者通過圖形顯示
) Y3 N4 {( D9 D9 ]進行干涉和碰撞檢查,校驗數(shù)控程序,故可以大大減
8 W, k; ^) f; ? M) @3 m少上述情況的發(fā)生,提高數(shù)控編程效率和質(zhì)量。
, i9 b: I O4 C; S( U7 L1 系統(tǒng)總體結(jié)構(gòu) " D+ _4 u$ p5 v) `8 d
由于OpenGL適用于多種硬件平臺及操作系統(tǒng),其 % b* ? ?) E0 t& ?& _
圖形庫能夠制作出高質(zhì)量的三維圖形和高質(zhì)量的動畫 5 O! l+ u8 m G0 p# c
效果。因而整個虛擬加工的3D顯示引擎選用OpenGL來
8 D) t2 d" P4 j6 X實現(xiàn)。考慮到Visual C++功能強大,開發(fā)出的系統(tǒng)執(zhí)
9 ~7 N) z- F: i1 |, f) @行效率高,且便于控制OpenGL,因而選用Visual C++ 3 ~1 ^; B+ ~2 F" {1 F% U: C$ ]
作為整個虛擬加工系統(tǒng)的開發(fā)工具。通過對數(shù)控車床 2 @+ I$ ^# l4 V5 Q, U3 Z" g" H
及其加工過程進行仿真,動態(tài)顯示產(chǎn)品加工過程和結(jié) 9 \0 W" e* J0 a! _& P, C* c# x( g
果,以實現(xiàn)產(chǎn)品零件的虛擬加工,并驗證NC程序的正 N- U/ J3 k2 {* H
確性。 ! V5 v) q0 n' m' E6 Z t
, |; P8 q$ J( s# F
圖1為系統(tǒng)的設(shè)計流程圖。
# z) j4 r5 {% v$ B2 系統(tǒng)功能實現(xiàn)
1 I7 H; r, y4 j+ [3 ^* a |2.1 NC程序編譯
( S- C+ S; u* T* e9 V) H$ m 由于虛擬加工系統(tǒng)主要用于工業(yè)培訓(xùn)及NC代碼的 & i/ X) l. y* h9 Z. {+ P
正確性檢查,故要求系統(tǒng)能夠在加工之前通知操作人
4 }: _- H/ T7 V2 q員NC程序中是否存在語法錯誤,上下程序段間的邏輯 ! E, I9 Z. Y7 R% h" L6 q
關(guān)系是否正確等,故選用編譯方式而不是解釋方式來
7 [" W! f. l# Z8 H( m$ _8 V對NC程序進行編碼。根據(jù)編譯原理的思想[1,2],構(gòu)造出
1 r+ L' ?3 y! @# ?( X* M6 N% _NC程序編譯模塊,對NC程序進行語法和詞法檢查。 ( u' k* p' p: x7 h U* y
比如檢查地址符字母是否大寫,上下程序段之間的邏 5 N: y6 \' n+ X8 j/ J4 d3 w3 S* h2 P+ t# Y
輯關(guān)系是否正確,圓弧的終點、圓心、半徑值等是否 8 W+ ^; F# J+ p; |. X; U! L
匹配,子程序調(diào)用時子程序號是否正確,程序開始字 ( X3 C; E" t* d0 i9 J. \/ l
符,程序號,程序主體,程序結(jié)束代碼和程序結(jié)束字
4 s0 M9 Y# k# n' y& i符等是否完整等等。通過詞法和語法檢查指出錯誤發(fā)
% @) f. O% I, {9 ]6 U生的位置,給出錯誤的原因。使得虛擬加工系統(tǒng)能夠
* E4 d3 G' T$ W輔助用戶學習NC程序的編制。 , A* |/ b6 A& @7 h7 V! _5 s
2.2虛擬車床本體的搭建 3 T0 ]; v9 ~# A6 o- r
在數(shù)控加工幾何仿真系統(tǒng)中,首先要建立虛擬加 # f8 {8 w0 U! u% u. f8 j
工環(huán)境,實現(xiàn)虛擬數(shù)控機床。由于機床是由許多零部
$ {, M1 ]' x' @- n. a4 v件組成,結(jié)構(gòu)較為復(fù)雜,用OpenGL函數(shù)進行造型工作
2 h0 A1 D$ U+ S5 A* p" a( V |( E量太大,故先在CAD軟件Pro/E中造型出數(shù)控機床各個
* H$ ^: ] O, V1 G9 d q零部件,將其導(dǎo)出成標準的三維數(shù)據(jù)格式STL,在程序 | Z( n1 h& d2 J
中直接讀取STL文件,并將其裝配起來。在繪制機床時
+ b# T! M! ~" P% A3 |利用了OpenGL顯示列表技術(shù),將每個零部件都生成一 % p1 M/ ^) J3 d, N: _
個OpenGL的顯示列表,這樣可以大幅度提高重繪效率,
+ h/ ^* o( z( p# x0 J/ o滿足實時繪制的要求。圖2為虛擬車床的效果圖。
- v2 L* ]" ^* h. w ! S0 H' H( w7 ?+ `2 T
2.3 數(shù)控加工過程仿真實現(xiàn)
" I/ E/ i) u4 v4 l( l 數(shù)控車床的毛坯常用棒料或鑄鍛件,加工余量較 9 x9 d" i( x3 M3 R$ I d
大,但加工的零件形狀較為簡單,一般都是回轉(zhuǎn)體零 4 q: Y7 M, `2 B3 e; B. N
件。為了避免材料切除過程中毛坯與刀具運動形成掃 % S9 t' h2 S- c9 ?
掠體之間耗時的布爾運算,將毛坯沿 Z 向進行離散, ( t- a: @. c4 Y' v
將毛坯離散成單位高度的小圓柱,每個小圓柱稱為一 ' O# Z1 @3 P9 F9 t
個薄片,每個薄片的厚度根據(jù)精度和顯示效果的要求 & y1 i" ^0 V R4 y
來確定,精度越高,切的越薄。每個薄片的數(shù)據(jù)結(jié)構(gòu)
1 r$ H0 W% g; u& ]& q3 O如下: 6 _; o9 Z) A( s$ l9 o9 T
struct PieceCylinder ! o$ h6 @' k3 I, J
{
* @' | H# N# D- N4 udouble m_dZSt;///////起始 Z 坐標 2 q$ A: g; c/ w- j
double m_dZEd;//////結(jié)束 Z 坐標
9 J8 j' M5 ^+ F* w: m% A+ P; n- L9 A: edouble m_dROutSt;////外圓起點半徑值
. s F' s4 P: I) B6 [double m_dROutEd;///外圓終點半徑值
" W5 U! O0 s& v% p8 R) Ydouble m_dInSt;///內(nèi)圓起點半徑值
: R6 X5 A# ^9 b. h$ {3 ?+ Bdouble m_dInEd;////內(nèi)圓終點半徑值
; L1 Z0 ^' E- g. x; iBOOL m_bIsDelete;//////該部分薄片是否被切除
" s6 U; E2 I4 V' G0 V0 l& a& oPiesCylinder* m_pNext;/////下一個薄片數(shù)據(jù)
' `6 h& X& U2 C: J% |8 V+ x$ d, p};
f v7 e2 s; V7 \- c, V- S 由于車削加工的回轉(zhuǎn)體常常有內(nèi)孔,車削時也可 0 y: m2 J% g$ r4 d
能進行鏜孔和鉆孔操作,因而每個薄片不但要記錄所
4 t& A1 \* [$ D* C$ J! V在位置的外圓半徑,還要記錄內(nèi)孔的半徑。為了光滑
' o- d+ }- T/ t的顯示加工的復(fù)雜回轉(zhuǎn)面,如圓弧面、雙曲面等,每 3 b5 d6 {1 T+ p6 h
個薄片在 Z 軸方向分為起點和終點。其起點和終點處 # ^3 E' Y+ g$ X3 G
外圓、內(nèi)孔的半徑根據(jù)加工中的刀路軌跡單獨計算和
+ c( D! |- |" K+ R5 B* c5 h存儲。
- B7 Z# ]* |* c7 H3 t# G 在車削加工過程中,一方面工件繞其自身的回轉(zhuǎn)
& G0 d' A" {, H8 c/ G8 \. q軸高速旋轉(zhuǎn),另一方面刀具在工件的軸平面內(nèi)沿 X 軸、 # Y5 \# G, K% Y4 }2 D0 L' ?* `' \& d! K
Z 軸運動,并逐漸從工件上切除多元的材料,加工出
0 _7 E& R7 Y, Z9 O9 [所需的外形,每一步刀具所掃掠出的均是一個多邊形。
; [' A6 ?0 O! T' h根據(jù)每一步的插補指令,求解出該步刀具所掃掠出的
# [9 a1 C/ z! _+ I7 q! V多邊形。將刀具掃掠出的多邊形和離散后的工件模型
0 L9 |2 Z9 F$ F3 J5 e' C+ i求交,并相應(yīng)修改工件上所有和刀具掃掠多邊形相交 , m, e, F& j4 l" p2 b7 |
部分的半徑值。將修改半徑后的工件重新繪制出來, : _# T3 C$ ]& {7 D" k6 V/ G
即可完成仿真過程的實時繪制。
4 d2 ?1 M. `0 [6 O/ C3 運行實例
: A4 K0 b6 q( [# {8 c 為了驗證系統(tǒng)的仿真效果,進行了兩個加工實例 ) q9 t5 E' H' ?4 b2 d
研究。由于固定循環(huán)的實現(xiàn)比較有代表性,故這里選 . l+ U/ n$ y& `. ~5 c8 x
用固定循環(huán)來進行研究。程序O1234是G71外圓粗車固 " d6 R% [( U+ p# g
定循環(huán)里面包含G70的精車循環(huán),程序O1235是G72端 7 J0 @+ h& m( F8 e
面車削固定循環(huán),圖3為G71精車后的效果圖。圖4為
' D& ^6 Q$ ^6 a1 d+ Y/ y0 yG72粗車過程中截圖。 / F1 a5 M; {9 o& b
O1234
5 {- B5 d" N7 @( I" HSffice:smarttags" />1200M3 & O5 S: ^/ O+ ?8 `$ z
T0101 ' R3 n2 Q) p7 A2 y& k- |
G50X100Z50
5 m8 u# Y+ M( U: oG0X80Z5
* L8 U3 `; x0 O: v7 ~G71U3R0.2 " w% F9 Z: k, ^9 Y/ v# I9 s
G71P00Q60U0.2W0.1F200 . D- A, O+ q# ^
N00G0X6Z1 & \# p# E C; b6 |, ?
N10G1X10Z-3 ) ^! ` o+ } T! N" O) t
N20G1W-15 # l8 ?0 w {3 K! u+ ^: J4 J5 U
N30G2U30W-15R15
. s6 w! C) }8 @" Y5 T h( BN40G1W-30 3 t/ X$ F& `% q
N50G3U30W-15R15 , [% f8 r: n# Q% x2 G4 V
N50G1U10W-10 1 V. y9 _2 B2 @8 s2 M2 c
N60G1W-70
i! `( \2 J' m* d/ Q( hN70G0X100Z50
' Z" W$ {" _+ FG0X30Z5
( E9 l h9 Q% h& V8 l! A+ n m2 s7 @G70P10Q60 # t9 \2 s% q3 c( Z# E) @) R
G0X120Z20 7 v4 d) B9 }/ v, |( {3 O
M30 # f/ i4 z9 n5 e
& g( {& I4 H6 d$ [1 s, D" KO1235;G72橫向切削復(fù)合循環(huán)
* C: Y# x4 g: r' q7 [) CS1200M3 " { C: K$ n7 i
T0101 8 ~( S* ]& {" M$ Z- `) i
G50X50Z50
& |6 C1 \ L2 T4 J$ ?$ _5 sG0X32Z5 " w) v+ I, T" e! _, u+ @
G72U2R0.2
( `7 S+ ]! k$ [7 }G72P10Q50U0.2W0.1F200;呼叫子程序
/ h" J! Z7 S7 N( m5 _* ZN10G0X80Z-80
- p: o- Z+ T, D0 NN20G1X60Z-70F100
- F% ?1 c' p1 e$ J* q1 }N30W8 . S9 \, F2 i- V3 m- }! n
N40G3X30W15R15 " Y& N( B/ m8 G$ G8 z' l" b( O
N50G1X18Z2
% S0 J5 d8 h2 C0 Y( g) L& q0 iN60G0X100Z50 / J/ ^/ y: q( ]/ X
G0X30Z5 ! ?1 I% `, E* o4 D. v) q
G70P10Q50
1 K! R% T; ]0 J6 F" QG0X100Z50 & o9 h1 b: Z2 Y) ?2 W' X" q
M30 ! z1 L; e! C6 T( C
5 ?0 L- P, K' M, b( q- T& W
4 結(jié)論 . B* b9 c g+ h* u
詳細介紹了車床虛擬加工系統(tǒng)的一種實現(xiàn)方法, 3 y6 P1 }5 N- c5 U. E4 p" c
并采用這種方法實現(xiàn)了車床虛擬加工系統(tǒng)。該虛擬加 - w/ ]1 e3 w7 h5 H0 w
工系統(tǒng)可廣泛應(yīng)用于真實加工前進行仿真試切,在工
0 w! x! ^: e2 S) H: t% B5 |8 H1 |8 t業(yè)培訓(xùn)、數(shù)控教學等行業(yè)中,具有廣泛的應(yīng)用前景。 " }8 f6 P6 u: d4 _4 z
|