机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3713|回复: 0

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

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

引言 fficeffice" />

: e9 T6 O# b# O

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

! ^& n" H, V' z' x4 ]& z

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

1 I5 o% u, [- F% q

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

- F+ T) u. v% Z: N1 w4 d1 Z8 A" w

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

3 w+ c" S* L$ h ]) }" f8 u+ [

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

7 Q$ q$ s* ?0 F

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

+ B: r6 J0 t/ C" v2 x7 \

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

, m, p1 {6 e; u

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

" a& Y: ^/ B1 `5 {4 l

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

+ X6 I1 K! e: [4 n8 d9 w

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

3 A2 B0 Y" \; ]0 h9 h4 Q

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

( S1 b8 b/ g4 G" U9 x0 c8 ^) x

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

% X4 W: U, u- r7 S2 F

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

. B$ e- u3 O2 C8 W

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

) u" w7 \( F/ M& Y# b9 a

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

& J; r. T% G* E! L

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

' d7 Q1 T& G' X6 I/ H$ N V( |' U; r

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

) G2 \2 I! m2 \, J

系统总体结构 

0 l( \. j* X7 x) e& T9 t8 D

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

3 w2 t7 v! v: ]* g3 L. O

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

& A: v k" b6 o8 J1 F

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

; v# s1 k, d% y/ \0 F0 z

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

( d9 \7 ]8 H; P H

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

. ~8 _. K1 O) v% n7 Y+ n

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

2 A7 x( K" Q9 n& g* I( W/ l

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

$ T. Y+ a- j; o; B0 J/ W

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

: O3 Z: W$ h3 r3 l

确性。

' _1 @$ Z+ O1 E

. y4 E% o" Z# s

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

$ B1 w* C' t' |: O1 T3 U7 Z! Z

系统功能实现 

. K, y+ H8 [ s5 q- {7 D

2.1 NC程序编译 

( q- A0 j5 j. |; H# i! [

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

3 j9 |( e4 K% [8 G

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

9 [' V- g/ H6 A% ^9 h

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

3 m# a# V: Y5 o6 O

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

, ~* l& `, O/ D) h& W( \0 v

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

1 `' c* L* ]5 V

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

1 I! H. r* t& x( I: v' R7 H

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

7 q( m( {% u0 Q- G$ Y0 s) |

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

* X* u& x8 P. ^

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

, F i0 z# Z. O8 H: K" e- |2 e

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

" e) H; Y8 l& X) H4 s

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

' c1 Y% ]5 s1 f% B( J7 _5 q

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

4 D+ I# i; b2 q

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

9 ]8 J0 p$ Y9 g! ?: G+ x

2.2虚拟车床本体的搭建 

' u/ P8 k; A1 y4 k

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

4 q) b2 N. _- u5 x

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

" Z5 @' m0 g1 `6 d8 c2 l

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

8 j7 @$ w. s/ t3 b3 A0 o' N

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

% N1 V) X$ f/ a

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

% }0 F+ I0 P$ P, r' P

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

5 K( W8 t( L* }( I, |

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

H7 R* q t, h$ x' M

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

- Q- {, r* p! B; q

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

: }/ f, _1 y( g/ T

, m. X w7 p7 P- d5 |

2.3 数控加工过程仿真实现 

. O9 ?. s* c; t. g- p# B+ [

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

4 Z& ?2 O. E; a8 G

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

! M7 y& G; }, k2 ?' \ c

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

3 T& @" i! _1 D7 n$ X

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

2 S9 c! X0 ~5 c: `. E' R" C

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

4 a" }$ f) e& x

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

: B; l7 u0 L" N

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

, m3 ]0 W9 W& T7 G

如下:

2 V$ u7 [6 @, N

struct PieceCylinder

7 ]' l$ a6 D& _# ~/ T7 w d: W% ~* W

{

) Z5 B0 P$ V+ i K5 _6 `9 s. R1 z, y

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

9 M( Y+ G, C" d! k. D1 K

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

- X8 n: G i% U1 f* i- y9 ?5 x5 ~4 H

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

0 ?9 _8 H5 g3 e' |5 J5 [

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

/ M0 ~& n" G" d& Z9 V( ~+ E

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

) M3 W/ ]$ O3 D6 M0 l

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

3 B. k8 y5 W- @' K1 e( t5 j+ a! d

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

- t7 O3 b9 t& r1 K

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

( @* V: z/ { U/ r

};

$ j Q: B7 D1 a2 X3 r

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

$ Q+ P! `( ?$ x. k% n4 T

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

! B7 l9 k( G' ^) j6 I

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

- e6 k* T) a7 q/ R

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

7 p- O- U& q7 O

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

* \) B- ?+ S3 V( `3 ~

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

' O& ]% u7 V- `' q) z3 u

存储。

$ V; k" Y+ r7 u5 J: o

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

6 _! {/ t. t0 H% w( O

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

0 w, W, P# J* c! o2 F9 F! i

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

6 p) O) l; _! G A

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

3 w7 |/ ^* h4 r

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

Z" z) Z' A. u

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

8 G2 X7 f; z/ G* \1 l

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

) C2 n; }3 g [: L4 v

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

# m/ ~' y, X) M( ~ E7 _% B1 D& s

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

( \* v* S8 V2 g8 v x

运行实例 

5 H- U" T4 I. W

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

& g$ Q2 ]- G5 J- A4 l4 i

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

' i/ Z+ D$ m* z2 \$ t5 G

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

: U6 J# l8 z3 z

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

0 |! W! n" F& W/ E: ]( g

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

2 O; v1 t- k, ^8 Y" {1 h

G72粗车过程中截图。

% B% J( v' B6 q' Z. w

O1234

! \% V+ J- H8 e* J4 G! Y

Sffice:smarttags" />1200M3

+ N+ y" h6 k1 R& j

T0101

+ W* M$ R; i1 R# P. K4 Z- P# B1 W

G50X100Z50

: B( q5 s, c! m8 |% T

G0X80Z5

3 [' J) p4 `1 p2 v- d- S

G71U3R0.2

; E3 U9 ^8 S2 _. S; b* s V

G71P00Q60U0.2W0.1F200

4 ~$ o# v# C n8 W

N00G0X6Z1

4 g4 \5 U! P: w+ o: a

N10G1X10Z-3

/ b" r5 B9 Z! H' L" O: B. r

N20G1W-15

, f! A" |8 p" \1 \9 W

N30G2U30W-15R15

6 p; L5 Z: o8 I+ ?

N40G1W-30

* I8 R& R+ v* ^8 A* @, A

N50G3U30W-15R15

, U g6 K5 _/ M, z9 X( H

N50G1U10W-10

; p) q5 B8 S* i2 ], K

N60G1W-70

5 N7 F p6 A# R% i7 _9 f

N70G0X100Z50

! K2 J$ y5 X0 c K8 B( o

G0X30Z5

`7 Z" y1 K1 _/ R3 k+ `5 l$ J

G70P10Q60

( P+ T" W; a/ U

G0X120Z20

3 N2 L. z2 f! r

M30

" a6 W, T4 v4 f; r, B4 y

0 B5 L% Z! Z2 y

O1235;G72横向切削复合循环

& c0 k: T4 @, k) I6 h& Y3 h

S1200M3

7 m8 Q1 O2 a( F) A f

T0101

9 C" p e/ A9 C) G$ W

G50X50Z50

: |3 o- z5 S! a7 q

G0X32Z5

7 q% K3 l& @7 o4 w4 b- f

G72U2R0.2

( U! t3 w4 M' a% V: s

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

3 u9 r* N: J9 y* @6 ^

N10G0X80Z-80

+ D8 u# O! O# G; X% c% `3 \' ?

N20G1X60Z-70F100

( s% N/ L( S: R

N30W8

: p0 M- H0 _+ d

N40G3X30W15R15

3 p( u: E4 r# x$ I8 ~

N50G1X18Z2

, h" M3 H# ?- z% ?/ @! |6 O

N60G0X100Z50

, i$ h& E! F; Z

G0X30Z5

! O; f5 ~* z9 P: j( c* c

G70P10Q50

0 J% x q. N- s+ n) d8 Y$ T v

G0X100Z50

" u, y! i4 ~* b3 x4 x

M30

$ e3 c$ d) [+ J$ U& ]$ l5 V: n# @

" G2 E: g8 G# Q" Z: F B1 ~

结论 

' e- C5 u. C" L' \

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

% s1 c% R- t% Q, L Z

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

/ j/ \( T/ Y, M- s

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

9 L! E' D, Y& O* l. E2 s Y

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

# W0 s3 ^% p G- u: Y

 

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-28 05:35 , Processed in 0.055327 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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