|
马上注册,结交更多好友,享用更多功能,让你轻松玩转磨削论坛
您需要 登录 才可以下载或查看,没有账号?注册会员
×
1 引言
( J S% s7 }/ u0 J* z9 ]# i6 V9 l1 U由于小模数-齿轮滚刀的模数小(m≤1mm)、滚刀尺寸相对较小且精度要求高,因而其设计有别于普通齿轮滚刀的设计,其结构具有以下特点:①小模数剃前齿轮滚刀由于凸角很小难以加工,因此需采用小压力角,以非均匀留剃形式减少磨损;②滚刀采用整体式结构,而不是镶齿或装配式结构;③无需键槽;④容屑槽采用直槽型式。
]9 ?# i4 E( x采用传统方法设计小模数齿轮滚刀时计算量和绘图量大,其中还有许多繁琐的重复性工作。而将以ObjectARX的应用工具为载体、用VC++编写对话框以及使用数据库管理技术开发的 AutoCAD 系统用于小模数齿轮滚刀的设计,可大大简化小模数齿轮滚刀的设计计算,并可自动校核铲背曲线。
9 d! R' b+ C6 U2 参数化设计的特点; S. v9 O; }4 e) j4 z) N3 G
AutoCAD 是一种开放体系结构的应用程序,用户可以利用它进行定制和编程,是参数化设计常用的开发平台,其主要的开发系统有AutoLISP、ADS及 ObjectARX等。AutoLISP是CAD早期版本的编程语言,是一种解释性编程语言,不必编译,通俗易懂,但缺点是运行速度慢;由C 语言和提供给开发者用来创建应用程序的C程序库组成的ADS(AutoCAD Development System)随着AutoCAD R11被我们所认知,现已以ADSRX 的形式被集成到ARX中。ObjectARX应用程序是一个动态链接库(DLL),其运行速度快,能共享AutoCAD的地址空间并可直接调用 AutoCAD的函数,同时能提供一个面向对象的C++应用程序设计接口,是AutoCAD推出的新一代二次开发工具。因此,本系统程序采用ARX应用程序进行参数化设计,其程序结构具有以下特点: 7 M+ j# {' D0 i+ [
5 P# I5 C! v. i, J, \! `5 b
- 利用ARX 开发-工具,可方便地使用MFC 开发ObjectARX 应用程序;提供了AutoCAD内部实体和其他对象的数据结构,使应用程序和AutoCAD完全结合在一起。
5 u1 n; H' D! a3 @
- ObjectARX环境提供了一组类,使开发者能够创建基于MFC的用户界面,其外观和内建与AutoCAD的用户界面完全相同,因此具有良好的人机对话功能。
- L4 `3 m A% ?% t3 滚刀外径参数优化及铲磨可能性校核
) v+ j6 t4 D- L$ U/ b ^8 b& O4 O- m3 e8 y$ Q
- 滚刀外径参数优化 9 y& @3 K0 {2 E( N
- 通常,滚刀外径可按式(1)计算。 . B* P1 A3 p& Y) v; @, p# }2 j
" V7 j5 ~/ R- u, x' E+ I L+ L1 d1 R5 P- ^# q& U- F- t" ^8 ]( [9 X/ y( `0 N7 \1 C
Ded=S02 sinafn/(4?cos2bf) |
(1) | 式中:?——被切齿轮齿面波度(?m)
3 x, h$ M; m2 E8 {+ G! t- S0——工件每转一转时滚刀沿工件轴向的进给量(mm/n)
' R# L' @* s5 I! Y) A7 P
- afn——滚刀分度圆法向齿形角
/ N2 z. h G/ V# O2 x8 Z
- bf——被切齿轮分度圆上的螺旋角
) w+ }# Z& Z( _( t1 _$ Z% C
" J; P5 w$ }* b' g: U @0 i O& m) z0 z4 J `7 n0 w
/ u3 Q9 Q w2 O* b* F) i; J
 图1 滚刀外径对齿轮齿面波度的影响(afn= 20°,bf= 15°)
