找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3913|回复: 0

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

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

引言 fficeffice" />

5 J- |5 u! i. K" D# e' S

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

) W) q- T; m! |+ J b* s& n% f

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

+ s/ _3 Q8 Z' v( f: z1 P

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

8 x T- Q" [ u4 o3 w) o* R7 K

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

. v. H& v) S( [' t+ T% n( s; y3 Z

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

9 z7 y3 x$ G+ k! B5 y$ V6 U

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

1 Z4 x7 ?! }1 \) S, z

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

1 i) d/ h. t/ ^3 h9 r

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

& s- `, Z: J$ w" f' C/ C

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

! T2 Z- Z9 B% \6 G3 E: D8 c

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

" T+ T4 ` B3 B2 |, ?2 n

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

% r6 [% x; o( E8 {+ e

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

5 ~2 D. W/ y( c& E8 R) u

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

) e7 _3 y0 o7 E R) f" U

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

7 \; z& {3 d/ q- V

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

, z! @: J+ P: \8 A

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

* ?; |# P, ?7 Z$ r) A2 i

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

# y! M( \9 l2 D% M

系统总体结构 

$ @6 X3 V- f6 g0 D

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

* P+ N6 C- j0 e* j" Q+ l

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

4 @7 r V" R( h" ^* L

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

6 d1 I& M0 |) m$ o

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

# |0 k- d7 c& H/ u: \2 W

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

% Y" n. J9 W$ z8 f

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

* P+ }' T+ n; d' n' b

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

, F' g& b9 r. a, Y. f9 p

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

* t5 X: E* b- W) B" c

确性。

2 X& U% B8 M F5 F' j

" K X* e3 p( n& L

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

& ` W: d9 @3 }/ H2 ~6 r

系统功能实现 

" X! I' R5 K# D$ s" o& H

2.1 NC程序编译 

( P0 a% x) r2 V$ {. s l

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

, v h" a* X/ A9 ]0 M% P

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

. Q6 h5 a# D. w0 l

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

$ c( W7 s$ i9 |& v6 M/ U/ Y

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

b9 ]0 l" p& b( `

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

2 Q# k" f( f- z$ U0 N

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

: x0 m2 J+ {9 w9 i! [( G# f

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

. R* _/ F x u, I! R. ?7 Y) e* B

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

, Z' N% G8 T* l0 n$ U- w: ^. `5 R

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

: j4 @# |* ]) C) m' F( @* n

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

7 C- D9 L+ O) O% v3 C' b: w: N

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

& V+ { M( K& k! o

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

2 A! M- p5 o5 z b' Q

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

* e0 m$ c! m% h0 H# d0 e

2.2虚拟车床本体的搭建 

9 S# t4 @! b& F+ q8 _. }! k1 y

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

* }! Y* e; F+ z% s+ f; {* w) F2 w

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

& P1 H0 u$ J7 T$ b- l

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

' Q( H1 H6 o' o, l. f

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

& p( F; Z7 z0 d4 G1 \

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

, C! G# A4 ?4 B+ O

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

0 b5 ]1 ~, F7 L6 {7 W6 m' `2 V

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

# C9 V, N" }8 G- L0 ~+ B7 r& n( ]

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

: x# K4 ]# u0 T" z1 c% I

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

$ m$ r. j! ^, J( l- h9 A) q

' \+ _& y% D% @+ @* \ M

2.3 数控加工过程仿真实现 

: K6 X0 l0 V! s0 I4 i" W; G1 ^

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

( d4 L: h! F8 u2 ?; {) ]

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

% |& K" B# k* e9 _6 L9 k& U) F

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

( V8 ]1 I2 [6 i( [/ f3 H5 U

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

! w& j" D, F1 v! t! m7 L

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

7 m. r# W9 ], A9 X: T2 {9 J

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

/ A! h5 }1 @+ p; A4 h; B, l b5 _

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

) |2 \3 ?4 G7 q

如下:

8 F- |8 t7 [8 l5 K* w* C

struct PieceCylinder

8 D# N# h7 g& Q6 o8 M# s. R

{

- N* Z' w0 f" @# r9 R$ h

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

) @# x1 C% e) L0 e8 |

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

& ~2 d* p. f; V

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

4 j% Y; ]7 ^0 `8 q. x+ v* ~9 h

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

, t# i m4 d |6 P5 i

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

8 I8 |. `2 N8 V, P' y7 J- |

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

- E% M" }' v% J1 v- Y, n

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

2 D# e( Q/ U# J+ C6 x$ R

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

/ [& u* E, f' e. V9 C

};

" L6 ]' q0 c) u% _4 B

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

9 O0 d. e/ i3 H+ t

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

9 ?! v# l- Z4 o2 q7 i3 l

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

1 p& I) N3 r |- B' Z1 V

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

# T* A' D/ m' K# ~3 h7 z

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

- f. f9 ]5 Y' u* `

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

S' n) E F: F4 e3 n7 j

存储。

v' Z3 H6 v# h% n

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

: M. x1 L+ s: M, ~6 A

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

' c" @& J- g( N2 \

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

- y9 ~) f4 `5 t# _( {+ f

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

( D) ~1 ?0 |' }5 e

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

P$ H% G% Y# X- K6 r

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

; r7 e0 k/ @0 _- C0 ?' O1 h+ `

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

, L3 Y# }" N9 G# Q

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

" G( I) U" i& M$ H/ n. M" g

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

1 R$ C6 D# Y& }5 |+ N4 ~7 b0 t

运行实例 

7 a" T/ I: i4 a+ S& a! O

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

5 g) [0 i# e8 z3 I8 |! f$ z( D1 o

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

' `- Z. o b& f- Y2 y" M6 t; h" _0 z

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

, ~, Z& [9 Y5 a& e, f7 X

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

. ^% h) N( j# x5 M3 Y. g

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

+ r& c; R/ c* s5 i4 a: r( ^

G72粗车过程中截图。

& d- ~; f% E/ R/ \9 M1 ]/ U7 N

O1234

: O) r {) B R3 l5 h

Sffice:smarttags" />1200M3

0 m0 Y/ i$ h4 Z. y8 x

T0101

) o4 w$ n/ v7 s# E

