机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3779|回复: 0

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

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

引言 fficeffice" />

& T& [ n: F# Z/ ^, H3 T/ N$ J

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

+ K, |2 s6 e p: u

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

% z. A" Z. T0 ^8 d

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

. v4 L! s p- _1 A

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

3 q- R' F' |4 v' R

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

9 {8 Q$ U( Q! R+ `/ ?6 t4 S

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

+ O; t1 ^* F, v3 Q* O

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

( V8 X$ V4 a ^, }

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

9 n, ~* J4 X4 P% n( H* _

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

% l1 T/ b& ~; N" }

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

* I# m c" P8 [

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

$ C7 u/ E* |# W% q8 Y5 s; w8 @$ H

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

$ S( h2 ~$ X. |- e9 q3 g7 l

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

. [' H/ [6 D- f$ C* Z0 V \

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

% }' Q( \8 S& H

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

: A2 Z* }9 Z f. i" q6 u( h

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

W6 h4 i- n* j) U

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

0 j& v# E8 e$ R) U

系统总体结构 

, ^# S1 ]* M. E8 J$ J

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

9 a7 {" t, v, R( y; s

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

; ~4 m' {; {0 ]9 o

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

7 {3 |/ O+ B! u- L' R

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

( v2 f. v9 M6 l) P

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

7 z: U5 W0 N( @* n# W

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

8 O6 B2 {+ f- }* R; {/ C$ R

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

$ E7 I$ l/ E; w" G6 O

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

1 J; z" X) e6 l( `

确性。

; u! d; Z1 e3 v: E# v/ k

$ ^5 `5 z2 O. S1 B

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

3 n7 }$ M, ^; o0 x, P$ ~

系统功能实现 

! j% z5 v, H, j& Z

2.1 NC程序编译 

# p. r6 i H( Q0 o' @' u O

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

: ]3 ]0 N$ _# @0 D* H! G

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

U2 C& [+ Y9 m. I: q& {

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

5 l* u! }+ ]4 _6 v1 }! k

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

5 u0 F$ P" [" y' h3 u% {/ C& x

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

# M/ Q( ?! y! V3 }* C8 y4 `

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

+ |. ]8 y8 p. D+ q& J" q( i

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

( b) R' K/ \, K

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

' y, _: \) t4 g/ ?) M9 j7 i

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

8 L5 e8 M4 n: X& q

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

0 w4 h4 d! J& W# g3 z

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

4 z( c7 i% j. Z# y' ~

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

# R. i( K7 i! R6 \" L: L4 k

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

+ t; q, {6 A6 |# {0 J5 |

2.2虚拟车床本体的搭建 

* A I0 W0 U( W

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

4 m8 _& O, m# n% C( l2 F

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

9 D% u f( D+ c3 o: f

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

$ x' H2 Z2 J% S( g% H" U" f2 ~

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

* S8 V L6 L4 G4 C. U

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

3 X) ^9 x8 |8 Y- B' h

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

7 v( d9 H( H: c5 N: `

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

. k0 _0 o, v2 P U; a7 o% B

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

' F, k2 j; H4 [- G( w1 ~

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

! b4 d6 _2 @/ l0 l' z8 H' }

4 i) n ~' K: f9 `, X# E+ K. a

2.3 数控加工过程仿真实现 

; G& n0 Z8 A* p f+ a% \$ C

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

1 C! y; ]) t) [9 m6 d5 }* N

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

5 J0 ]$ n4 [7 W' n. N3 }) X

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

/ Q( J( m; U2 ?, W

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

: @7 @6 O/ T9 [. n

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

9 P% [" I; k6 P8 n5 F, v+ S- G8 c

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

; O6 | {3 `+ `2 S7 N0 I

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

% X$ f2 Z# j6 L0 q1 O

如下:

: n, p. q6 |8 I7 M

struct PieceCylinder

/ D* n. Z; L0 {; f( h9 X- V5 p

{

5 z6 C* U2 w' ?

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

; t1 X7 }6 Y" w9 q) M" d1 }* k

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

' Y' {' j/ E' v% i7 { F; {

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

, G- R. F) C! Q! V3 |; T" w

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

" m/ v: x4 r9 S( A

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

6 r) X3 P4 A6 P# {2 g6 T

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

/ P4 A% Q/ z) i6 [! L( o+ h

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

7 } g+ ?9 e- o8 V0 g- F

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

# M* W) w m. V7 T2 R; F

};

' H( q1 X R, ~% m

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

5 w. N Q' Y. t) R

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

6 E* l; k- E5 p# S8 k7 y

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

0 c6 `- I% U: \, Z

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

0 I. E7 s1 `7 G6 i

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

* {0 b2 C4 s% Z- [: ^( N9 a' u

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

5 g& Z' V% x2 b! |% N1 X" ?. X7 ^# a4 b

存储。

, E5 p. k3 h3 r: K- a# L7 C, `

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

! L1 V5 v( _( _ q- E

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

( Q+ O2 ?+ P. w" i

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

; ?2 f9 o$ b" B, {) F( u

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

7 ]) l' g- @/ @. _$ p/ t$ J

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

4 ]1 a' [0 {' Q3 x1 m: W

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

# w: ?+ X9 S. j( |/ U. M* N% y

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

/ z4 T5 @) e7 z6 [ X$ q! E

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

1 \! A0 B3 q/ V

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

0 Z. \( ~0 o' a

运行实例 

! c& M( J9 m! R5 z/ _. U

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

7 N+ A" Y8 w( _5 j( l \# V

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

$ W3 S0 `. i6 s; N

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

% K) A) J+ o% x4 Q5 a

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

1 p0 }. p! m4 |& a

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

. w/ l5 p4 k( R& c1 y

G72粗车过程中截图。

/ s6 J/ S9 a O& p3 Z! _

O1234

8 }5 `: V& g+ k" l, [7 [1 n

Sffice:smarttags" />1200M3

" o* s' P7 w3 C0 m( t

T0101

2 Z, C, }# N6 {* B9 A

G50X100Z50

7 g# A. F: O) M5 b p2 t

G0X80Z5

& F0 n1 d+ n+ }3 [/ |; P$ o

G71U3R0.2

* i4 J' M9 s2 ]" t* H$ v4 Z" R

G71P00Q60U0.2W0.1F200

m5 A# }+ l/ F _& V: d% I

N00G0X6Z1

+ A) b* I# |! M" y: x$ A

N10G1X10Z-3

3 r6 m1 X. Y5 R7 l, X

N20G1W-15

: P) c1 J" J6 R5 }

N30G2U30W-15R15

* ?. R7 @0 w, z0 k% M" h" @

N40G1W-30

! K/ X; i6 d: t. q: N

N50G3U30W-15R15

, F6 m; h3 i/ V; V- b+ t: e r( n& W3 C

N50G1U10W-10

% H& @, P3 T7 B0 ?5 q

N60G1W-70

( _* I$ t5 s3 ~! D& J6 V2 w+ M

N70G0X100Z50

. }( t1 t t |6 Z

G0X30Z5

4 ~0 Z+ P2 H9 f L" l1 ~% s

G70P10Q60

3 P$ [+ x0 t2 m+ R

G0X120Z20

( U. G8 n: t5 p

M30

' B7 {8 ?5 d4 G

. s2 g7 t+ w: G# R5 \2 q

O1235;G72横向切削复合循环

$ w) W2 Y* _& M$ M+ W

S1200M3

) e8 D v; |# T; U

T0101

+ W4 x. H \8 `" j; ?" l

G50X50Z50

3 r9 C) ]; B" W' D8 K2 n' L

G0X32Z5

: q4 a- S' w# P: q% M

G72U2R0.2

3 [3 \) x5 F" _5 |

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

8 j+ s8 h$ u& y/ g

N10G0X80Z-80

- c+ H% Z) y3 ?) `. j( z8 U

N20G1X60Z-70F100

- D, q9 u% _0 K/ K' Q b4 A/ Z

N30W8

% Q: v& k& k1 ^3 h6 {

N40G3X30W15R15

3 b% {) y# v* @* z) S, r' g/ d9 e

N50G1X18Z2

1 m* z" b& J$ ]. F0 f3 `8 v

N60G0X100Z50

% v$ E* |% B% o6 G& |. R6 s

G0X30Z5

! l# Q. U* k3 }1 s

G70P10Q50

% \8 i( Y2 P0 |, i7 S( g/ S

G0X100Z50

4 W5 Z8 _1 i. K! i) m. f. y- U

M30

6 w- j# z8 y: P3 ^7 r9 {

. ], I( X1 ]; D( z- Y3 R8 {8 X

结论 

3 ?5 k6 @" e- i6 Q. j

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

8 o. r' C: n& }$ q3 z" ^5 P

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

# h, O5 ?" g2 v H

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

8 R; k9 w7 f( X& g/ O- j" y v1 s

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

7 w& v* c5 k" `5 G4 [, t) g

 

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-21 03:39 , Processed in 0.059848 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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