机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3849|回复: 0

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

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

引言 fficeffice" />

$ _3 e3 a7 z) |* v2 z

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

1 s6 u+ A. Q3 `# g. M! j- ]

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

' g, P2 [0 [) }, u: B8 I* p

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

# Q( D" @* ~- x! E* y2 I0 e8 S2 \9 J

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

8 b6 u% k/ {! Y

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

+ _6 x( d2 h7 ?! W7 q( V% B3 I, g

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

( y& M. Q1 q: k0 v- I5 v

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

: k e2 O7 {0 v0 b5 t

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

( F! q4 P* }4 J$ U5 R/ J

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

6 k2 e1 W7 W: V& j

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

N7 \, _& Z5 n# @) B; A& g7 i

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

# J5 w# Z$ G( j/ L% a9 E- ~

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

, I _* `+ ?3 R$ i5 ]

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

& ]5 ]2 U+ Z) r( u) D' @

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

: E% E: b) ~- h/ X4 a% b8 v" M

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

4 ?% m. X) H+ R5 i

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

! [) S. r- t, P

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

2 U5 f, X m4 S3 E* T

系统总体结构 

. ]7 g( N3 d5 `+ T" l2 u

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

! Y1 R% d, O; y N4 V7 [, \

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

% p8 P$ Y8 L' X6 @

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

. R+ c( |$ p: U2 {! ]

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

. z& Y1 N; f8 d0 p3 `

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

, |( S) r4 J4 V H( v+ F

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

; n5 s6 o* _8 V7 ` P& ?+ w

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

% ~1 B' u) F2 g( X1 i0 o+ `8 ?' B

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

, ]5 S* p7 O: b' B3 X

确性。

1 F& }; C1 g$ ]

+ L# R# @2 X. Y/ d9 ^. R

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

' p2 p: q2 n1 c8 m

系统功能实现 

9 X6 l, P+ K, l4 K* I

2.1 NC程序编译 

) B0 @3 {& }: e2 e

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