G50X100Z50

- r0 u4 E/ w9 \/ i: m. X6 p

G0X80Z5

! g+ o8 V% `" v$ I5 M+ `

G71U3R0.2

2 U8 u8 n1 L6 r: R8 o" v9 |

G71P00Q60U0.2W0.1F200

0 [% T5 A2 R8 f) A, Y9 _

N00G0X6Z1

! y# ^$ `1 n) r0 o+ D0 q5 b' f

N10G1X10Z-3

( v- v, E* ^. v9 G5 Z `4 h

N20G1W-15

# M7 }- _% L$ M

N30G2U30W-15R15

+ I3 a& C0 r2 }5 f0 Z

N40G1W-30

, a$ P2 @& _6 A5 O) d3 s( v" e" `

N50G3U30W-15R15

1 F; m$ b. \2 f8 m7 m3 G2 M& I

N50G1U10W-10

' Y8 j/ E0 F( ] s9 h1 a& I# K3 U# J

N60G1W-70

6 o5 A+ D6 z! d" [6 [3 A1 I

N70G0X100Z50

( H8 {/ O2 n4 ^( d; G3 g

G0X30Z5

+ T4 v" m6 d/ q1 H! A$ L

G70P10Q60

1 v1 w2 P1 ~/ P" @' ?& _

G0X120Z20

4 a4 S2 i* i" K8 H

M30

, f0 t# ?- ]$ d7 y4 _+ Q& i

. Q$ w: C8 `, z! y$ G5 Q

O1235;G72横向切削复合循环

' K* R2 Z$ U3 s- c+ a

S1200M3

( G% _4 f$ }& E3 e o+ Q! `

T0101

: O- Y5 O+ k0 L0 l/ T6 N

G50X50Z50

0 u' c+ f/ o6 L

G0X32Z5

3 s% A5 q# U# o5 Y

G72U2R0.2

# w _) R4 k; Z' Y. X

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

& y3 l1 b C" X( w- y! C% j

N10G0X80Z-80

, q" E. ]; u* N6 r9 w

N20G1X60Z-70F100

+ L8 W2 L8 q: @+ A9 E/ z0 y

N30W8

) G2 M! A/ w7 U' k8 I

N40G3X30W15R15

* }4 ?! p9 V" M- g

N50G1X18Z2

; T6 n2 H& j) u5 r H' Q

N60G0X100Z50

! x8 C8 y" ]! {) F

G0X30Z5

: ~* s% T; w o% }, y

G70P10Q50

3 n3 V3 ^8 v' U1 i/ B2 J( j- q

G0X100Z50

9 Y4 Z2 F; Y) ^9 P* k. q3 t

M30

0 ? `" o0 U( R' ?

# J' v$ L7 v7 ?8 u' D' v

结论 

, [$ Q8 j3 C) \- o

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

: x. A+ e1 ~* z- X; a' G( w# D

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

- a" W; |5 y6 G

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

8 s$ m( ?; e0 Z" Z" e6 w) V M8 a

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

2 Q# z/ [0 L; D! O; K3 p, f

 

本帖子中包含更多资源

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

×
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-29 10:03 , Processed in 0.071066 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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