机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3822|回复: 0

车床虚拟加工系统实现方法研究

[复制链接]
发表于 2006-4-28 09:29:52 | 显示全部楼层 |阅读模式

引言 fficeffice" />

+ z0 Z- V8 @4 g3 S/ B

    虚拟制造(Virtual Manufacturing VM)技术是虚拟

& d% Z5 z8 d( n2 [" L: d

显示技术与计算机仿真技术在制造领域的综合发展和

# ^/ L( o4 H. U( C

应用。VM 的实质是“计算中的制造”,即在计算机中

2 ?' e& l5 F3 I" z! f

借助建模与仿真技术及时地完成制造全过程的模拟和

: {2 I, Y6 T) [7 \/ M4 e: X1 c

示范,并预测评价产品性能和产品的可制造性。数控

# ^5 Q) x' D5 }; V6 e" y

(NC)车削程序的编制过程与工艺过程相似,都具有经

9 o' w6 @3 ?% }

验性和动态性,在程序编制过程中经常发生错误。为

4 x: d z5 y. [. P6 E' k

此,在数控机床上加工零件之前一般要进行数控程序

6 g# M2 ?5 @1 Z8 R p" o

(NC 代码)校验,并进行首件试切。但这种传统的试切

: e/ z& k, s: F% P# x, }

方法来检验刀具路径既费时又费力。随着数控编程技

$ G2 K+ u' Q* \6 G

术的发展,人们采用视觉检查 NC 刀具轨迹的二维线

6 F7 y0 w5 [7 R0 _, p; o

框图,这种方法主要依赖于程序员对易错区选择的判

2 P/ p$ e9 n1 ?( [: F( \/ V) \

断和对该区域复杂的刀具轨迹线框图的理解程度,一

0 o$ U* R! v7 p9 q9 j& k+ A3 `5 U

般的用户无法判断其正确性。通过数控加工三维几何

( n: m7 e- }: X/ ^% ?2 [

仿真能够使 NC 编程人员和机床操作者通过图形显示

5 }+ B. y# A8 G0 r

进行干涉和碰撞检查,校验数控程序,故可以大大减

* d* d/ y g: L/ D

少上述情况的发生,提高数控编程效率和质量。

# ?4 Z5 p) U! {% c1 D

系统总体结构 

7 ]( y( l$ S1 `5 Z

    由于OpenGL适用于多种硬件平台及操作系统,其

! k; E* r7 M! k* S% D; W2 ]: u; o3 ` ]4 N

图形库能够制作出高质量的三维图形和高质量的动画

7 W0 N/ O4 I& X1 I

效果。因而整个虚拟加工的3D显示引擎选用OpenGL来

' m( Z* d, ]3 P6 g

实现。考虑到Visual C++功能强大,开发出的系统执

$ w7 E' }; ^+ _, P$ H3 l

行效率高,且便于控制OpenGL,因而选用Visual C++

; U! s* E0 a$ W6 @/ K; `3 Z8 R

作为整个虚拟加工系统的开发工具。通过对数控车床

4 q- p) R# a7 |! p

及其加工过程进行仿真,动态显示产品加工过程和结

$ a0 Z' V" r7 g8 X3 X' [! {9 ~ J

果,以实现产品零件的虚拟加工,并验证NC程序的正

3 l) g* S7 z, R+ ?. J$ \

确性。

, v3 K+ N- n9 z: y" w

) I7 r9 ]2 W7 ?* \1 \9 C+ m( a- ~

图1为系统的设计流程图。 

) A) X/ `- F& @0 F& a! C. I: O

系统功能实现 

! [9 l/ K3 @8 Y

2.1 NC程序编译 

8 ?9 Z! M) z6 |( ]2 D) o

    由于虚拟加工系统主要用于工业培训及NC代码的

+ d' g, `: q3 I8 O" U- Q+ z

正确性检查,故要求系统能够在加工之前通知操作人

" f: W x- U2 G; r ?' U

员NC程序中是否存在语法错误,上下程序段间的逻辑

8 c0 f; l* K& a9 o8 J# W

关系是否正确等,故选用编译方式而不是解释方式来

% c# h0 e G" J; q

NC程序进行编码。根据编译原理的思想[1,2],构造出

l" S9 o: k5 v1 M

NC程序编译模块,对NC程序进行语法和词法检查。

& ?% J6 X6 `6 i( X. o! c+ D

比如检查地址符字母是否大写,上下程序段之间的逻

% K$ d) @: j/ t

辑关系是否正确,圆弧的终点、圆心、半径值等是否

- F8 n1 M, F5 N& U, _ D: Y# Q: |

匹配,子程序调用时子程序号是否正确,程序开始字

/ W" n+ S; s/ n4 t/ K+ t" Y

符,程序号,程序主体,程序结束代码和程序结束字

; |+ w& b% ^+ @6 \4 d

符等是否完整等等。通过词法和语法检查指出错误发

) {9 S ^+ {1 O, A

生的位置,给出错误的原因。使得虚拟加工系统能够

4 H' A- b8 B' C0 u6 @" F

辅助用户学习NC程序的编制。 

; d; G' \1 p. ~! v

2.2虚拟车床本体的搭建 

9 ]# N* B2 {, B

     在数控加工几何仿真系统中,首先要建立虚拟加

/ i' U% P5 ~& s* J& W% A

工环境,实现虚拟数控机床。由于机床是由许多零部

. Y+ k" }1 ]9 v, q3 L; Z

件组成,结构较为复杂,用OpenGL函数进行造型工作

, @$ |. V+ c4 `1 z1 J! k

量太大,故先在CAD软件Pro/E中造型出数控机床各个

! b0 I& S0 u; Q9 i, D! c0 q h

零部件,将其导出成标准的三维数据格式STL,在程序

- j. o8 x2 |$ m; R: w& x( k

中直接读取STL文件,并将其装配起来。在绘制机床时

- {: l0 d' R' `. ?8 J5 G0 v$ a

利用了OpenGL显示列表技术,将每个零部件都生成一

1 Q X# J, C; p V) f9 O+ J+ u3 t

个OpenGL的显示列表,这样可以大幅度提高重绘效率,

/ i; f8 I/ K4 N5 z! P& }' U

满足实时绘制的要求。图2为虚拟车床的效果图。 

. U- i3 w' n n( f

3 i! ^, E" |0 U* L! z

2.3 数控加工过程仿真实现 

9 V$ j/ H. [, x8 _. v

     数控车床的毛坯常用棒料或铸锻件,加工余量较

/ Z2 y% d5 ?! H6 r: d H3 {

大,但加工的零件形状较为简单,一般都是回转体零

. D9 T0 W% J6 L3 D9 B7 G0 ~" U. N @

件。为了避免材料切除过程中毛坯与刀具运动形成扫

2 v3 W0 \* W/ f0 K$ g+ y

掠体之间耗时的布尔运算,将毛坯沿 Z 向进行离散,

$ `) }2 l* n2 N

将毛坯离散成单位高度的小圆柱,每个小圆柱称为一

5 K& a2 Z: Q/ p+ v2 n- h

个薄片,每个薄片的厚度根据精度和显示效果的要求

4 s# D9 ]- N3 d0 |& S

来确定,精度越高,切的越薄。每个薄片的数据结构

; Z- ?% e4 d- q- g& g

如下:

* O- s( v1 D: A: u

struct PieceCylinder

1 [: C/ s2 }- E0 R2 K

{

; t# W& M, Y8 p( ~

double m_dZSt;///////起始 Z 坐标

: Y8 X. ]2 n T; T0 `6 U' h

double m_dZEd;//////结束 Z 坐标

$ P1 N# ]# N, u7 {

double m_dROutSt;////外圆起点半径值

" U/ P4 }9 d- J- J( k: \

double m_dROutEd;///外圆终点半径值

5 Z2 Y$ X- O' s# ~7 s! y3 z1 |4 `* I

double m_dInSt;///内圆起点半径值

1 F) t8 c7 ]5 }4 l/ ]# f

