|
马上注册,结交更多好友,享用更多功能,让你轻松玩转磨削论坛
您需要 登录 才可以下载或查看,没有账号?注册会员
×
1 引言
' |& X! K0 T3 P4 G; ]. v8 O由于小模数-齿轮滚刀的模数小(m≤1mm)、滚刀尺寸相对较小且精度要求高,因而其设计有别于普通齿轮滚刀的设计,其结构具有以下特点:①小模数剃前齿轮滚刀由于凸角很小难以加工,因此需采用小压力角,以非均匀留剃形式减少磨损;②滚刀采用整体式结构,而不是镶齿或装配式结构;③无需键槽;④容屑槽采用直槽型式。 ) k& C" \/ u ~# n+ j: Y
采用传统方法设计小模数齿轮滚刀时计算量和绘图量大,其中还有许多繁琐的重复性工作。而将以ObjectARX的应用工具为载体、用VC++编写对话框以及使用数据库管理技术开发的 AutoCAD 系统用于小模数齿轮滚刀的设计,可大大简化小模数齿轮滚刀的设计计算,并可自动校核铲背曲线。 i T. x0 Z# A
2 参数化设计的特点% T4 D) W: e) p; ] V: p5 M4 q+ K9 p
AutoCAD 是一种开放体系结构的应用程序,用户可以利用它进行定制和编程,是参数化设计常用的开发平台,其主要的开发系统有AutoLISP、ADS及 ObjectARX等。AutoLISP是CAD早期版本的编程语言,是一种解释性编程语言,不必编译,通俗易懂,但缺点是运行速度慢;由C 语言和提供给开发者用来创建应用程序的C程序库组成的ADS(AutoCAD Development System)随着AutoCAD R11被我们所认知,现已以ADSRX 的形式被集成到ARX中。ObjectARX应用程序是一个动态链接库(DLL),其运行速度快,能共享AutoCAD的地址空间并可直接调用 AutoCAD的函数,同时能提供一个面向对象的C++应用程序设计接口,是AutoCAD推出的新一代二次开发工具。因此,本系统程序采用ARX应用程序进行参数化设计,其程序结构具有以下特点: 0 K$ ~' h6 }8 S3 a; {' P" C) [0 J
9 X% Z+ L& g7 D- 利用ARX 开发-工具,可方便地使用MFC 开发ObjectARX 应用程序;提供了AutoCAD内部实体和其他对象的数据结构,使应用程序和AutoCAD完全结合在一起。
: z6 C7 H1 r9 s1 V- ObjectARX环境提供了一组类,使开发者能够创建基于MFC的用户界面,其外观和内建与AutoCAD的用户界面完全相同,因此具有良好的人机对话功能。
5 ?) |( c& w) f* }8 U q3 滚刀外径参数优化及铲磨可能性校核' e8 H- C4 a; J9 q$ |! [, E
" h8 z$ O/ W4 U# v
- 滚刀外径参数优化 0 g4 K: b V8 J: D1 ~# \, w
- 通常,滚刀外径可按式(1)计算。 % l" ]- J7 C0 q1 d8 L. x+ d
$ `$ H4 D; ?( ?& p. w& b5 t5 X5 L4 P. r, w3 r6 @7 e9 l `* x3 [- ?* v" p' d$ z/ V# }3 U9 _1 |( g6 h
Ded=S02 sinafn/(4?cos2bf) |
(1) | 式中:?——被切齿轮齿面波度(?m) 7 G' F+ T* o% _( F! d6 F" N
- S0——工件每转一转时滚刀沿工件轴向的进给量(mm/n)
7 `# b7 z* K4 ~" j- afn——滚刀分度圆法向齿形角
% a. d$ G' m# f9 l4 m! U# Q- bf——被切齿轮分度圆上的螺旋角
2 b. r6 {: q! i0 [" |+ x# b/ C' x1 B( I) V4 s; z, H7 E1 l! C! p( h% P, u* T# }2 T3 b. G$ }, u' `2 `9 @
6 {' E2 E/ S S7 w  图1 滚刀外径对齿轮齿面波度的影响(afn= 20°,bf= 15°)
|
0 {( S m4 k# ]" D- D* U5 [- 由式(1)可得被切齿轮齿面波度与滚刀外径的关系曲线(见图1)。
# m% ?4 p* j* }( c- 由图1可知,随着滚刀外径的增大,被切齿轮沿齿向表面的波度将逐渐减小。故对精度要求高的齿轮,应选外径较大的滚刀。但外径的增大应有度,不宜过大:一方面,在加工小模数齿轮时,轴向进给量一般不大于0.5mm/r,过分增大滚刀外径对减少齿面波度无显著效果;另一方面,当滚刀外径大于50mm时,外径对波度的影响已经很小。因而外径取值宜控制在25~63mmm 之间。
, V m/ G3 H; N# Y$ y# @" K
- 外径初始化程序如下:
9 l9 z! q& ?: l, L2 r# m! @- void InitGunDao { ……
; {1 h* x! _2 U& e; ?- (if m fmodule > 0 && m fmodule <= 0.15)m_uouterdia = 25;
7 r7 W8 _, W' }
- else (if m fmodule > 0.15 && m fmodule <= 0.4)m_uouterdia = 32;
9 ]* m6 N, j( a7 k. L( I
- else (if m fmodule > 0.4 && m fmodule <= 0.6)m_uouterdia= 40;
6 G- L6 C3 f& P8 U( d
- else (if m fmodule > 0.6 && m fmodule <= 0.8)m_uouterdia= 50;
- D2 C# G U# M0 r1 h' ]- else(m fmodule > 0.8 && m fmodule <= 1.0)m_uouterdia= 63;
- A: i* r8 q! n- }, V+ y9 \- ……}
. x8 M* Y; {6 ?8 g/ x1 `% i5 x$ E% o+ g0 L T! X2 V6 e: j- l) Q9 ^# j3 V8 z( Q6 g+ O8 X0 a
& R8 A" X; I0 e6 d2 ?
 图2 铲磨校核流程
