机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3448|回复: 0

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

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

引言 fficeffice" />

. G% H3 {: A3 M4 M. g) Y3 k* W

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

5 p# O: V m$ Q6 a7 O

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

. }# ~' D9 m2 U/ r" V& `2 j

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

+ _( t% P8 P9 K( a* |& r

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

6 _, O$ H1 _4 s |

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

! t0 x/ y; z5 Q7 z* B- X0 q6 K

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

6 f( ^: x4 R3 v1 ^- T

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

- V1 y7 e/ B! I& o7 s* Z9 ]/ B

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

; n2 l4 [( m" Q/ M* W V, e& q

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

+ _* L5 c# K9 @( p" F. M9 o

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

) K/ M9 E* t) ]

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

$ `$ y W9 a* E3 O: \2 K/ W9 h

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

- u! ^! t% _0 F; Z* x' X! V

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

7 g7 C' {9 o: w7 s3 d

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

1 A( W3 t! a; P$ d

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

6 a; [( v. J1 k3 q# z3 m/ {+ `

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

( q* L; n- z$ c$ r2 O" v7 S

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

* U, h2 @" u R. U; l1 [, J5 t2 n2 a5 r

系统总体结构 

$ e/ J6 ~$ d- S

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

) S) `4 }( F9 v

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

* n# u' F/ q* l

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

! y; q6 N5 z3 b" a Q0 p+ D8 |2 U

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

2 J4 D4 v, j% j! F8 f; W: U! C1 H8 r

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

, [) ]$ X0 X" ^, C, [0 l* J8 P; J/ {

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

k7 a4 J" E7 A- d, H

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

: f' J6 j# t+ P+ M" V

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

' ~2 A9 G. u7 t$ h' g+ U6 H" P

确性。

, Y% z2 X! z2 \( E

# g/ k3 ~( \1 N, s3 I% O* x

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

, P1 G9 h2 C! Z( A

系统功能实现 

6 J; I' u+ H3 H

2.1 NC程序编译 

4 ? ~( h# Y7 l: H

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

. z& g" i: T* B6 c& i

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

( R' F L k/ F* |# a

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

; Q: G, g- c+ I" G

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

3 W" m8 |' d ?* O5 P x+ `9 ] H

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

v E+ t9 Q1 z. X% V7 N8 I

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

9 U- ~2 O( }8 I$ q

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

( F5 s# A* G& R( @# E

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

/ N' J; q# r# H3 K* _" t

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

. ?9 d% H [* q' c9 O& E% Q

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

9 Y+ ~" x" H" g& t

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

7 b! U, g7 z6 G# s

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

& h# u9 O# ]; r8 K) S, }0 i( ]2 R m

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

2 L5 w: ?0 h& p/ O' V( W6 c& X0 B

2.2虚拟车床本体的搭建 

) C/ q( i3 Z9 K/ i( H' u b

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

/ W5 d( g2 }+ C p% i) I

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

8 s$ i9 w6 q& {" G

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

- }/ U$ a# }( p p1 K! j5 ]) p& ]

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

! q6 D- M/ X# T# p

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

% m9 `. _) O' r3 A8 F6 L* B

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

! A" L) ~" a: n) H4 Y! L! a

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

4 C9 a% u7 B- V

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

( r" q% W. H f

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

" k+ b& {! N Y# ]9 v, `

6 A) n% }; `, a- Y+ G3 m) y

2.3 数控加工过程仿真实现 

p0 m/ o4 c1 P3 z: G2 W6 Z5 F

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

, [2 B2 A* Q+ i) R

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

) J* _: R; D" ?* b5 b q

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

/ e& A0 [7 W2 I9 D- ~9 ]- J! q

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

% F1 F. C- s5 e) m

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

; D& g" a; ?/ M! q b

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

. g) n3 k$ Y2 f7 p

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

+ @* g0 C: o5 r# t, o6 U+ A8 X

如下:

7 A4 P' d; Y. K$ Z$ t. `

struct PieceCylinder

4 N5 {8 W' X# j* }

{

" n6 S. y, l: b# i+ K- f

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

/ J' q$ f; t2 }9 B0 \$ B

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

+ N* s/ F# Z, ?, J* y4 m$ o

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

# F% X5 x, Z$ @) N: M2 p

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

; T: H# u) b! V. q% S) T

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

: Z+ I0 P, b- G8 i! Y

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

& H D: t$ p$ `; a5 ^! |6 ]& u

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

+ P# h! L* _/ n% n& G, t7 N. j& w

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

2 L/ {, s$ E9 D+ f. q" J5 k' R

};

/ u4 e7 m1 c6 B( d0 @. n3 n4 A% p' `

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

# g% g! d& Z) v6 U% l `

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

; ]" h$ T4 e; p: Q

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

1 B4 D4 z9 o* G) \; A) s4 B

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

