引言 ffice ffice" /> - y- Z# f! P6 b% N: x# N: A* R
虛擬制造(Virtual Manufacturing VM)技術(shù)是虛擬 ' T. |" L" y) |/ Y" h, a4 a |
顯示技術(shù)與計(jì)算機(jī)仿真技術(shù)在制造領(lǐng)域的綜合發(fā)展和 3 U& X0 {! V3 o T4 _
應(yīng)用,。VM 的實(shí)質(zhì)是“計(jì)算中的制造”,,即在計(jì)算機(jī)中 * {/ s9 m& \$ z$ H9 q$ @ Q r B
借助建模與仿真技術(shù)及時(shí)地完成制造全過(guò)程的模擬和 , d! j' w! i! ^
示范,,并預(yù)測(cè)評(píng)價(jià)產(chǎn)品性能和產(chǎn)品的可制造性。數(shù)控
3 v/ p, ^ B. }4 \/ k% b4 V- A(NC)車(chē)削程序的編制過(guò)程與工藝過(guò)程相似,都具有經(jīng)
4 n4 D# G1 H5 I" E9 W驗(yàn)性和動(dòng)態(tài)性,在程序編制過(guò)程中經(jīng)常發(fā)生錯(cuò)誤,。為
3 j3 q" Z4 C: W4 y# d* d此,在數(shù)控機(jī)床上加工零件之前一般要進(jìn)行數(shù)控程序
" c! C1 t5 J( c/ q( `" M(NC 代碼)校驗(yàn),,并進(jìn)行首件試切,。但這種傳統(tǒng)的試切 9 V7 M& a! {/ {7 r+ E. \, z
方法來(lái)檢驗(yàn)刀具路徑既費(fèi)時(shí)又費(fèi)力。隨著數(shù)控編程技 2 N8 Y- {4 H% X' x( b
術(shù)的發(fā)展,,人們采用視覺(jué)檢查 NC 刀具軌跡的二維線(xiàn)
& \- U$ _/ q) S框圖,,這種方法主要依賴(lài)于程序員對(duì)易錯(cuò)區(qū)選擇的判 & J6 k, s) p4 d) G2 @
斷和對(duì)該區(qū)域復(fù)雜的刀具軌跡線(xiàn)框圖的理解程度,一 ; T8 ~: M& M- X7 e" A
般的用戶(hù)無(wú)法判斷其正確性,。通過(guò)數(shù)控加工三維幾何 , p0 u2 M! b0 e3 b
仿真能夠使 NC 編程人員和機(jī)床操作者通過(guò)圖形顯示 * H2 y9 _- G2 o' [& {2 D7 F( `
進(jìn)行干涉和碰撞檢查,,校驗(yàn)數(shù)控程序,故可以大大減 ( P( [8 i3 d8 K; q! w9 t! Z( X; y, j# [
少上述情況的發(fā)生,,提高數(shù)控編程效率和質(zhì)量,。
* {* U. r9 Z" \+ t, [- w; ?& u1 系統(tǒng)總體結(jié)構(gòu) " a D |8 `5 h, W# X( i
由于OpenGL適用于多種硬件平臺(tái)及操作系統(tǒng),,其 0 Z; q! Z- `) b: Y0 ?
圖形庫(kù)能夠制作出高質(zhì)量的三維圖形和高質(zhì)量的動(dòng)畫(huà)
# H- C5 Y/ X( g效果,。因而整個(gè)虛擬加工的3D顯示引擎選用OpenGL來(lái)
. v* C% b# t' y( s( q) Q實(shí)現(xiàn)�,?紤]到Visual�,。茫δ軓�(qiáng)大,開(kāi)發(fā)出的系統(tǒng)執(zhí)
& o/ W- r' R, ~) q4 J! f行效率高,,且便于控制OpenGL,,因而選用Visual�,。茫�
/ y2 h# |( _) i3 f作為整個(gè)虛擬加工系統(tǒng)的開(kāi)發(fā)工具。通過(guò)對(duì)數(shù)控車(chē)床
% }0 Z' v. T% _ f- I- D9 S4 K: m及其加工過(guò)程進(jìn)行仿真,,動(dòng)態(tài)顯示產(chǎn)品加工過(guò)程和結(jié)
. m" c+ i( h; e果,,以實(shí)現(xiàn)產(chǎn)品零件的虛擬加工,并驗(yàn)證NC程序的正
7 b9 y* B$ B! U6 o0 n4 E: O5 j確性,。 * @1 b" C& x/ o: i+ [( L4 D) f) w0 Z: y
0 O. K* S. i% |& y$ T; p0 G N圖1為系統(tǒng)的設(shè)計(jì)流程圖,。 8 Y) B% u- r0 j
2 系統(tǒng)功能實(shí)現(xiàn) * Q3 ]4 G; B X! h2 T2 t5 f& m, a+ e
2.1�,。危贸绦蚓幾g : a2 m2 Z7 {8 d& z' }
由于虛擬加工系統(tǒng)主要用于工業(yè)培訓(xùn)及NC代碼的
, J3 u' C( ]% G& k正確性檢查,,故要求系統(tǒng)能夠在加工之前通知操作人
* R3 `* U! C" k9 h$ S. t員NC程序中是否存在語(yǔ)法錯(cuò)誤,上下程序段間的邏輯 $ Q. S; Y7 S+ R
關(guān)系是否正確等,,故選用編譯方式而不是解釋方式來(lái) 8 ^8 z2 t, R- x* u/ {
對(duì)NC程序進(jìn)行編碼,。根據(jù)編譯原理的思想[1,2],構(gòu)造出 . n' G H8 C; v
NC程序編譯模塊,對(duì)NC程序進(jìn)行語(yǔ)法和詞法檢查,。 - P( z" m+ V3 }. x0 q
比如檢查地址符字母是否大寫(xiě),,上下程序段之間的邏
) k5 s/ S2 h2 `輯關(guān)系是否正確,圓弧的終點(diǎn),、圓心,、半徑值等是否 " Z, |* d; h$ T+ ^) _( o! J
匹配,子程序調(diào)用時(shí)子程序號(hào)是否正確,,程序開(kāi)始字
0 e! c. {) Q e9 t4 h符,,程序號(hào),程序主體,,程序結(jié)束代碼和程序結(jié)束字
# c( t; n& y" d( w: p& o+ u符等是否完整等等,。通過(guò)詞法和語(yǔ)法檢查指出錯(cuò)誤發(fā)
/ s6 l& k+ k/ ^+ ?4 N- ?2 f生的位置,給出錯(cuò)誤的原因,。使得虛擬加工系統(tǒng)能夠
% s& [5 r$ W9 [, x- t% p! O輔助用戶(hù)學(xué)習(xí)NC程序的編制,。
4 h9 |& y4 Q( @9 H6 ?2 `* o+ ^( f- M2.2虛擬車(chē)床本體的搭建 ; W2 z3 Y8 W6 B; M9 p4 N* {! S' U
在數(shù)控加工幾何仿真系統(tǒng)中,,首先要建立虛擬加
3 y8 N/ H) t6 X% `- O工環(huán)境,,實(shí)現(xiàn)虛擬數(shù)控機(jī)床。由于機(jī)床是由許多零部
3 [' U0 m& J1 J9 s( x- |件組成,,結(jié)構(gòu)較為復(fù)雜,,用OpenGL函數(shù)進(jìn)行造型工作
: @/ e7 x# {- j } B量太大,故先在CAD軟件Pro/E中造型出數(shù)控機(jī)床各個(gè)
& \, {$ J/ a' c# o) q, o7 t3 A零部件,,將其導(dǎo)出成標(biāo)準(zhǔn)的三維數(shù)據(jù)格式STL,,在程序 ) I N! s1 {/ P4 ]
中直接讀取STL文件,并將其裝配起來(lái),。在繪制機(jī)床時(shí)
- H- q5 w9 |! b利用了OpenGL顯示列表技術(shù),,將每個(gè)零部件都生成一 3 P; J- B8 P3 O7 c* e6 ?
個(gè)OpenGL的顯示列表,這樣可以大幅度提高重繪效率,, 9 T' z/ `) _' H, K6 b7 K
滿(mǎn)足實(shí)時(shí)繪制的要求,。圖2為虛擬車(chē)床的效果圖�,!� " O2 t$ q1 C* D# B4 \% ^' r( v+ |
; J! A2 x- A1 u8 P9 c2.3 數(shù)控加工過(guò)程仿真實(shí)現(xiàn)
! y6 h5 ]7 \, P5 j 數(shù)控車(chē)床的毛坯常用棒料或鑄鍛件,,加工余量較
1 w/ W- v0 n2 E8 h1 t4 ~大,但加工的零件形狀較為簡(jiǎn)單,,一般都是回轉(zhuǎn)體零 " F* S0 o% a4 [$ S/ E D
件,。為了避免材料切除過(guò)程中毛坯與刀具運(yùn)動(dòng)形成掃 \0 V7 U3 I+ |; g, v
掠體之間耗時(shí)的布爾運(yùn)算,將毛坯沿 Z 向進(jìn)行離散,,
. c3 T6 |5 s- B7 e$ s將毛坯離散成單位高度的小圓柱,,每個(gè)小圓柱稱(chēng)為一 % y7 B. P! h7 j1 }3 c
個(gè)薄片,每個(gè)薄片的厚度根據(jù)精度和顯示效果的要求
( ~# d6 R! j; `5 [來(lái)確定,,精度越高,,切的越薄。每個(gè)薄片的數(shù)據(jù)結(jié)構(gòu)
% ^+ ]0 S3 G& O, h- l- s( X$ Y; g如下: ' r9 |' Y( R8 p( ~* U w
struct PieceCylinder
8 l4 _. V( ?+ w, \1 N9 Y- u/ \8 c{
% [/ Y+ g; p, E! w( F: \/ Sdouble m_dZSt;///////起始 Z 坐標(biāo)
& z" |/ u% q' E' n" n, F+ mdouble m_dZEd;//////結(jié)束 Z 坐標(biāo)
1 F) @+ C; ^ B& k" z$ ~double m_dROutSt;////外圓起點(diǎn)半徑值 # `1 u$ `1 y6 ^( [) L3 K
double m_dROutEd;///外圓終點(diǎn)半徑值
" Z, K& K7 {- p& Jdouble m_dInSt;///內(nèi)圓起點(diǎn)半徑值 , r5 |5 W; M+ o4 A# b- `' q
double m_dInEd;////內(nèi)圓終點(diǎn)半徑值
+ h& f0 w8 h+ z' nBOOL m_bIsDelete;//////該部分薄片是否被切除 % H7 P0 _1 P; D) t2 j9 x; q
PiesCylinder* m_pNext;/////下一個(gè)薄片數(shù)據(jù)
7 S8 U. F V3 K F' V' `8 I}; / y3 @& [+ }, `: D/ u
由于車(chē)削加工的回轉(zhuǎn)體常常有內(nèi)孔,,車(chē)削時(shí)也可
3 Q6 \ |. E. W' {7 `9 w能進(jìn)行鏜孔和鉆孔操作,,因而每個(gè)薄片不但要記錄所
; `: G8 F% I3 g Q在位置的外圓半徑,還要記錄內(nèi)孔的半徑,。為了光滑
4 J8 s2 b/ I: ?& X4 Y7 i的顯示加工的復(fù)雜回轉(zhuǎn)面,,如圓弧面、雙曲面等,,每 0 ]- h/ S6 {+ W& ]' O3 u U, `
個(gè)薄片在 Z 軸方向分為起點(diǎn)和終點(diǎn),。其起點(diǎn)和終點(diǎn)處 & ]2 L# k: I+ X2 K z" F
外圓、內(nèi)孔的半徑根據(jù)加工中的刀路軌跡單獨(dú)計(jì)算和
8 i5 {- I- D" U" A: |" ^存儲(chǔ),。
6 Y0 R1 o/ c& K$ Z# {) i' ? 在車(chē)削加工過(guò)程中,,一方面工件繞其自身的回轉(zhuǎn)
0 a/ Q: L, ?3 g3 a軸高速旋轉(zhuǎn),另一方面刀具在工件的軸平面內(nèi)沿 X 軸,、 ! H' ^" p0 ~4 d: O1 {& s9 w+ Q( i1 J$ c
Z 軸運(yùn)動(dòng),,并逐漸從工件上切除多元的材料,加工出 ; N8 y: W# @4 W
所需的外形,,每一步刀具所掃掠出的均是一個(gè)多邊形,。
3 U ?0 S7 G& u1 R# o根據(jù)每一步的插補(bǔ)指令,求解出該步刀具所掃掠出的
3 A0 C) H, U7 u/ g( j4 s8 G; i2 I& Q多邊形,。將刀具掃掠出的多邊形和離散后的工件模型 * y- n0 }# O8 l' m
求交,,并相應(yīng)修改工件上所有和刀具掃掠多邊形相交
2 r: e! |2 D, A8 ]8 n+ x8 ^部分的半徑值,。將修改半徑后的工件重新繪制出來(lái),, 9 p; [. N7 J4 v: `& r
即可完成仿真過(guò)程的實(shí)時(shí)繪制,。
8 Y% U9 b/ g! r% U# p3 運(yùn)行實(shí)例
$ Q$ ]) v6 h4 [3 J; U! d 為了驗(yàn)證系統(tǒng)的仿真效果,進(jìn)行了兩個(gè)加工實(shí)例
" L. W: ]+ p' d+ n4 c研究,。由于固定循環(huán)的實(shí)現(xiàn)比較有代表性,,故這里選 / Z3 g1 f& Q7 u6 P- i' m
用固定循環(huán)來(lái)進(jìn)行研究。程序O1234是G71外圓粗車(chē)固 , h9 I3 X8 ?& @8 z8 I
定循環(huán)里面包含G70的精車(chē)循環(huán),,程序O1235是G72端
l; t% m2 f5 N5 C9 _面車(chē)削固定循環(huán),,圖3為G71精車(chē)后的效果圖。圖4為
* M% t6 ?9 [* O" v8 X( H. {( NG72粗車(chē)過(guò)程中截圖,。 3 _& e/ N- j* [0 g6 N( V
O1234
$ _" _6 S \: J; XSffice:smarttags" />1200M3
7 l6 ~4 I; F8 r( _& v( m! qT0101 : q, b$ E# s$ k- P- I- i: S6 ^
G50X100Z50
5 M: @7 C# j. ^. {& H+ \# `G0X80Z5
1 b( [) O* k6 ^7 M" V' MG71U3R0.2
8 V4 Y6 a6 }5 G: `G71P00Q60U0.2W0.1F200
2 a/ D0 r- v9 e& b! v, S2 ]2 ]N00G0X6Z1 , |+ I! G- H+ G1 Z9 ~+ m. Z
N10G1X10Z-3
0 S M3 B: K6 I4 j$ Y. ^2 A% ~5 [N20G1W-15 $ f$ A0 m, v# l! I
N30G2U30W-15R15 ; `( @: L& P/ I8 e/ z+ `$ b' [
N40G1W-30 1 M- X: e; N7 j# t# g/ o
N50G3U30W-15R15
2 ~: k. L6 [7 |2 PN50G1U10W-10 1 E0 Z. t0 O2 P$ z, O
N60G1W-70 1 c2 o) e5 ~2 m" M: R6 ^! _
N70G0X100Z50 ( F: t0 S+ ]3 r. m, o# b: L
G0X30Z5 8 B1 O* i) y7 t! [
G70P10Q60 . c; e. [1 Y S# m! `, P2 b& B( l
G0X120Z20 0 h& {- m" r5 |9 t9 B+ E8 Y
M30
3 w9 _- y \% D- S0 A , Y6 s6 }" C, i, A \
O1235;G72橫向切削復(fù)合循環(huán)
: Y' y9 d7 G- E4 {- R9 N* ~) f4 xS1200M3
: @. }$ s- u6 x, C, t0 A7 JT0101 7 d1 U& c. n* g* ~+ l' R% u7 h3 ]
G50X50Z50 . k6 `# N. M; R8 n1 t- A
G0X32Z5
! F, E/ B0 M! p( A% VG72U2R0.2
5 N% o$ n. a! l, BG72P10Q50U0.2W0.1F200;呼叫子程序
; B6 s% w9 ]# o7 J/ _1 fN10G0X80Z-80
! n6 }. b, c# \% [N20G1X60Z-70F100 * E) {+ Y. R" Q) o/ }# j
N30W8 $ ]$ \- e9 y8 p T6 v& Y
N40G3X30W15R15
& }2 X+ t8 i8 cN50G1X18Z2 + l: }* w! a! f) S( V
N60G0X100Z50
; ~7 g i; h6 {, C( m, @G0X30Z5 0 s# w& c6 A+ w6 U l- x
G70P10Q50 7 [9 K$ O5 L3 a
G0X100Z50
1 s1 _+ Y3 n' w; K' ]& MM30
H* X# S- B: y9 K* ?7 R % @- c9 y+ d6 x7 x3 h
4 結(jié)論 ) C' F1 T# F3 _5 z! y; x' K
詳細(xì)介紹了車(chē)床虛擬加工系統(tǒng)的一種實(shí)現(xiàn)方法,, ! z- N o; { C7 p4 F3 [3 k4 k7 J
并采用這種方法實(shí)現(xiàn)了車(chē)床虛擬加工系統(tǒng)。該虛擬加
3 B- I+ k& p" Y工系統(tǒng)可廣泛應(yīng)用于真實(shí)加工前進(jìn)行仿真試切,,在工 9 b4 e/ E( N0 b' B
業(yè)培訓(xùn),、數(shù)控教學(xué)等行業(yè)中,具有廣泛的應(yīng)用前景,。
3 V1 @! _; R5 B, K# t4 y0 C/ U |