|
2 A+ Z8 T7 z- i# K( k6 X8 L I- 铲磨可能性校核 $ z' L+ ]7 A' g) ]# E
- 用传统方法设计滚刀时,通常采用人工作图法对于滚刀铲磨可能性进行判别,其准确性无法保证,常导致铲磨滚刀轮齿齿背时,砂轮和下一个齿发生干涉。因此在小模数齿轮滚刀CAD 系统中需要编制自动校核铲磨可能性的程序,其流程如图2 所示。使用时,通过对话框交互修改参数,完成铲磨校核,具体程序如下:
: n! b1 Q; G% U/ t3 U% j- void Check { ……
( l( d. w$ c: x
- BOOL flag = TRUE;
0 O7 s3 B* A. j" F+ i3 Q7 u% ^
- while(flag) { flag = FALSE;
9 l1 d, U4 b( O, \ a6 O
- for(len = 4/7*len1;len<= 6/7*len1;len + = 1/14*len1) / / 确定铲背曲线与砂轮的交点
6 Z8 v/ [# V5 z, G3 y- {
; o* `5 V% X( {/ ?) P. ]
- …… . / / 作图以准备校核
% {. g" @! s0 y7 z, i3 P, M4 k
- (if dist1>dist2)break;} / / 有干涉吗?若无干涉,跳出循环
: H0 A" ~& }( P7 N0 P- u; r5 H
- (if dist1 <= dist2){
: G0 c* T1 I; K7 t" O- }
2 I7 i# G) T) U7 c* v k6 x- u
- CanShuDlg. Domode(l); / / 对话框交互修改铲背量K、外径Ded
% q. P& i$ i- P
- flag = TRUE;}} ……}
- D7 N8 R; L5 `* N' J8 ?) `- q4 V3 y% n/ M; T5 b Z2 G# \6 T+ |5 M6 y9 {0 G& c. t
$ X& T# R& }+ M- E  图3 面向对象的滚刀CAD 系统信息模型
|
% D8 L/ K- q9 R, b% g. ^. z4 Q7 Q4 小模数齿轮滚刀CAD程序结构分析
/ A2 y/ |. W# k8 m( Q( p0 I滚刀CAD系统由刀具图纸标题栏参数输入、刀具选择、被切齿轮参数输入、刀具参数输入等模块组成。通过面向对象的分析方法对滚刀CAD系统进行分析,建立如图3 所示的信息模型。在此基础上,再采用面向对象的程序设计语言对对象和对象间的关系进行分析。 @' ^+ x* `$ D/ g) y3 s4 ~1 o7 ]
为便于拓展齿轮刀具设计的通用性,通过归纳,将齿轮刀具的共性作为基类。此基类依附于各具体齿轮刀具,不必有具体实体,故可设为抽象类。其部分属性如下所示:
3 p- e$ c a* Q7 Y+ |4 Lclass Cutter{ 4 }) Z/ x! J( G' s: U7 r4 b
' y8 {* r+ k0 P% _- P B: S5 K7 V# n; S8 _2 v9 Y
string Cutter_ID; / / 刀具编号
: K$ z' R# p+ Q7 q- I$ n4 z9 \% Q. `) V0 t3 Y/ e) m$ p
string CutterName; / / 刀具名称 . x, \ f! g- g& W
0 r/ h3 i+ j& a' O/ Mstring Material; / / 刀具材质
0 Z& x/ h& u# j; T9 F# A6 E: D9 x! x) v5 c$ _# b- W; S3 _9 x8 j
string Product_ID; / / 对应产品编号
1 R2 H& _4 v# [( ~$ ~' l5 C' L! R% `: N( h; E+ {3 T
string Designer; / / 设计者 ( L7 H+ {0 w; S" p/ {7 n6 p; S3 w
2 m& X$ I# O4 m' W3 c4 C* vstring DesignDate / / 设计日期 3 C; Z2 l5 q! r; `+ u* _( E! j
……
# j1 Z$ H3 ^, u& [" W}; 2 C$ d; l+ H7 s
滚刀类为刀具类的派生类,自动继承了刀具的一切属性,同时又具有模数、齿数、头数、前角、后角等独有属性,其部分属性如下: E# S( `" L. @# o: s& I
class GunDao :public Cutter{
* I2 s( Y5 a% o( G9 n
3 y% }' d0 s" j" Y- O( p9 e( l" _0 `4 T& D' ?8 k8 W
float GD_Module; / / 滚刀模数 1 m# t7 ? A& ^& K7 h2 G
$ W; E. b$ `# _( o$ E# R/ J
UINT GD_Number; / / 滚刀齿数
. s) g" X5 Z- d' X/ Z7 O1 }
& i" b7 a, a: Q$ G% O, C4 k5 y8 IUINT GD_TouShu; / / 滚刀头数
2 N6 N7 J6 \* [" X3 K- y3 Q# x( h' h4 E7 v% O p7 e6 U9 [
……
& c2 h9 U% I; f5 ^0 M; W6 {; Upublic: # `+ {8 V0 @5 N/ Z9 g4 k* K
. J- C/ ^3 U8 {2 Cvoid OnCalculation();
; P# X# g, m: `% M9 Y0 c# @3 I7 ^9 N9 Q3 H
void OnDraw();
. N" a7 R3 n& ?}; 8 T: G3 m0 W, D6 `/ T4 g
加工机床和工具含有若干具有内在联系的数据项,将其归纳为一种结构体,说明滚刀加工的一些基本属性,以便在滚刀类中定义:
/ w0 |: x* J. `$ P. {struct MACHINE{
7 B; g V5 p. z4 {% y! M: O R# _+ B, u
string machine_ID; / / 机床型号
1 C- t9 z" ~, b; L3 _
& g: v3 E' ^# k& ~string machine_name; / / 机床名称
4 H) U5 W) q8 A/ c! D7 e
$ h% k/ W3 z- ?3 N! ~, d. t5 T9 i1 `; dstring machine_cutter_ID; / / 加工刀具编号
& t( ?8 J* |1 r! _' h2 N……
) L$ A6 O! |8 B8 i% k' G}
! |* [% Y v4 l9 ^' k( K通过建立以上类的对象及定义结构体,便可着手按如下步骤编制软件:
2 P+ O: o3 [2 _& b9 M7 r
2 N- E& ~2 F' u: u& Y- 定义对象。
# M$ g5 ? [/ ]7 v; o6 o1 l2 O
- 定义计算函数:
) o: R; x" r' V( r9 s$ A5 ^ \
- void GunDaoDlg::OnCalculation()
# T) ^! _8 C: d @) _
- [UpdateData(TRUE);
- V! M6 H! G; T& K9 p g
9 ` o5 r9 h/ Q; z5 O6 Y- dlg.m_fgdpmodule = m_fgearmodule;
. T; h5 e- `7 N- C2 c# z3 P! A
2 I+ I5 @" s+ W: Q
- dlg.m_fgdpyalijiao = m_fgearyalijiao;
, Y9 m6 G* H3 h) c: J7 ^+ d5 v. T* f3 n' w* F$ ^: F9 B
- dlg.m dgdpluojiao =(180*FengYuanLouJiao Ca(l)/ PI);
/ p' y7 ~; ^! ~9 K/ i
7 p$ C4 G$ R+ j9 {0 A. \
- ……
+ s( U& W: R% {) D
2 M2 ]* |8 R4 c! i- dlg.m_fgdpzhouchixingjiao = m_fgearyalijiao;
% ~, l, ^1 ?3 V% {
* M# Y9 Q! k5 Q8 P! G! {
- dlg.m_dgdpzhouchiju = ZhouXiangChiJu Ca(l);
3 M" V4 R. f1 a
+ |/ [! k/ D% t2 g
- dlg.m_dgdpzhouchihou = ZhouXiangChiHou Ca(l);
# ?& z% `8 {1 H# o2 f1 R" L% i: m$ t2 I' A6 W3 S' }
- int ret = dlg.DoModa(l);
$ A: b L' c! K9 D! T' n- }
+ x( j- S4 J$ Q; r5 @- 消息链接。
3 W: c$ s% H" G" h- 在Object ARX环境中调用Object ARX全局函数编写绘图函数。
( R {* r) B R# Z3 }: ^2 y- z, N/ w
5 结语5 T' G0 U6 J) x& I+ @+ m1 n, q
小模数齿轮滚刀AutoCAD系统采用全参数化设计,实现了参数优化及齿背曲线自动校核,可显著提高设计的科学性和可靠性;同时对表面粗糙度、形位公差等可直接进行插入标注,大大减少了工作量,提高了设计效率。 3 s( W# k; Q7 }) K/ G
|
|