找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3964|回复: 0

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

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

引言 fficeffice" />

$ O; S" G3 E( D# b; Y* T

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

* }- j, }9 D, n; m

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

- C; \5 K7 @* p+ E

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

6 j6 t6 B* j& y4 ^+ \

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

9 U6 i4 D3 L3 w* X$ ^6 d

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

( ?* p. C& B0 s) e |, m

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

5 A$ ]) s0 t+ A4 Y+ c t

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

! y$ f! `" L2 }+ y6 \: t" O

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

$ }5 y9 O- U8 l/ g4 e

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

% X- H3 @$ e, T0 }2 T

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

' t+ N6 S* ]9 ^: S m- D; L

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

4 }* H I6 y; g" t- x

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

; O! U% l/ ?4 O

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

# u- T3 d; X6 y6 G8 M' I

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

( @8 B5 J' b: N, p8 G) }+ A

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

, g' Y, X! W3 |& N' j3 S+ [

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

7 ]$ p6 S0 C; H; c! x

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

, [8 u- \, u3 ?: c

系统总体结构 

( z( x& s; [7 ~$ K+ b1 n: H/ c' e

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

! ?& c0 @4 \' {/ p/ m

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

9 R9 O4 r3 O1 a4 O

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

( }! Z8 ~9 E# Z, A) \4 W5 P

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

( @) \" y3 [4 w

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

5 K6 r5 Y2 ~5 ` M$ \

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

% V0 x7 {( w b% ?8 ]9 m

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

2 E( ]) i3 I% C% a

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

! V+ s$ E% d- E4 u

确性。

3 a1 X( V5 d L8 `$ R+ _

9 d4 c6 M8 U1 T: b) J, p2 v: B

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

" N5 y k0 j' |7 H/ n

系统功能实现 

& H- M0 F/ K' U$ w& w3 o0 e; Z6 B

2.1 NC程序编译 

( _5 P% m$ B* Y

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

5 P p1 @) b9 \/ L( B# [7 H

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

d: S/ a. J3 k7 i0 i: m. o

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

: ~. J0 r$ [7 _! D R4 a

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

7 H j7 `: T! z& N9 K/ T# V- ^& Y& h

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

. b4 v% l/ e- e3 Q

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

5 Y2 D5 Q+ A }2 p5 Y+ |

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

( I; W: A# ~1 D% I; @! v

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

1 ]5 W0 i+ a! F1 \+ I2 b

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

6 u% \" k8 G# _- K

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

3 P* o/ E) b( ?7 r' V

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

& u9 T* ?& j# ~2 `4 e/ \5 `

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

3 C) U7 G. G! _: K8 B5 b2 a

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

% ^" U% P' T# }. Y

2.2虚拟车床本体的搭建 

( I" \8 O$ l8 a9 T9 T

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

/ @6 X! r: c% T8 d3 {

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

% D M5 N7 a( F7 u: T5 G

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

/ ?4 U2 Q1 W1 r; l

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

2 s4 _+ n S( H% ]+ y3 B. f& R

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

: Z) O* d& P" G, g5 I

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

9 W1 I1 {7 u; e( c& o& q! G6 G5 }

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

& {) B Z2 Y. m0 |% i- f! z% c

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

0 z% I% K0 i' f8 u/ x

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

0 S( m! [% a) F* y

8 v- T; P+ d7 M9 e+ S4 C- }

2.3 数控加工过程仿真实现 

' D0 D$ `. P; {7 z3 V4 q. D( V

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

" j i6 x6 u! u! _

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

& _' X1 B" L, F" c2 R/ b

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

( R% w9 J/ j; Z! ]/ v3 e$ D

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

1 ]! S# R$ e' r6 c/ a+ k

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

X% P4 s2 x7 s

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

9 @4 Z- i, B" O S- j! {

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

$ y Q6 D5 d: l5 r2 Y# Y+ [& J

如下:

1 u% X' J) A6 U% [3 D

struct PieceCylinder

/ e7 I. c0 i" t8 p) h

{

. P; m g+ K& T! y" `) N3 Y

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

. ~9 {' @5 w; Q* a

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

X7 u: S2 P* }% D

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

6 N; ?/ ~( W: `) V% ]

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

+ {" r- X7 D" Z- w) Q! f( {

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

/ ]1 R" A+ k0 q7 r5 o6 _

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

. l+ o; b) |( N# E0 p; `) Z. E

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

, a1 H3 j ]! {1 E, s# \

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

" N3 l; M) s T# c! Z6 w

};

; p+ n6 q- L8 [" V: v- i/ [$ b

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

" v+ B1 y1 E) G H: e8 x

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

0 Y" n7 n0 V0 e

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

* R# e+ E. x. [) R

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

! ]0 ~ D! ]. d0 x

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

8 S2 W1 g0 i/ Z

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

8 V8 E6 I. m x6 V1 ?5 _! v( j

存储。

+ a7 s0 G( G) U2 E

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

W: T4 x( Y; x1 m2 _$ F

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

0 W O3 l0 E9 ^0 u) Y, }( n$ U

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

# o7 i m. H! k) f+ s5 h

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

. Q, O( }2 h* F T" g: d9 T

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

^8 s0 |/ ~) H. j& j4 G

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

1 D% W9 c3 J( H- I6 y

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

p) T$ G9 K9 ] w2 a" Y

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

