机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3690|回复: 0

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

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

引言 fficeffice" />

2 r, V$ |" [, ^

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

6 S- R& v. t v4 K8 v- L6 F0 }

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

* z5 o; ~# A% ?- [5 S, J$ e

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

) Q8 r" C5 u0 Z6 B$ N) S/ C3 [

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

+ i* h M: Q* e' e

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

# p- V6 n5 y' ~! H1 E+ \

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

) z7 [1 X0 R0 N& L5 p$ p

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

; E2 B$ c% \$ o* d; r& Q6 A. J

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

l! k3 u* t7 n" t1 e% T

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

/ g' h% \0 W& F

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

; E) q- }) G- `1 }; x- f! [1 Y

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

+ w- ~+ h r( c

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

6 Z) @. f5 H. { n0 J

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

, H9 ^1 w' t$ C5 ^/ r& N' o

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

/ Y; A; t1 J6 O9 p3 T$ r

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

- _' P# b% A0 s7 A+ [

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

- C9 @, D6 C: n+ A' w l! R R

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

& f, G! R, l1 U9 v! G% h; I

系统总体结构 

7 Z3 Q8 a3 V( q; Y* J X) K

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

! _# R3 K, r4 ~% v. D

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

$ }' n P- @, W9 D8 t0 i

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

- F; o' M# [& n' C/ M

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

9 D" {0 Z' a% y* n5 X, \ O

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

" @$ A3 ^- O% {/ I" ^# N

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

- B [( k, V9 B2 _. f

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

2 D! O0 z- t; K. D

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

) D# o. i1 }; q2 `" _

确性。

; ?2 g d/ a" d# v8 Y" H

8 u: {& i3 `# l }7 a a

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

( y) A/ Q, C8 y9 ~, I; o

系统功能实现 

! s N% o9 [% }. N

2.1 NC程序编译 

/ O. j1 M1 y) Q" V% D

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

, }( h% j6 w' N1 p; Z

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

: j% ^( i L0 L7 K. E0 r5 [. H3 h

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

: r ]$ `1 @: C. A

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

5 W) I1 E: _: g ^" L2 S0 K7 T

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

& |: ~0 x; [ g0 z( _: v7 R2 A

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

; E& C4 y8 f1 p/ D8 k

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

& s/ e, P* R4 U* Q

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

8 U. @" D- ^( @& G: r5 p

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

: M" F7 W) Y8 X1 C+ d+ b

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

' b8 x/ p" M$ y

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

B9 n7 }: a& t7 K0 z# [6 d

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

& ~$ U4 Q2 g) Q9 E8 ?0 c

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

# K( m9 j2 X5 W

2.2虚拟车床本体的搭建 

, @2 c' E5 Z9 l3 b

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

! B9 G5 X1 m3 w* g6 T$ T

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

4 E7 @# b! T' O8 H5 N( Q

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

+ M+ c0 X0 S( v z

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

7 W7 f; J1 o- B, Z

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

, Q7 v0 r' q! u8 b

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

) C( G. B) z5 i+ p& t

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

2 o! K' I& ^0 R9 l9 n2 g

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

$ `# C$ G# R' v5 M- |. r* H2 q

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

1 L9 p# n4 {9 ]9 [

/ j* q0 j b# \$ _

2.3 数控加工过程仿真实现 

1 Q" M0 i% O% f6 ~6 C. B

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

6 K" |( u$ m0 K( Y2 X

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

# m9 c) k! E, D: w6 v# ^1 t3 M' R

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

|2 ]: x q# w/ X0 c

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

2 u I& F- w0 A

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

% B! [7 Y; v' x& Q; `+ j5 j

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

/ c9 u$ V X1 e+ V

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

Q4 C M' o5 [7 d6 }

如下:

) y0 U% h" ^/ h, Q

struct PieceCylinder

o- F0 e) u7 u' f4 M7 v" r0 T

{

) Q' l/ {* G! r1 H; U, \

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

