机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3687|回复: 0

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

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

引言 fficeffice" />

5 k9 P5 ]! a' Q! A9 E5 L% B1 h

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

3 F! F- Q- H& g9 @5 @) @

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

! D; |6 W: ~3 r" @6 G; G* T

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

+ c2 k5 }; s+ n v! ^8 z

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

+ [2 G4 _, _! N' d8 a" n! w9 \

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

$ ~( G3 f1 [! ^' p% H

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

8 m3 }6 K2 D+ @2 `' n% ]

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

( r4 ]9 T1 x$ S0 U

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

- r8 K: e' [: q5 l9 b, y, \2 U& j

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

% u6 J' g- g3 ?4 x% p

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

' _/ a0 h. z( o

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

7 u3 f9 }1 Y6 c

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

0 R5 n3 r% j% H' }! H" t

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

$ ]0 Q4 b; Z x3 Z

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

2 ]/ w: Y) b# c

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

5 X/ Z8 A" c) n5 e1 t

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

4 o& s/ `0 W- k5 L3 [( `& J% b

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

) p' P( Y! r- u5 G R6 `5 R! e8 |9 A

系统总体结构 

7 N ^4 V* P& U: v* {6 |

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

' G1 X! u% O) S+ H# @# J+ R: p

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

7 J1 `$ p1 ]% e, l' Y. H6 @( N- l

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

2 y4 C2 r) n( F* q

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

: e; I2 \+ ^/ c( l

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

0 u1 {% b( V2 Q

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

4 ^0 ]* r/ \; p9 G# Q! |

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

( \( `$ d' P7 c0 n

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

8 F6 e( `. L' B, M" N& s

确性。

' p% T( g2 j6 n' J3 N- {+ o

5 g0 `4 Z+ y' ?# f+ D* t4 {

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

; ^4 Q! G1 }' w! [$ g2 s3 n

系统功能实现 

& k6 X% f/ R+ }

2.1 NC程序编译 

! `3 g: w1 {+ h8 t

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

% F; K; ~4 I$ C5 _) w7 K( [9 ?( Z

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

- Q2 ]( L. O3 E$ d, d

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

& s' Y* @3 o0 B

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

. U! d$ O. ~/ a

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

' f$ z' J+ r7 R# z0 d" f" l

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

) y* c5 H: o2 R+ N7 @

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

* `# K1 t0 `4 i) U7 u, D6 r

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

. z, A8 t/ j# ^, Y- c

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

+ e& t( Z b3 _4 e" L

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

G" p* }4 k3 s

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

# q4 M& l$ k' Q& T

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

, Z) U# v+ t& U

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

( k+ k3 w/ v0 h% ]; E

2.2虚拟车床本体的搭建 

, |: J( _2 J2 l/ Y* E; i- ^

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

& G! X: E2 I4 D) [

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

* `0 b5 N" i1 R% s8 l3 t/ _

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

; O8 W5 v2 T& u2 x8 y% |, z

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

7 _- Z7 q4 x$ Y- g+ R

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

; H" \0 ^. [3 @" }, @6 q2 v! U

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

' m' P7 U9 U2 f) }. E) Z% s

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

; C3 `! L( h; o- g+ Y

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

0 Y7 ?' w$ {" E J: o; ^0 F

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

5 r9 v% O1 V6 h( h( C; ?! _! T) h

: ]- P7 z6 _9 E: R

2.3 数控加工过程仿真实现 

% F6 h+ J) [1 E6 i& h

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

6 C1 I) I/ D, h8 J1 L6 {" W. J

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

: _ n( W' Z, a$ S8 n1 N) E

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

9 m% ^: m: ~$ p& {) G

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

1 f- l& G5 _+ h; f( T

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

, Q: E* @% V. v3 I3 v( C. w" l! L: `

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

# |0 q# J# s# I) u# T

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

; g. I; L) s T& S* I! x- ?/ Q

如下:

4 D) E6 G- h8 @; W8 o

struct PieceCylinder

9 u4 j7 S9 ^4 w/ B5 R/ j7 m- P

{

/ A W$ {# N: A; p2 M& e, l) O% w

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

* U' ^6 @7 |9 u+ X5 b" u

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

+ u" k7 j9 \/ m Q

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

| }6 I6 e8 j% L0 U

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

0 t' y. Y# d+ J, }2 `

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

" m- m0 n0 K; p* d" n+ y& m r

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

" c7 T+ m. M5 A

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

* A9 B% u: I2 S1 I: C

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

, G) c& n: e2 i& U, \3 e

};

5 b) b3 P* r1 |- z1 b

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

( d! m% w4 D: n

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

+ O" J' H) j% L3 X) p. w& T, Y

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

; O/ a" o3 I/ H8 Z" T2 o8 o2 `

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

) ~. K* v0 B( P8 U8 E5 X q

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

9 x" B4 V/ X1 O

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

, w' I5 T/ Z B& H

存储。

/ ?) L. f) k Y& x! J; d# P0 @

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

$ k/ z1 F' x+ B0 f. B. I0 M

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

% n i1 V7 X$ }; W1 ~6 e. _/ K

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

2 W/ p! w. p( U5 l

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

[9 B* F2 X* v y9 [& G6 j

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

5 B! u8 n' q. c

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

2 p9 I* b$ Z+ S8 y

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

0 G. \- I% f9 A2 V6 ?, j. P

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

: P4 c8 Y- u% X& x5 ]9 s' }

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

' y2 |9 @/ s& ^* Y4 |

运行实例 

3 Q1 K, m) M' [9 T

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

# A# G$ g, X5 H3 n; J, D0 a# u

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

( X/ k) ], c& C% U; K

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

: |* Q) k' P; `- y1 h5 H" I# e0 x3 n2 ^! _

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

" E$ L5 T2 A! `' P( S

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

4 h! P7 @/ G) k9 d) F' T( c4 `# h

G72粗车过程中截图。

" b: Q* n" w, _+ V. D

O1234

$ l% |9 \8 A5 \3 O r( h

Sffice:smarttags" />1200M3

/ [6 t7 T4 p1 J5 q: O: C0 H' v8 y

T0101

: D% A9 O$ g0 \* x) N& O U

G50X100Z50

8 c9 R& i- G+ a: n* _1 D: C) k, h

G0X80Z5

8 b2 x* z9 H! a6 L

G71U3R0.2

, W" A+ `% o( g% \) h8 t, n

G71P00Q60U0.2W0.1F200

U1 S% I5 Y' H5 K5 q: U# f) {

N00G0X6Z1

; G9 l- [7 Y2 P' f( u3 r, L/ v

N10G1X10Z-3

( k2 |0 B8 u/ k

N20G1W-15

! Y' S/ z! E+ p* [9 g

N30G2U30W-15R15

4 N5 h2 `! R9 ]1 z

N40G1W-30

. _ J1 v9 G# F7 b

N50G3U30W-15R15

- Y; F8 b. n: G' K. H

N50G1U10W-10

- V% ?/ E; E+ u

N60G1W-70

* C# E# F: W& B. p" x

N70G0X100Z50

' g ~2 {* w* U: j3 D K

G0X30Z5

' M# C* m3 L& c) S' E) u/ c+ E

G70P10Q60

( S- z! p7 T* \: i7 O m+ ~' }

G0X120Z20

- V4 v) j( V$ w; C" ~0 l

M30

" n1 o1 b8 n2 `; v; u, J9 Z

* S/ ~- }' y A4 L4 J

O1235;G72横向切削复合循环

) x6 v; r1 u P7 b6 B W* g2 G0 K

S1200M3

. }$ D$ r1 G5 ~6 |( Z3 ?

T0101

! y9 E$ X1 j" f+ `

G50X50Z50

~* \) g2 l2 Y4 t2 g( C) s

G0X32Z5

! \: v/ @( H2 q

G72U2R0.2

H4 B, [4 e7 [6 F2 L) n; N# W

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

/ X) X! R( }9 D1 Q

N10G0X80Z-80

; n2 \, m0 H7 T$ ]$ t

N20G1X60Z-70F100

" V# N+ ~& C) G8 _8 [

N30W8

; T8 r- f% K3 B6 W

N40G3X30W15R15

$ N7 ?0 U- O2 Q1 T. c* L

N50G1X18Z2

, D( w3 W# o1 f2 N4 s- N

N60G0X100Z50

0 w4 Y8 z7 X2 K0 a# e9 l

G0X30Z5

1 e( F$ @! Q* y

G70P10Q50

7 n) n& z; k+ u1 o% h! W' D

G0X100Z50

$ |$ n4 W- I- E& h: F t

M30

; C9 O9 b2 |; O6 w3 d

5 s K) i6 Y! A+ I4 u

结论 

9 X. `. L9 D$ f) U" [3 I

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

/ G: n8 O# ~0 T

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

' N3 a1 Q6 _" k3 t; H: w9 A& B

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

3 {4 \) x3 N, ?8 n# Q. l

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

6 m# d5 [2 E* f$ C+ \

 

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 11:31 , Processed in 0.054773 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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