| 5 J* ~6 r" C, z( \
- 由式(1)可得被切齿轮齿面波度与滚刀外径的关系曲线(见图1)。
. k2 C, G% H: e7 u- 由图1可知,随着滚刀外径的增大,被切齿轮沿齿向表面的波度将逐渐减小。故对精度要求高的齿轮,应选外径较大的滚刀。但外径的增大应有度,不宜过大:一方面,在加工小模数齿轮时,轴向进给量一般不大于0.5mm/r,过分增大滚刀外径对减少齿面波度无显著效果;另一方面,当滚刀外径大于50mm时,外径对波度的影响已经很小。因而外径取值宜控制在25~63mmm 之间。
" G, N$ ?; _0 Y8 g6 H* T2 d- 外径初始化程序如下:
3 J; s, ]1 a% u7 B- void InitGunDao { ……
; p( V" M6 o% I" w6 H/ ^
- (if m fmodule > 0 && m fmodule <= 0.15)m_uouterdia = 25;
" H' l0 Q8 L+ u( d- else (if m fmodule > 0.15 && m fmodule <= 0.4)m_uouterdia = 32;
. x: F6 b) w* z6 H5 Q! j- else (if m fmodule > 0.4 && m fmodule <= 0.6)m_uouterdia= 40;
+ H4 y* ^; ]: X7 g6 n- else (if m fmodule > 0.6 && m fmodule <= 0.8)m_uouterdia= 50;
7 o, e8 S+ [" M: @& _* \% L- else(m fmodule > 0.8 && m fmodule <= 1.0)m_uouterdia= 63;
' h# ^* I$ Y {* k \& H4 j7 h& j- ……}
& f5 e% R7 a7 f' j' I' j7 C8 O1 w. j; c/ e9 E, f9 O5 m# x; U+ s/ l' S6 a: I1 r( J8 H. W% b1 M3 V' R6 y
7 }4 l9 B9 i" q
 图2 铲磨校核流程
| ' u m% |: T' i3 S1 F4 V
- 铲磨可能性校核 / x9 W. h% r5 ^ w) f- g% {
- 用传统方法设计滚刀时,通常采用人工作图法对于滚刀铲磨可能性进行判别,其准确性无法保证,常导致铲磨滚刀轮齿齿背时,砂轮和下一个齿发生干涉。因此在小模数齿轮滚刀CAD 系统中需要编制自动校核铲磨可能性的程序,其流程如图2 所示。使用时,通过对话框交互修改参数,完成铲磨校核,具体程序如下:
, B" @; |) [: U2 l, w- void Check { ……
o' y# ^' A% n4 q- BOOL flag = TRUE;
+ ]" ]( |( ?, c7 R1 d- while(flag) { flag = FALSE;
7 v, |7 ^) H1 e: g* L
- for(len = 4/7*len1;len<= 6/7*len1;len + = 1/14*len1) / / 确定铲背曲线与砂轮的交点
9 y5 }& G7 [% _" V! w( I" _
- {
* S$ S+ M& y7 T* S& W0 p
- …… . / / 作图以准备校核
6 p" _) r/ C: h# \& {% q4 t- (if dist1>dist2)break;} / / 有干涉吗?若无干涉,跳出循环
. @6 @3 K4 b( W0 _: e. l
- (if dist1 <= dist2){
! |9 _6 c+ _" e2 D5 V' ^- t( w6 k8 {: _' N; e" T
- CanShuDlg. Domode(l); / / 对话框交互修改铲背量K、外径Ded
" C' D# o4 v6 C" V4 C& d- flag = TRUE;}} ……}
7 X5 a H- c" O0 F6 j7 ^
6 O4 r* v& A* P7 n( D7 x4 L, J" [$ C5 M5 V( X4 \& K5 p: K ~ R' f' a# H$ P3 o9 ~" m+ n
9 u: k) X' {" l4 ?4 ]6 I
 图3 面向对象的滚刀CAD 系统信息模型
|
; p6 `; V7 F% W! x' p% o4 小模数齿轮滚刀CAD程序结构分析
3 M" H' w, G* o* d滚刀CAD系统由刀具图纸标题栏参数输入、刀具选择、被切齿轮参数输入、刀具参数输入等模块组成。通过面向对象的分析方法对滚刀CAD系统进行分析,建立如图3 所示的信息模型。在此基础上,再采用面向对象的程序设计语言对对象和对象间的关系进行分析。 4 ?- F+ T5 J; o% i; n- ]" t7 r
为便于拓展齿轮刀具设计的通用性,通过归纳,将齿轮刀具的共性作为基类。此基类依附于各具体齿轮刀具,不必有具体实体,故可设为抽象类。其部分属性如下所示:
; ]" q6 s( c+ L$ x* {, `% fclass Cutter{ + y8 [4 l* N1 G$ O
' G s0 K+ S9 K% g2 [
0 r# [& y1 t w, M0 X2 M, S# Jstring Cutter_ID; / / 刀具编号 ; s8 C& \7 V; }0 Y3 m
$ p- O" d: [! O, t3 M1 s
string CutterName; / / 刀具名称
N5 y* f4 ]$ o" C6 u" U$ H- u( e0 ?$ `2 X
string Material; / / 刀具材质 + m! {5 \5 e0 X3 y8 o# n* ^! {
0 T" e; Z4 u' Q: mstring Product_ID; / / 对应产品编号 2 C) a0 h, f& v3 }+ E6 G( u3 L
6 [0 t, @( z# vstring Designer; / / 设计者
* t! a2 x: ^- p. v4 U* e0 E) h% o( l3 h; W# m
string DesignDate / / 设计日期
* F$ G+ B9 {% g4 c……
. ?" I8 L8 c/ f/ e4 `7 }}; * H a4 F& Q0 {+ z/ _: L
滚刀类为刀具类的派生类,自动继承了刀具的一切属性,同时又具有模数、齿数、头数、前角、后角等独有属性,其部分属性如下:
( Q; R5 T) T4 }. |* C' a# v7 Bclass GunDao :public Cutter{ ) Y3 g* S7 e/ v3 K8 S/ _
) _# N/ x0 A3 a8 M7 ~+ v- X! J
+ A0 F2 _; i3 {$ I6 W2 _3 ~! lfloat GD_Module; / / 滚刀模数
/ q( j, |! V( m4 z1 x9 W* ^9 n0 g( S
UINT GD_Number; / / 滚刀齿数
/ @+ v3 t' g* F1 {: ?. I# n
# M: x. p8 o& h7 g8 l$ X, nUINT GD_TouShu; / / 滚刀头数 , `- c. F& H/ w
! Z. Q$ F: @8 _: E# Z& D
…… 9 g( C0 e1 ?- a; f! t6 I2 T
public: 5 | Y3 A8 q8 b" O6 Y+ v9 D
~+ ]/ p( N; p) I+ O. Hvoid OnCalculation();
4 D" ^" U# @& h2 ~( u0 ~. E3 I. Y8 X/ b" Z3 W8 F2 t# b
void OnDraw();
; B% b, F4 Y( s' |- n9 h1 \5 m};
6 |8 k4 \ T( E, v加工机床和工具含有若干具有内在联系的数据项,将其归纳为一种结构体,说明滚刀加工的一些基本属性,以便在滚刀类中定义:
# w& R R- w0 N I* s" A" M! V4 cstruct MACHINE{
3 M! l8 N/ Z2 k+ x. ]: W* ]6 T
3 @2 ]! |7 p, b9 `3 F. Fstring machine_ID; / / 机床型号 / T6 x1 J0 g/ o; }
& g& z, w7 k/ K9 f0 p* p. k9 Lstring machine_name; / / 机床名称 3 N: s! e& ?7 F" E2 q5 N
# V& j7 T" |$ x
string machine_cutter_ID; / / 加工刀具编号 $ M u' d: Y) _& b
…… ) G3 R+ X; P4 n; I
}
& l( E4 Q5 I# H" c$ u% a通过建立以上类的对象及定义结构体,便可着手按如下步骤编制软件: + Z% _6 N) t+ ?8 @" Z8 q, t6 Q/ c
i5 @* U: M) ]6 K3 e" @- 定义对象。
6 @: @0 A; w4 ~$ }6 { ?2 D1 z+ H7 u5 b
- 定义计算函数: ; x l. N4 N8 e, d |4 o8 Z2 m
- void GunDaoDlg::OnCalculation()
1 L& P) x |. Z; C
- [UpdateData(TRUE);
) Z! ?. _) g% A2 s" C! Y$ {
; p: @3 K `- b% W T! F- dlg.m_fgdpmodule = m_fgearmodule;
' A+ L3 ~5 G+ e! f4 X
$ l8 h# q! N1 G5 t' g( a' e2 l" n
- dlg.m_fgdpyalijiao = m_fgearyalijiao;
8 Z1 @8 Q0 a- T& T" j
" H a) X" |" {
- dlg.m dgdpluojiao =(180*FengYuanLouJiao Ca(l)/ PI);
2 j+ T" y }9 v& q# O3 q$ z
7 c0 ]# ]- g/ W+ K# |: G- ……
7 z. m6 C3 x9 d* Q/ F" P0 [
! i& {: }! g( _9 y
- dlg.m_fgdpzhouchixingjiao = m_fgearyalijiao;
3 O; Q! ]3 s. \$ E5 ]
* T6 k( I `! d' Q- dlg.m_dgdpzhouchiju = ZhouXiangChiJu Ca(l);
7 C( P/ J, \4 m$ r4 ]1 a b$ Y8 \9 i8 Q' f2 X7 F, j
- dlg.m_dgdpzhouchihou = ZhouXiangChiHou Ca(l);
/ a! B6 ~) a# N: O: A' G% x
4 e" Z+ R2 C- p" K' l9 \: O2 O7 f" n- int ret = dlg.DoModa(l);
, Q: h' g0 y- R- Z+ c* Q. Z% H
- }
5 ~ q& j6 p( `; _" ]
- 消息链接。
9 [' ~3 u3 m0 m1 u5 u5 z* \7 h- 在Object ARX环境中调用Object ARX全局函数编写绘图函数。
& Z+ o5 J6 |& N+ v
5 结语
$ Y' u1 D: i* B7 R9 ?5 v7 ~小模数齿轮滚刀AutoCAD系统采用全参数化设计,实现了参数优化及齿背曲线自动校核,可显著提高设计的科学性和可靠性;同时对表面粗糙度、形位公差等可直接进行插入标注,大大减少了工作量,提高了设计效率。 4 w# {8 R* e( n' S6 q+ F2 s, E( m
|
|