机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3824|回复: 0

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

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

引言 fficeffice" />

1 L3 ^; B8 Z9 W

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

; u3 @" e/ j, @5 x* o1 `

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

X/ t3 f2 }8 @9 Q0 z" w, {/ I

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

; T2 U/ |+ x" H7 O/ e0 W

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

5 f& C! C+ W8 c& Z' [) r

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

c2 m) ~; f) Z+ V+ a: x0 W# a2 m

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

6 x0 V' r& c* M' A

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

/ x" Z3 t0 r4 o% O

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

* v8 F3 r) c/ z* F

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

, |- v( `: e% a! D$ e) Z C! Z

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

0 n. b7 G3 w# x

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

+ ]/ ^3 c2 r* [

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

' C) u8 D, Q; p4 a% ~7 e$ V

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

$ m/ t4 @( D( ]1 {+ [

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

- _* k w. ]4 n* t1 e$ G

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

# U: l4 r5 B' J! h. E+ V6 [

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

0 t$ D/ d) @8 c

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

6 L( Z: g7 u& n1 ~& t8 u& k2 G

系统总体结构 

, u3 L/ F9 u/ b3 d

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

8 \# T% }5 z1 T" n/ K! m" i5 V% f

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

4 A3 I9 Q4 B! c0 L, N! Y

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

$ [7 a4 [. H( w9 ?* Q f2 a5 C# O

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

' M7 u* x8 X: c5 G/ D5 x+ O

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

# P2 r- n& I& {9 T g! g6 J2 o

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

) b/ t# S$ u( S: Y* m5 r* \6 H

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

( `; X1 O1 F9 Y+ C" W0 q2 P# j Q

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

4 A) z9 T$ \$ y: |' h! ]

确性。

/ `1 V3 O: {0 A0 M! P& W, u, c1 B

& ?8 @! U' P, p. S& K6 K0 }$ m

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

- t A* ?/ E: Y$ J0 l3 Q

系统功能实现 

. h' v! }' D/ V' ^; p+ G. }- I% @

2.1 NC程序编译 

u- c# a4 _0 R4 H1 D9 w

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

8 X7 x& c1 K2 v" d

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

. d( l% ~9 v& x9 d9 F1 Y

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

! a+ b0 x) s: ~7 K

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

2 U! O. l# r0 J q* h* X% ?

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

0 @/ G, s: T3 A

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

2 i* Q; V7 E" y$ E z

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

, E7 a8 |; B; R/ F

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

1 ]% b# v7 ~& b. H o( P

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

8 _- J5 ^7 s! [/ }1 Z" `

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

8 B% B1 ~2 _* e: i3 b

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

, X$ n; m5 d: a3 ?0 a: O

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

! v# W$ f: j7 u$ x2 j3 W+ S l7 n

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

; ^* s, i2 P- A2 \1 j4 @

2.2虚拟车床本体的搭建 

' m: s8 @0 w7 {* f( w5 h4 d* Y

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

) s8 b6 M3 y$ U( O) |/ g/ u

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

! {; U% @5 M8 J/ l2 G3 J

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

6 p! U9 V! k% d' u. @

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

3 w2 |( ^. |7 f y6 {7 Z; K T

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

9 ~& z6 G' o. \8 g

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

$ y' e) q' t) u- A) D# i7 m% d

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

- t) T {5 C* L- ^% S* z

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

# }& ]1 O2 k! G+ Q

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

& r* b4 j8 e! D& l

( a7 E9 F4 Y: ^7 Y8 L5 ?5 b

2.3 数控加工过程仿真实现 

( \% k0 O5 L6 Y9 Z- ?. G7 r, t

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

, E5 Q O8 I& X

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

6 P# p2 N* `- b' o. T/ {4 d r9 e! j

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

7 @2 Z# p4 i5 `- N' S

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

6 y( `) d- a6 s

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

2 Z% Y6 e3 Y/ x! z: F9 }

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

% E! A2 T; H8 H% \

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

A/ W, [. H4 c' J

如下:

8 F, A; z2 t1 F; I8 V

struct PieceCylinder

9 l* U: b: N* J; o& ?$ P

{

! z3 Z* U, y* k

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

: G* c1 k ]( v. q* z6 z

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

# {9 X" m6 y% j1 a* M! Y' ^' j, _

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

- o! I- p8 C; M/ n8 U1 ]" s

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

7 ^: x0 s6 J+ Y" s; F+ ^9 N

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

/ Z! }( m" v d' H6 X) e

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

2 K- Z/ N% r3 f. N) ^5 G

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

k! q( i; X j f3 K$ Z" ^5 T

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

- Q* |5 D- E5 {6 ~6 m

};

. e$ E/ `, H1 C5 I5 F

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

6 H4 m- A: x% ~8 W

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

+ a- y) N& U8 O7 \( R

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

% D: g1 h" v9 X9 y

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

) O$ u) d: E: x& W$ F7 a

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

3 R3 a( g7 n2 T6 p

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

8 X# h: p. K: ^, Q @

存储。

- U5 R1 \5 C9 c+ i& \8 M

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

" q6 n" E0 ]( H& V R

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

& J5 C# `' m- }: t! |/ A9 d

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

$ J8 J7 d3 v! i' N

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

7 A# h8 a8 e# z3 ?" F3 [) ~8 x

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

$ o" I! k7 H% _( t$ i5 ^1 t

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

]8 h+ Y2 ? k6 u

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

\ j3 v3 l7 Z5 P: Z6 A+ x. s8 n/ ]

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

+ k$ }- R- l7 j; u

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