- D! X- H! w9 l f0 Z6 s1 s

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

3 H; I4 `2 d8 k' w

运行实例 

- Y6 c# O1 t$ f

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

% I8 N2 J6 `" s8 f0 M

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

+ Z3 o- }0 a& O" X# W: E, [

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

5 @, G; V) B3 V; m( H$ e0 G6 p

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

% E8 U2 _1 F5 D' p; Z

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

, `# s/ _% J+ c) s7 w# x% Q% H8 R

G72粗车过程中截图。

' F2 q; e0 n( U$ P4 M- `

O1234

9 v4 N7 v& n9 V( V, q

Sffice:smarttags" />1200M3

) U6 H$ Z8 r( v6 j% V

T0101

6 |# s" w' ~" Q$ m9 c- L: F

G50X100Z50

. s1 h$ A: A# G* x! k

G0X80Z5

( d Y3 K! W- u

G71U3R0.2

3 a9 G; r4 Z0 D! F& D9 T% E

G71P00Q60U0.2W0.1F200

: F. X) I# B( Y

N00G0X6Z1

# z- `5 D# l. u3 j5 U9 j9 I4 l; C

N10G1X10Z-3

3 B$ {% W3 l' N- x, l' n. m

N20G1W-15

. [# i) U" @7 q

N30G2U30W-15R15

* |. g: ? x0 G& w

N40G1W-30

- X3 X9 [$ A5 q. V8 Q

N50G3U30W-15R15

+ ~" Y# B8 |8 {$ w

N50G1U10W-10

4 s; G* A* H9 X: u- g

N60G1W-70

' f2 W( u8 j# V: ^

N70G0X100Z50

+ L/ I& B0 `5 i p

G0X30Z5

7 H9 y; h7 C) I: C8 w* ^, d, I

G70P10Q60

2 A" K: N! m7 C

G0X120Z20

4 _& _8 j; H9 F/ Q: X* i

M30

4 d4 Q/ d5 ?2 B$ w1 r

+ i! f* m) z% u; v% O* c

O1235;G72横向切削复合循环

' t' U5 a9 b" `3 _

S1200M3

- R+ W# s* K; N7 Z

T0101

* n' y, D2 V5 d+ d

G50X50Z50

$ x& [ _% ^3 c! w1 r

G0X32Z5

" l: z9 Z4 t% q# k- F; l& B# X A

G72U2R0.2

3 z" u7 X. e/ k4 V4 ^

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

2 s. V# v5 P) {, w5 c

N10G0X80Z-80

* o& U/ H, P) b+ d

N20G1X60Z-70F100

' w, f: I7 r) ]3 Z

N30W8

5 {% D+ A0 a: G# I( s% P

N40G3X30W15R15

- A/ F/ d4 Y8 `

N50G1X18Z2

! K* z A- g0 f

N60G0X100Z50

; w S) R9 z* {4 M( i

G0X30Z5

2 K2 h$ N& @5 y; ?

G70P10Q50

7 f# @! Q2 J' F8 P

G0X100Z50

; _5 D$ z ?0 m0 q; v+ S

M30

' r9 F# f7 @" r v8 M" `

5 v6 q3 U$ W/ i/ V+ Z* w

结论 

2 u4 |7 J9 ?6 w; T5 N

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

! p' P# v# f. W# P8 [9 S

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

4 I) z# K: n3 f' s

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

. Y: g* O Y3 z

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

! @3 N" Q/ i9 N2 P

 

本帖子中包含更多资源

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

×
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-16 02:58 , Processed in 0.069315 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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