3 ?, }( t1 P1 ~, y1 x

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

8 k5 [2 e' ?4 B2 O

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

- E* U1 }1 s$ i& h* T) x( |

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

7 b+ A% H2 V7 c1 @

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

7 Q+ `/ T) m& {5 \0 j' ~

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

6 h' \8 M& {4 d+ o K7 p1 D4 h

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

! }9 K0 _( Y4 p6 d$ a

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

2 y( N6 Z7 z* J" c

};

: a( A( M# T2 P$ u5 g: {

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

1 L( Y6 K( T6 j% H

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

0 P& G3 P6 E3 k2 o) Y6 o' H

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

' X" P3 z+ z5 {% @3 I& O1 Q

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

3 \# r4 W8 ?" s8 [" p

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

( c; Z. _; D+ d2 h. G' h1 e

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

0 i9 J9 w/ V1 S5 d8 F2 y; {0 o. X

存储。

4 J* T( {+ c) n5 P: J# G

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

, Y0 ^' Q* Z1 ~% z

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

, h/ O$ \3 L+ \* d

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

3 S( n/ b8 }: I' ]! T

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

+ R6 |4 D! h7 D" s* J- m. @6 I* @( Z

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

+ I: h; ?4 F6 ^' n

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

7 x$ E8 U! i: o

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

5 {. c, c. Y! S; r

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

* v$ p# Y8 o) y2 \/ i: ]8 |: \

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

: s/ n" ?4 R* i. @4 _( \( n& ]4 Z

运行实例 

+ f. G/ A% v2 f) i

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

/ p2 U. d9 v% g7 e2 ~

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

* ~9 [& ^* Y0 C% N* D! {) G( W

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

- \( |& ?' ~2 L: b

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

$ U1 U3 x, e5 C; ~* K, D: e

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

7 Y) w1 E% H# ?/ H( P( B4 {0 t$ z

G72粗车过程中截图。

; n0 X% ]: m3 O' ]8 Q9 [ Q

O1234

7 Y' ^4 t: @# }) [

Sffice:smarttags" />1200M3

: \: d6 H! d. m' u4 n* u, k: R

T0101

9 Z1 s. T" A4 Q9 k N2 w3 }, K

G50X100Z50

' P+ P: I- d7 N" a0 u5 A

G0X80Z5

1 w5 V& E2 ] q3 E7 M* y5 m2 {

G71U3R0.2

% Z9 q- H$ c7 H' Y! j" B+ L

G71P00Q60U0.2W0.1F200

6 O3 R3 g7 Q; t7 o5 \

N00G0X6Z1

2 G$ ] s; X/ Y

N10G1X10Z-3

3 s( ?1 O, Q" U# [! z9 h

N20G1W-15

3 X1 X }0 o9 p) @: E; ^# t

N30G2U30W-15R15

* W2 S, D1 `: P0 W; C: Y$ w

N40G1W-30

$ B% }) e v+ Z: w1 h* S

N50G3U30W-15R15

3 P: P4 z* {4 W

N50G1U10W-10

: W4 @: W( x5 j1 d7 D8 |2 W9 o

N60G1W-70

4 g2 w4 R0 {. Z, ?

N70G0X100Z50

$ h% J% v7 ]% R1 o: S8 H( c

G0X30Z5

Q+ k0 l( R' d! s0 `6 ~/ f

G70P10Q60

* m3 c3 M& n& g4 M2 s+ B K

G0X120Z20

+ a6 x i3 b/ V, v% y b

M30

; \$ ~$ H# n' J/ M6 l6 e: M) }3 o# p4 c

: F: y* Q' U$ H7 N

O1235;G72横向切削复合循环

! b3 L) j2 K+ A% m m5 ~ ?

S1200M3

7 w' C5 ?( Z @8 E+ C7 J

T0101

# o6 E( A3 t4 {- m, {# L1 Q

G50X50Z50

! W9 t/ u% {& L

G0X32Z5

4 h7 h7 ^1 A5 I4 j* |

G72U2R0.2

$ S' D2 w; r5 x# _* F2 a! g

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

# @4 a3 J, H3 q' O! K2 S6 Y# q

N10G0X80Z-80

) z# X7 a1 ]1 n7 I1 Y- a

N20G1X60Z-70F100

% y5 p/ Z/ i: E9 I+ Z$ \( n! U

N30W8

/ k' S* Y" g3 l

N40G3X30W15R15

" g' }9 E, ?5 v$ P6 s- l0 F

N50G1X18Z2

8 ^, W7 ?/ u/ g+ M$ B! A9 w2 F

N60G0X100Z50

5 h$ Q. ?6 W" B4 u. d. r

G0X30Z5

0 K: K/ j; A# T6 b" A

G70P10Q50

% ?3 q K+ Z8 n5 G+ O5 ^3 j J3 Q

G0X100Z50

/ K9 J& M, n" V& w) x5 }5 b- ?! B

M30

x: b2 y* E+ B8 o' U

3 v( I! ?% S6 z7 D

结论 

, G( `/ s& q9 c7 Q% h4 r: B/ D

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

5 F: F. E$ C# P+ X5 T# A- E

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

; u7 T% h1 B' n3 K0 s

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

7 L& u+ f5 h& E" B3 [8 f$ L

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

$ d2 y3 R0 h' y

 

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-29 23:18 , Processed in 0.059899 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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