- w, i0 G) ?5 [

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

; ?# ]$ ?& t4 `* u# Z

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

' N) I( K, ~( s% }( W; E

存储。

' Q: ~9 l1 K: t j4 s

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

7 Y8 R% P: J% J. ^6 `; u2 f+ ~6 e3 D& Q

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

% e3 F9 T, b9 H2 K0 _9 B+ E

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

. v0 P3 N0 `- C- I: P- ^

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

i C5 i$ G! X& _. b6 ]/ v

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

) ~4 p/ o; Z3 _: @( H7 [

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

% A7 u8 a: @ e% K& X5 k

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

$ i& Y7 }* s9 V7 ~& W

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

5 N2 H. u* T5 ]0 {

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

, k1 U' B7 w* z- E3 o6 u

运行实例 

5 T0 S( c+ P( I/ I: {

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

^8 k Q( Y0 N) K8 U% X9 b0 k

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

$ g" Y) e1 e1 H) z) H g0 j

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

7 t0 s( ^- V# g7 [) i# c" Y

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

4 p# B' d" Y; d" j% e

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

: v) f4 w8 i8 _$ g5 R: U/ ~& `5 H4 i

G72粗车过程中截图。

$ ?# T) _) A, c: a) u

O1234

) q5 s8 a( z" b

Sffice:smarttags" />1200M3

$ O3 S+ e, D/ C# }

T0101

. q9 I7 N$ g5 y' A4 l/ s

G50X100Z50

7 {- ?; \0 f# r. y! N* P) j

G0X80Z5

0 P+ N5 U- y4 r

G71U3R0.2

( U0 k7 t. ]6 P) a2 ?" P6 x6 |

G71P00Q60U0.2W0.1F200

. C, I+ o+ G' k

N00G0X6Z1

0 o# L, E; t6 @! N9 N

N10G1X10Z-3

* _' H9 R4 R' i$ j7 G% P

N20G1W-15

7 V4 S; O$ k8 A9 V6 C) n! y3 ?% v+ i

N30G2U30W-15R15

+ ~4 O W3 \. j; K# }" ~8 V" c0 N

N40G1W-30

2 H" v. u! V# j0 L6 [! D- y

N50G3U30W-15R15

* I9 |+ P7 @( q4 o

N50G1U10W-10

0 ?- m+ R$ E( L0 x) V, E! a. o

N60G1W-70

& A, R7 E$ j+ O+ F% b7 @

N70G0X100Z50

, Q7 m' x( }& E

G0X30Z5

6 F- p7 q. `+ U% H& D; S/ c

G70P10Q60

" V! i6 S1 [* k: x) `

G0X120Z20

. n' T* A, B5 r; T1 p

M30

) C3 O+ X9 x3 t7 a7 X

, @4 c, n& j' M

O1235;G72横向切削复合循环

* e. G3 i! v; E: p

S1200M3

' @ j# F2 U5 O: X H

T0101

6 B' N# x2 G! }8 }! G

G50X50Z50

, B9 E& Y& o0 x/ A8 p, z" [+ J, k

G0X32Z5

+ K: v4 O' @3 z' f0 L) j

G72U2R0.2

* Q; }# s- E% d$ b

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

4 u/ s- C4 ]+ ]) O9 Y1 T2 {; F

N10G0X80Z-80

9 \' J* v2 ~% @2 s5 K

N20G1X60Z-70F100

# @8 F( l6 z, {+ v. _) K8 a* h' e

N30W8

9 Y; l1 N- H s; q' W8 U

N40G3X30W15R15

% x; [& E" H' F0 T9 B1 r6 s

N50G1X18Z2

0 P7 q4 S9 ~- A. ~8 @+ V

N60G0X100Z50

1 U! O H4 \, c _: Y" ~

G0X30Z5

! f/ K# m% ?- C$ u! p

G70P10Q50

% x& |0 n3 }+ _, }' t: [$ |6 O2 K

G0X100Z50

0 k! Q' m5 o; ~

M30

- [' M) [& ?% F; Q5 P7 K

i" G# V, h7 g+ G2 q

结论 

' }2 r) J, x$ v% [4 Z6 `: _$ A: z! F

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

, z( ?$ J$ k" Y- w+ `+ j

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

5 Y9 z1 Z' \5 L4 U3 ^

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

* D: C0 m/ l8 {8 a g' W* ~, d3 y4 g

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

4 K# d( p5 F) M* W/ ~1 }7 I

 

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 15:36 , Processed in 0.092518 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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