double m_dInEd;////内圆终点半径值

4 }3 N( p3 f, l" K* `

BOOL m_bIsDelete;//////该部分薄片是否被切除

/ N a# k2 L8 e

PiesCylinder* m_pNext;/////下一个薄片数据

9 e! j0 C/ a7 A4 r9 I/ _

};

. w: ^* x5 G7 R3 e* Z+ Z

    由于车削加工的回转体常常有内孔,车削时也可

; L% A: f( ?; P' [/ r

能进行镗孔和钻孔操作,因而每个薄片不但要记录所

5 x0 S" X) p+ O/ [* J# v/ B

在位置的外圆半径,还要记录内孔的半径。为了光滑

2 S- x# Q" A: o4 `; b; y8 _+ h

的显示加工的复杂回转面,如圆弧面、双曲面等,每

* b6 W/ U# N" |

个薄片在 Z 轴方向分为起点和终点。其起点和终点处

- b& j; T" M* z- e( B; B

外圆、内孔的半径根据加工中的刀路轨迹单独计算和

; M2 S" ~6 v2 L$ D, h/ `3 F

存储。

+ v7 @* Q0 V2 |* j. Y: I- O1 `) \+ j

    在车削加工过程中,一方面工件绕其自身的回转

4 a* ~5 n4 _& E6 R5 J8 Y5 V! T* t

轴高速旋转,另一方面刀具在工件的轴平面内沿 X 轴、

, }! J. I( n1 X7 d# R

Z 轴运动,并逐渐从工件上切除多元的材料,加工出

' d- @. X: M$ S) I' d% @! o

所需的外形,每一步刀具所扫掠出的均是一个多边形。

6 b: B9 ]- m6 W& O4 I0 o. R; q& K

根据每一步的插补指令,求解出该步刀具所扫掠出的

1 ^; E6 U7 @1 u; O

多边形。将刀具扫掠出的多边形和离散后的工件模型

& u7 H- j! \8 d

求交,并相应修改工件上所有和刀具扫掠多边形相交

% k# f, F& ?. W, J9 l8 ^

部分的半径值。将修改半径后的工件重新绘制出来,

2 j1 @0 `) u& x) Y

