机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3777|回复: 0

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

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

引言 fficeffice" />

B' v% ~0 n- K7 n9 T

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

! |- ~# S' t! v# a

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

2 O f5 [) g1 t6 G

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

3 u0 T) S% G) w9 a# N4 Z+ E# X6 u

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

! e$ P% G* @, t; L1 D8 V. f

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

; @3 e3 U G& o5 U4 a

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

7 {" ]; f) o" T+ h! O+ c! B

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

" z+ T9 L; q5 Z/ ?8 ?

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

" v$ C/ v/ x. a2 {

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

+ R5 O. I: |8 r1 v' P7 E# u

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

c3 B0 V# q# C3 p& C5 }! y

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

$ e( b6 W6 N6 X5 Q, \+ }+ j

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

+ q/ B) j# R: k5 ^; T2 Z

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

) i( r% }7 S9 G4 r3 N

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

3 v( w4 [2 X/ z

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

3 w) }4 I# j' F( d: l

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

! N4 v: J2 {! a

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

6 O6 T4 A- f3 O( Q3 l' Q7 D' v0 y8 R

系统总体结构 

, I1 A& L& g4 i+ s+ t! l$ X

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

- B1 W& V/ S, v3 z: T

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

, v2 W% v% S; i% W. f

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

4 }' z$ `9 e, @6 ~ m

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

. v$ [) @- M C' j

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

; H, q8 h/ e, E9 ^

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

* m& m9 |/ d% _ h2 R: I& Q

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

\' ]3 x0 K9 M9 u

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

2 b# y+ w/ a" D; X. c3 t4 w

确性。

: P# n8 Y; Y; X6 F' m; y! u- x- p

: x9 N+ X3 \4 r% X3 [( a

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

8 y' W U% C% [' S

系统功能实现 

0 M7 w1 r" o: [. I9 |0 [

2.1 NC程序编译 

' M# H2 f8 _( L& `8 a1 U4 F; n

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

/ K( N7 ^( J" q0 D

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

J" q5 g# M2 H6 V* l9 d

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

* m% Q# c; S- x; ~9 m

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

' F" P4 I% Y, O+ [

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

% J- J4 l& j# u7 ?

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

5 D* @2 `6 i! P5 S

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

4 A* |0 c* x. ?. F0 ?

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

v* I! h- \' {% `: R: z

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

$ V M# `' D2 O/ F; S) r

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

) A) l: w9 Q M5 o. M w! M: u. W

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

9 F4 e6 N" e* P1 i1 ~4 @+ a

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

: P8 [ p) O& C) m1 f T

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

9 g; o+ m' ?+ K0 ^

2.2虚拟车床本体的搭建 

" |. X; U% O" V* R+ x

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

" @& V, A4 U7 p" |* a( |

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

0 d% h8 ]2 O6 F- F8 _, Q @

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

6 [ z; U6 v" C% c

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

6 O0 j8 U+ F: \4 B4 r

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

3 u( H5 s5 U0 H

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

% v, z. i$ t6 p% x% n

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

% [; O: F( R' E

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

. [- k9 l0 u. @: Z

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

# X$ [) V$ G! {

3 ~+ @- ?& E- a( k2 r. M

2.3 数控加工过程仿真实现 

8 b% u2 X" m' y$ b9 C0 V

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

" K. F0 u( ~$ D9 N7 ~4 V

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

( L& d( {) r7 |7 ]9 Z: ?

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

3 h( R" y \, A- p0 b# E! C

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

: e( a h2 o8 }+ i2 c4 g

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

0 @7 n @+ g% }0 N7 `, N8 \. \

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

y1 q; j9 D0 m

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

9 q- C V" L f- O4 M; b* `( }, b

如下:

3 Z1 a j: Y' {& r

struct PieceCylinder

$ e; F7 u2 A$ ~+ o" ^; i" x

{

/ U h7 s0 `" I4 \. S7 S* U, _3 H

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

' a, q# w, k' d- g/ M. D

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

& v# W2 b4 H/ I/ u% p/ h2 o+ F

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

( g% S& ~; a: i/ N' w

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

: c2 b" I% p: r/ _; ^

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

$ [( [) u6 `. u1 q) n' v

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

! W" X w3 N: f' Q# P

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

/ J2 X& [+ |& B' @% \! z

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

) `# d5 K' @ z' [4 K( }

};

0 g1 z/ w+ ]2 k0 @

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

0 X) f0 ~3 ]7 U/ Z

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

: F' H# I0 y1 c9 r; K; D

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

' B7 a3 J, H8 h9 G2 M4 k2 [1 H/ ]

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

' I. v& {9 {7 ~1 D; M( k

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

7 ~2 j' x9 K- y/ ^3 b

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

5 ?( z' D7 i4 p7 Y

存储。

+ g4 n0 m) V- F4 u

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

4 D: o/ N- ~% r

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

8 u1 W- C# ?7 R M( P, B) q

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

7 ?9 {+ w( X5 }* v

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

$ r+ n3 M; R2 l. a

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

6 z* f& {8 C, E( G# F7 G. ]

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

# e3 K/ e, w, F

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

r- _ H8 h: A

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

* u% O/ t* Z9 E) U6 r5 P/ E4 c

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

2 y7 ?( w0 a8 m& K

运行实例 

3 c, e8 T% Q2 u4 m

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

- N( g* B6 O* [: _. T2 w z$ E, U

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

/ t, K# @- d- c) Z

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

# [. D( Q& ^. c

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

* r9 ? y+ |+ E1 R2 {

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

- [& p3 c& g% Y5 h& X( G

G72粗车过程中截图。

9 U8 E+ u, T8 K' t6 G- G' B/ R

O1234

8 {. h# [) f( J( j/ X

Sffice:smarttags" />1200M3

- f" X& S/ [. v' J I( x

T0101

( j, f( b' a& L3 c4 l

G50X100Z50

2 ]0 [ X' n y7 t' H Q; A- ?5 Y$ P

G0X80Z5

6 N5 Z0 B0 c9 `& V' |2 K7 q

G71U3R0.2

3 F& e- ^6 g' ?

G71P00Q60U0.2W0.1F200

5 H) Z* o. j: D( e

N00G0X6Z1

2 |, O8 r6 I$ }

N10G1X10Z-3

7 x0 @3 B: Q0 ?, d% g5 V. t, {

N20G1W-15

/ [/ |1 h! n/ @; P. o0 d7 N& `) _ e

N30G2U30W-15R15

; H2 n* k/ \6 a- A4 n- K* i8 k" A

N40G1W-30

: Q3 Q, l: D8 M) J8 }

N50G3U30W-15R15

6 u3 E- _$ j3 m M

N50G1U10W-10

) P$ j% w: L e( b

N60G1W-70

+ [( U7 |) U& m9 S+ \# k3 F4 m

N70G0X100Z50

% W2 R/ x$ d+ b+ F( a; Y

G0X30Z5

& x, O9 h1 w5 K$ [8 e

G70P10Q60

2 n9 w) a5 w' P; J% H

G0X120Z20

/ k4 V2 S! C# t9 Z+ g. V0 x

M30

6 F2 K, R* l6 x, O

1 t# R2 N# b. C, i

O1235;G72横向切削复合循环

+ c. R/ U+ c/ F

S1200M3

# [9 D m: Q# E5 o( e8 U. k7 f2 F

T0101

8 }7 E$ k0 t8 d' M1 H" R

G50X50Z50

& g" E! J' r" ~9 @& y. {2 v( @8 r- R

G0X32Z5

, ^" w) n* Z6 I1 X* j

G72U2R0.2

& v C2 p9 O; a; k

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

2 A# k) U, C, P( i2 ~# C

N10G0X80Z-80

- v( |: l1 O: A& r( _2 ?) ` Z

N20G1X60Z-70F100

. t' m# Q+ ?, D8 I {; j

N30W8

& O8 j6 O! o8 P9 e+ T1 N

N40G3X30W15R15

4 E; M: ?3 l5 E1 i) j

N50G1X18Z2

5 Q4 h; U/ p+ c3 k1 Y

N60G0X100Z50

( \. M3 f, u8 ~0 C

G0X30Z5

& ~) ^! r# Y3 G8 U

G70P10Q50

3 `5 u0 c8 |" V$ S

G0X100Z50

3 W: \* Q0 K- F

M30

$ A3 m) u4 n4 h' E- P M$ T: o- _

+ e! g% A' o/ ^& Z5 m% F

结论 

' r- T) Q, |) J& D7 n; V) s

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

5 E! O0 N( [& U; Z8 x2 U+ ?; s+ f

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

8 O7 [7 L, K; J" v9 t- r

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

% P0 z4 \2 [9 D6 I& [/ w9 X

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

6 J: r# S- m; e# f% n* g

 

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-19 07:11 , Processed in 0.064329 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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