找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3965|回复: 0

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

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

引言 fficeffice" />

8 }; U- O6 G" b, x: I; S; u

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

* q0 t; g7 F2 Z! f. u

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

" P# O2 b# M" [: D( H

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

( {4 m1 i5 w& z7 [6 g# O

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

" t4 t% Y- ~6 V

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

6 Q1 W8 I& t5 `/ G, \

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

, u+ k; ^: S ~& e3 `

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

$ n( t+ @( k( T- g) ]' T; c+ v

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

: O2 o; p. F' U1 A% w: |3 H& L" L

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

0 g# b) ~ w4 n; [5 c/ U/ ? o

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

v" ~! [* n8 N1 [& Q" [! x: K s: a6 _

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

. A* e9 n, l0 T2 W- G

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

( C: a! Z* `% M# D! u

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

! V( G( b$ t" @% S+ n8 O

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

% b0 W0 e/ ?% ~: ]7 H

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

& M& r; C4 \+ B0 q5 x, B) r

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

Y3 I8 P" l1 P2 B7 E

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

3 M- r2 X/ o; c0 H

系统总体结构 

, K- T+ S K! m% V

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

) z( H# f8 z: |( M7 ^( [

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

) m; h: E' t9 V

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

5 k5 ?; \/ `! I7 K. C- C2 ?2 J

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

3 a) W |7 ?7 T6 O

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

r6 l0 R9 j8 f8 y- F& o U

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

4 h7 A& ~0 n: i! @4 C3 ]0 A; d

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

* I: ]6 k; }. h

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

8 z* }- ~3 |! c* C7 E* M

确性。

# }* \; B9 D; ^2 y: X% b" U0 K

: L7 p9 ]7 M6 {! d

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

, l- \) W- P( H" v: i

系统功能实现 

& Y3 g+ u4 x- A8 c3 m

2.1 NC程序编译 

8 d5 @3 B6 ]$ m) r0 v& {

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

5 l% h6 ]& \1 L1 H) r

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

0 D8 [! N% [% \) n8 f

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

* h$ X S' G( f( M, W

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

5 e; M) s: [3 X- G% g' |" [' T

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

$ Z8 E4 j( ?6 }' y

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

+ c; q( l$ f* Q4 {' \

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

* ?- H+ A9 K! V) o

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

* [) e2 R2 Q0 I5 f# e/ }. A

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

# S2 X, G5 D* `1 ?

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

, _- {) d/ f8 n" o& V

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

0 h2 D* X! C* i; K; }4 P9 y

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

+ V$ `5 x- u' O# r( p( w

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

1 F; `2 _0 h2 m; C5 y

2.2虚拟车床本体的搭建 

" o+ m2 `. S1 _2 J& e

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

* ^* h+ C8 l. A

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

% G5 t: y6 d( v' ]

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

+ t0 {* _1 F0 z7 `9 G5 i

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

' z( E7 J+ f& `: n# W6 M1 q

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

3 {. U, y) ~0 V( _7 b9 s

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

3 H; T2 g1 ]# \+ A

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

: I5 b) w. A; ?

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

0 k4 f E5 k, k( ~4 b) b- Y

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

6 C( d7 Q2 o4 Q4 E4 {+ |$ C

2 ~5 n) O9 r9 e8 l

2.3 数控加工过程仿真实现 

# j+ ?' I& d, d6 {+ n

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

# E \9 N- F1 Y' u" Z

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

) J2 g W: q* K) o" Y& Q

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

) |- o2 F+ I+ h5 p7 b5 O' F( Y

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

/ k7 D6 a4 b3 _5 C

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

! [# z0 g9 z4 P' I

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

; G3 B# @3 C. g# _& _9 P) _! o2 N

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

n6 p3 ]8 V' D. C/ X7 M$ \

如下:

5 |+ n% O4 P* {* x) r- w

struct PieceCylinder

5 B5 e1 b+ @, e9 y0 q

{

) w; U# n! f/ K" \- z& g8 q

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

R7 u" W- n5 h, |$ ?. f/ Y: Q1 f

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

% ~" V$ q. ^2 P3 w$ C( g, e+ O

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

c2 ]& h2 F U0 Z

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

1 W' u( U- Z, S) E" T

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

! D" p( u, j2 I0 T& m

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

& h7 K: W! a& S+ y# e

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

d1 r: T' ~6 w' q

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

7 D$ _+ L% L2 b

};

1 f" F. V6 `* R* W/ ?

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