即可完成仿真过程的实时绘制。

$ n: Y, ]( v* `1 e4 e1 V: Z1 ~

运行实例 

' M* M. W7 M3 f2 E2 W+ I

    为了验证系统的仿真效果,进行了两个加工实例

3 ?' u4 Q9 Q& X% H+ u

研究。由于固定循环的实现比较有代表性,故这里选

# V; P* m6 W8 |6 S0 N& J% c/ n9 S

用固定循环来进行研究。程序O1234G71外圆粗车固

/ p9 u6 u' R3 q5 G, b

定循环里面包含G70的精车循环,程序O1235G72

. ^# g4 c O* [6 G2 o

面车削固定循环,图3G71精车后的效果图。图4

7 W% e, K j: r' \7 p

G72粗车过程中截图。

& g* w9 l7 V9 \2 E3 Z" q! E" Z1 h

O1234

6 f, z# E5 u& \

Sffice:smarttags" />1200M3

, |% l7 @ t6 t V8 {. P

T0101

9 c1 N( N% t( N% [

G50X100Z50

" H' n# K: T" ]

G0X80Z5

; {9 u7 r1 k1 o: R

G71U3R0.2

; z) m; I5 X, Z1 L

G71P00Q60U0.2W0.1F200

, |* t: N" _3 g0 L, U$ Q8 L

N00G0X6Z1

4 A- O5 ~) y" R

N10G1X10Z-3

# y% F) f' f' i) `" q/ {

N20G1W-15

7 ]6 H z+ k( Z, `2 h8 I

N30G2U30W-15R15

* p O) l3 g3 ?2 A$ {3 x$ M

N40G1W-30

2 [" S t: p& \1 u8 X( e

N50G3U30W-15R15

3 ^- f% |5 n( v* c. i

N50G1U10W-10

& P w0 d9 ?7 T0 z

N60G1W-70

& Z, z; Y' `( R1 S

N70G0X100Z50

2 s& N: u: w5 C/ ?0 E; A; R. P F

G0X30Z5

/ w$ L1 x! J3 `

G70P10Q60

% G9 r3 x2 z. r6 D! a x1 r1 f

G0X120Z20

1 j- i! |! H" p/ a9 o6 f2 `3 V

M30

6 y$ N( }( J3 V8 k5 `

# c5 @: _5 @, y: l1 s; g! Y

O1235;G72横向切削复合循环

: ~9 M M0 ?4 }1 D T. \( a; q

S1200M3

, @! W0 _- Y. n/ x$ d

T0101

4 c! u! [) O% }: E; c: x! `

G50X50Z50

& E$ t6 i0 B, Z; T) T& t2 @

G0X32Z5

2 g: V, K! \0 |1 t: T: j

G72U2R0.2

4 K* d3 n* k5 l0 D7 c& |

G72P10Q50U0.2W0.1F200;呼叫子程序

3 _' [* Y; |" o; ?5 S

N10G0X80Z-80

4 O" \' a% J' J Y$ e1 w& R' H7 |! _

N20G1X60Z-70F100

4 Y v$ W6 j) b6 ~( y

N30W8

{$ D( B& S' o# R* k) v- j2 Q

N40G3X30W15R15

# E% Z& W# F S% K

N50G1X18Z2

# C1 ^+ k& `. Z% w

N60G0X100Z50

9 x% L: Q. `/ F) W x

G0X30Z5

; X3 N6 u) v0 ]: d

G70P10Q50

2 ~$ O& D" k4 _5 v3 r: t; w6 Q

G0X100Z50

* d$ I5 ?2 f9 X7 X

M30

; Z8 m, P0 M4 |. ^$ F

) U- {! s5 W( `9 W( v1 L

结论 

7 F2 r& j* s# v# S

   详细介绍了车床虚拟加工系统的一种实现方法,

! F6 f: H5 D5 e

并采用这种方法实现了车床虚拟加工系统。该虚拟加

+ f! ?- a6 x- p" k* p

工系统可广泛应用于真实加工前进行仿真试切,在工

' s3 T4 ]' p. g4 C5 Z

业培训、数控教学等行业中,具有广泛的应用前景。

$ A1 ^! Y8 J4 d: J8 J$ S) h) S/ |0 k

 

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-4-3 12:03 , Processed in 0.062483 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表