, k4 T; n1 c$ ~3 _- m

运行实例 

2 D0 d9 u; G/ ^" ?$ G1 U9 T `: K

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

3 h- p- z* x5 z) Y' E

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

; a; Y# g1 b# r k- H( A; p4 m

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

; m' t" Q1 G1 {) u( p( e* a

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

' k5 y; c+ l# D$ C* I

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

4 m1 f0 Q. [9 c/ z: z

G72粗车过程中截图。

, P5 |5 B/ B; w% @0 b4 o1 L

O1234

/ u0 ]0 h6 q2 `) y

Sffice:smarttags" />1200M3

+ Y) c5 {( [7 |$ z- o+ o

T0101

" a# p5 z6 n* z/ j/ F

G50X100Z50

2 d& t' z% P. p Z% s( @" R4 V

G0X80Z5

% q& d$ Q$ s# Q8 G2 e% n8 c

G71U3R0.2

! i: }0 n d3 ]% h) d. g$ P

G71P00Q60U0.2W0.1F200

! V6 h9 ?1 `$ c4 a/ b; f# t5 f

N00G0X6Z1

" P6 O" {! z& n% d$ n5 E

N10G1X10Z-3

+ [8 p) E8 j, U; T

N20G1W-15

; R5 |- _4 v! W+ _# k. s! v9 @

N30G2U30W-15R15

3 t7 \! c9 [$ `3 p0 f# q4 d" A3 `

N40G1W-30

1 D" x+ N$ l% P# [9 y& i

N50G3U30W-15R15

5 w( q; Z' {9 Y7 |# H% t! n8 d

N50G1U10W-10

% A. i, E9 n6 ?% I# R1 v& z- g& U

N60G1W-70

3 m% ]0 y% E3 a/ L' L4 D/ Y6 E% U

N70G0X100Z50

5 w2 V9 B% e: l& f* K! Q3 b4 J

G0X30Z5

% }$ \6 Y3 L, V" b* M

G70P10Q60

7 G; g# W9 Z$ [3 v! b& h

G0X120Z20

$ Y2 S! f$ y1 @

M30

" j1 K3 L6 m) j; Z1 s5 P8 x

4 _/ X9 F0 a, f$ |+ k2 j

O1235;G72横向切削复合循环

1 e- ~1 P. J# j7 P' I

S1200M3

. m( F( U% J$ [3 O9 ] m. }

T0101

6 N; I, c( `* |! m; `

G50X50Z50

; ]0 B, H* G" M& h

G0X32Z5

7 ]/ f$ t8 b& Y7 R$ i: p; u4 m

G72U2R0.2

* W" K4 G# I) E2 C0 \5 m/ b% o

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

& x, o+ {4 `' [! V1 s

N10G0X80Z-80

0 z/ R; Y) S* X7 o* v' E0 @4 X

N20G1X60Z-70F100

: m5 g9 X. Y2 X

N30W8

( z; L+ v% C7 A4 W& |

N40G3X30W15R15

5 U7 V2 L7 ?3 l4 [

N50G1X18Z2

. q' ^8 K% ?8 M! t1 D* |

N60G0X100Z50

% j8 t9 H1 O+ _9 Q3 ^: m% y

G0X30Z5

6 g" M7 [3 u% P, m

G70P10Q50

5 T0 d9 ]& `( q" v# ~5 n/ L

G0X100Z50

! ?! c$ I0 f" ^. r: v

M30

$ j' G0 v$ p) Q9 R7 [

5 ]2 x5 `; }' j' g; `" d% \7 o* G

结论 

, C" P2 h" @ v! O# O7 Q! |$ l

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

% f% a2 G$ C2 c9 m, P `# D

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

% @, }1 k; ~* j' e

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

! b: \5 a. f3 k- [2 Z4 q+ {5 M

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

2 \/ ?9 Z3 z- U' Y* Z' w

 

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-4 18:56 , Processed in 0.066196 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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