7 \7 [3 I) T6 C% b( X7 s' u

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

7 G1 j3 A2 C6 p( c: c

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

# j/ {7 w; s* V

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

" `* o b3 d. z! i# K) ]' t) b

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

3 f. G+ \/ }8 A

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

4 h! w" g& k% s2 A1 O

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

1 L J n* A& j: ?6 L$ j# H

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

, c( {7 e& N, z

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

$ u9 o! x* Z, ?

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

+ D9 v1 s2 ~& N

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

4 G8 g5 H/ Y9 e% b! B, f

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

6 O, L; ^. x/ V! O- ] s2 c( c

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

, z0 {' P4 K" t7 X% T% F

2.2虚拟车床本体的搭建 

0 b+ Z5 W8 t, }: \+ Y

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

# @0 E( q0 z9 T" ]) A

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

# ?8 l7 D5 [% J. Q' v

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

9 z$ ~6 z4 j: o7 x& O& l

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

9 T$ L( ]8 X' L+ ]6 H

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

2 Z: i6 t2 l0 u) z

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

5 a. |, c4 D5 U- e5 \

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

% p0 P" F# X' h* C& ~! v& E" v

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

- H( B! E. o2 ^

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

8 J, e4 G4 O( Q9 M& p+ j! {

: q, [3 U% _6 U4 p

2.3 数控加工过程仿真实现 

" j3 X0 l) Y) D% D+ ]6 ~) `! g

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

9 c8 v9 T3 m$ q6 T; y3 r

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

5 g; z3 h, a3 N& A- T1 ~# B7 V8 G' |

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

1 W( \' Z5 c! R

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

5 X% s- z. v6 Q0 h: _: g+ H

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

; x5 J7 D( p, X( u/ y1 i' d

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

( T e, [; y6 U+ B6 u

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

+ r" u, G. Y" N# A

如下:

6 k# t% X$ x: U8 L5 q% G7 e( x/ _

struct PieceCylinder

2 {& j# S& ^) @0 ~+ Z1 H

{

* @( Z( O' i. q* \, y- d

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

# r! O% u# K8 J

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

. I& W, }/ E, [- g3 p: p

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

; N3 _4 J* _5 x9 f9 s, h2 O

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

5 t# W7 I! Y' p% @5 K

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

6 z" t- C1 N q7 }$ i

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

- J, w g9 m( v% p! s

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

Q$ @: i3 y( J. O7 v9 q/ d, m" ]

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

' K, D8 ?& Y! T7 ]

};

9 ~5 X0 d3 e% c$ q' q+ }* }0 N7 ~

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

3 O b7 ?8 f3 ]# T8 \& Y9 b

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

5 |9 A9 H, L$ B& M0 ^

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

% w) A) |3 U3 {7 c

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

4 W' [8 v$ z( x. X" S6 o

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

. K8 b* f# G7 d' F1 d2 F* p" X+ g+ ?1 E

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

8 t/ F/ N2 @& N# z0 ~) w5 s d

存储。

* C; ^, ~( L+ o4 t$ F

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

/ | P) t" `+ R8 u. F( B7 B, e

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

3 y i' ?& C. ~% O- f. S5 U

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

* o- W& A, n" k ?# w

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

0 r% u4 H. A4 @2 b2 x

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

6 M1 g* z2 {( z9 P( C7 M

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

2 s) e6 K2 ?$ @; B" b

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

6 ?4 Z4 {) `2 c) t7 ` ]

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

i5 A$ S0 A" w7 g v! x

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

8 F, P$ e- \. u

运行实例 

* z$ B' O; c0 N Q: s1 G

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

( E: B7 S! S3 h7 j! T. ?" ~; d7 Y

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

% S5 q! s5 r+ i* g0 \$ P! M, g( m

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

( I% q" Y- m2 w" o

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

4 j$ f' a, J' F' {

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

/ |8 m4 h/ U, O' }" a: T

G72粗车过程中截图。

& w" ^, U# {* x

O1234

& ]9 w$ D7 D3 J8 G x2 p8 N

Sffice:smarttags" />1200M3

8 E3 L6 |2 E3 r) I# f

T0101

, }# J( S$ F: M) `' K( n6 o# H

G50X100Z50

0 A) R |7 C; _( q7 W, C* r8 ]

G0X80Z5

+ K) s2 m$ h% Z6 g+ n) t

G71U3R0.2

- ], N: B, C" ]

G71P00Q60U0.2W0.1F200

* N; _0 j! ?/ i( _% z$ c5 L

N00G0X6Z1

# j! N$ n8 |; y& t% o' x) H

N10G1X10Z-3

/ `* v9 Z# W' k4 {# W* U% F. y

N20G1W-15

3 x# o' p" y% V0 J0 k% t* W! o# A

N30G2U30W-15R15

% p* I- R: Q# d0 |% O+ n6 g

N40G1W-30

$ s1 ]$ q0 K# E" o. J

N50G3U30W-15R15

/ c: V9 Y5 u2 Q. l2 V

N50G1U10W-10

8 u# U9 P/ |. z" O

N60G1W-70

. H& F0 g! {' ?& s" Z- {2 Q$ M

N70G0X100Z50

a9 Q; ]. j y" j6 j' d

G0X30Z5

) ^0 p! J8 j& o9 V2 F- u

G70P10Q60

5 _5 J* l, G2 a, B& w$ l

G0X120Z20

) i3 K7 g% k0 n' i" K

M30

$ n8 u* W+ ?3 c* L5 X, y

, ^* _, O( q( }

O1235;G72横向切削复合循环

* O: s8 B5 C X9 c3 b C- q- a

S1200M3

. l3 I6 p6 p0 k3 B3 B1 _

T0101

4 o8 n/ ?: L! M3 V. G% g) z, A! s

G50X50Z50

8 ^3 n) D8 ?9 h8 G% |% ]

G0X32Z5

& B' p- M! A" Z% M; e$ k1 j/ e- ~

G72U2R0.2

- m, `" d5 }- B: u" t% {% @* |

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

9 l& o Y$ |) C( ^, X2 t" m' O+ I

N10G0X80Z-80

: ~, e- O5 J, W y7 J: ?; R# T

N20G1X60Z-70F100

# c& ] p/ ^" ^' P

N30W8

8 F0 z+ U& M8 X0 {" W

N40G3X30W15R15

' f$ t& C- J& ~+ D& U- O

N50G1X18Z2

7 G M0 e* b- H5 E

N60G0X100Z50

; i8 V) ? P9 p. l7 D

G0X30Z5

5 f6 q# z- i2 K1 B, W

G70P10Q50

. S3 F2 j9 s+ K* D( }

G0X100Z50

1 n& E h e- t/ g

M30

/ y' E0 U8 A+ o8 ?

5 D5 q w; ?- Q6 E5 K

结论 

7 Z/ D Y% I9 C1 l4 u

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

! ~" O$ N) O2 W5 G$ N b1 O

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

/ p; l0 o& J4 o7 [4 A* J3 Q

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

, q" @5 M5 P9 H# [6 |" [

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

, q- Z0 S2 t, ?5 z& C; V

 

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-3 01:28 , Processed in 0.069912 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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