2 b, \. W$ z H3 \

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

( C ?0 i z/ j4 t( N

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

. ^! d2 ^9 u* b& c

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

( u; `+ R6 ~# U) Y3 E" c* I

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

( x- m4 R9 C. [# d0 B: F) R2 c1 f

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

4 P$ E9 ~. B9 |4 @! f" h6 |

存储。

F" G. b6 i) s' n

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

! L! K H9 a5 P, y% E, m

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

) |0 U+ [5 N4 k/ r+ q& D% B

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

! X" o. r4 h% i& i- u

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

8 R9 t3 w: D [7 s- g! ]

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

* h/ A. T; d# O [% J1 A5 m

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

: S: c3 v, N! w

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

' k; C' A4 [& i

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

, N1 t' o* Z1 L

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

9 y$ S5 J: v7 ?

运行实例 

% m: K7 @ J) B1 A6 A: D

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

5 x/ l# L, A: C! e5 s- n+ I

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

+ x* Q0 q0 q. q! E

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

3 S; W0 J* B9 ? Q; b! f

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

2 d" n8 z$ Z) C5 T

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

6 Q, r9 E8 o! H5 n9 K6 E; |

G72粗车过程中截图。

2 R0 G$ ?. a$ `" T* x

O1234

- Y9 N& P, P! ?* }% d

Sffice:smarttags" />1200M3

. V5 u* |4 j8 i Z$ O$ W

T0101

6 d6 S' k+ ]& ^. |. b& F" |

G50X100Z50

' e" B' N) F8 D: z" t1 p; ^. _

G0X80Z5

( A3 c/ T. p3 D8 w

G71U3R0.2

3 q" M( N7 t5 E; }& h. W5 l

G71P00Q60U0.2W0.1F200

* Y' W- r* l' u' ?! ?0 I

N00G0X6Z1

4 k; a! I" A! c0 {4 r! p

N10G1X10Z-3

# K, @0 Y6 S9 \3 ?0 |

N20G1W-15

! c/ G) H$ }1 v y+ A, l6 W

N30G2U30W-15R15

; C6 G" D% Q; p: j. y: i1 e% [6 T- B

N40G1W-30

! `4 _$ G0 V; Z* [

N50G3U30W-15R15

* _1 n8 Z3 K3 j0 W* Y

N50G1U10W-10

: L9 B# l9 W( [ H" x4 Z+ c& Y

N60G1W-70

1 J% X. Y" ?& i" G# m$ B

N70G0X100Z50

7 e) [3 c. ~9 G- s8 M

G0X30Z5

1 `6 W; h8 ^$ z

G70P10Q60

1 N# m5 |( y( ?# [8 m

G0X120Z20

5 O. @% E% ]/ O& c9 O: t& R3 L

M30

W% C8 Q& S9 i8 [

: Q1 y5 I; s2 N2 h

O1235;G72横向切削复合循环

: r; P& O. w9 d; V

S1200M3

4 I) N! T2 U7 K7 X' L( r8 E

T0101

9 y* d" S0 u$ {" C8 F% c3 W e

G50X50Z50

) h2 X3 i' K- y4 R

G0X32Z5

, f; ~" K+ { f

G72U2R0.2

- K+ X+ \, I( N& j$ K' i/ O' g- Y% @

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

/ M5 k% B) y5 d9 D& _, G

N10G0X80Z-80

0 D2 {* S; u4 z$ n1 `

N20G1X60Z-70F100

) O4 x) \; |% ^% Z. s- J2 E

N30W8

% \! M: E, U% @6 `

N40G3X30W15R15

! ^4 l8 O! U5 u

N50G1X18Z2

. l9 n/ e7 N* m; ^2 d$ H) E

N60G0X100Z50

/ f0 a% i% I1 c- ]2 Z

G0X30Z5

! Q+ M U% B* ]0 P2 g' K6 l" |$ I

G70P10Q50

7 K1 v! w8 F$ n

G0X100Z50

2 [) Q9 V0 L1 R5 S( p& r0 f

M30

5 t i3 c" S4 A4 Y# t

3 i8 U$ v9 t8 A; }$ t

结论 

2 D/ R) V% E9 d2 D0 N

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

2 D& o& z7 ^# r

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

/ f, E/ [: T k# ?4 v

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

$ }( [6 y0 o F+ Q! b

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

, |$ t# M( k+ f7 v

 

本帖子中包含更多资源

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

×
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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