找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 800|回复: 0

小模数齿轮滚刀CAD系统

[复制链接]
发表于 2010-9-13 22:24:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转磨削论坛

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

×

1 引言

2 w3 G" r: s' t5 Y1 [
由于小模数-齿轮滚刀的模数小(m≤1mm)、滚刀尺寸相对较小且精度要求高,因而其设计有别于普通齿轮滚刀的设计,其结构具有以下特点:①小模数剃前齿轮滚刀由于凸角很小难以加工,因此需采用小压力角,以非均匀留剃形式减少磨损;②滚刀采用整体式结构,而不是镶齿或装配式结构;③无需键槽;④容屑槽采用直槽型式。
1 F Y" [! O+ b. w+ R7 ^0 C
采用传统方法设计小模数齿轮滚刀时计算量和绘图量大,其中还有许多繁琐的重复性工作。而将以ObjectARX的应用工具为载体、用VC++编写对话框以及使用数据库管理技术开发的 AutoCAD 系统用于小模数齿轮滚刀的设计,可大大简化小模数齿轮滚刀的设计计算,并可自动校核铲背曲线。 - G X" m+ X! C* O! o

2 参数化设计的特点

# p4 o' {( E8 f2 N( x! E
AutoCAD 是一种开放体系结构的应用程序,用户可以利用它进行定制和编程,是参数化设计常用的开发平台,其主要的开发系统有AutoLISP、ADS及 ObjectARX等。AutoLISP是CAD早期版本的编程语言,是一种解释性编程语言,不必编译,通俗易懂,但缺点是运行速度慢;由C 语言和提供给开发者用来创建应用程序的C程序库组成的ADS(AutoCAD Development System)随着AutoCAD R11被我们所认知,现已以ADSRX 的形式被集成到ARX中。ObjectARX应用程序是一个动态链接库(DLL),其运行速度快,能共享AutoCAD的地址空间并可直接调用 AutoCAD的函数,同时能提供一个面向对象的C++应用程序设计接口,是AutoCAD推出的新一代二次开发工具。因此,本系统程序采用ARX应用程序进行参数化设计,其程序结构具有以下特点: , Q+ e6 E" W0 B; D- P
    . E Y2 K7 `( p- ~" a! J
  1. 利用ARX 开发-工具,可方便地使用MFC 开发ObjectARX 应用程序;提供了AutoCAD内部实体和其他对象的数据结构,使应用程序和AutoCAD完全结合在一起。
  2. # w0 m# O3 ]3 e/ A0 k
  3. ObjectARX环境提供了一组类,使开发者能够创建基于MFC的用户界面,其外观和内建与AutoCAD的用户界面完全相同,因此具有良好的人机对话功能。
0 C1 _) ?5 G4 |" F

3 滚刀外径参数优化及铲磨可能性校核

8 P* |" h2 i: f& g3 ~9 U1 p
    a4 O9 Q' J- B# T
  1. 滚刀外径参数优化 ) i6 u' A1 \* |3 J$ [" ~3 c# J
    通常,滚刀外径可按式(1)计算。 $ }" H1 X, h K* V : Z& d, `8 @( P: g0 Y8 w- o. r% u- ?% |' {# V2 h0 a% P4 D/ D" R+ J% k# |5 |# L7 |0 D1 r2 X8 [" y3 L
    Ded=S02 sinafn/(4?cos2bf (1)
    式中:?——被切齿轮齿面波度(?m)
    : x" m8 M1 f( K, N
    S0——工件每转一转时滚刀沿工件轴向的进给量(mm/n)
    ( u; ~7 j; R* I3 I/ [8 d) Y
    afn——滚刀分度圆法向齿形角
    / ^9 e9 g( K" R
    bf——被切齿轮分度圆上的螺旋角
    ' U b) r" u% N2 Z: |, D. l S: `& a0 u* h( A( R1 E8 R* k; ` J) m! W1 z @" r% x: W+ a: m9 L3 t
    3 S ?! \- R$ H7 J+ Y6 S0 c


    图1 滚刀外径对齿轮齿面波度的影响afn= 20°,bf= 15°)

    1 {$ t8 d0 H' E- M! g; T
    由式(1)可得被切齿轮齿面波度与滚刀外径的关系曲线(见图1)。
    9 P+ y, g/ J2 r& g Q$ b4 l; M
    由图1可知,随着滚刀外径的增大,被切齿轮沿齿向表面的波度将逐渐减小。故对精度要求高的齿轮,应选外径较大的滚刀。但外径的增大应有度,不宜过大:一方面,在加工小模数齿轮时,轴向进给量一般不大于0.5mm/r,过分增大滚刀外径对减少齿面波度无显著效果;另一方面,当滚刀外径大于50mm时,外径对波度的影响已经很小。因而外径取值宜控制在25~63mmm 之间。
    . G. O: ^* i" X+ r
    外径初始化程序如下:
    - j" \4 C; m1 K: ^
    void InitGunDao { ……
    4 X% U1 x2 y( S% V
    (if m fmodule > 0 && m fmodule <= 0.15)m_uouterdia = 25;
    , l: K$ _" J) n2 {+ J# ?3 y1 I
    else (if m fmodule > 0.15 && m fmodule <= 0.4)m_uouterdia = 32;
    * F1 v% r8 n& |0 r. r# T. W
    else (if m fmodule > 0.4 && m fmodule <= 0.6)m_uouterdia= 40;
    $ a& c! A$ C7 ~* E
    else (if m fmodule > 0.6 && m fmodule <= 0.8)m_uouterdia= 50;
    ) `* |1 O( ?' c. D/ q
    else(m fmodule > 0.8 && m fmodule <= 1.0)m_uouterdia= 63;
    ' E4 M$ N) n5 ]+ {9 s
    ……}
    * _* E3 x2 m' l6 ]$ Z ) e0 Z9 \6 c7 F2 l/ Q. [( H& R o7 w2 s! p: m* Y* [% z* K }
    0 ~* n' O1 U5 c/ I" W4 k


    图2 铲磨校核流程

  2. & J; o( ?" v t+ X) l t% I
  3. 铲磨可能性校核 . n8 R3 o* c5 d8 e: a) x2 @
    用传统方法设计滚刀时,通常采用人工作图法对于滚刀铲磨可能性进行判别,其准确性无法保证,常导致铲磨滚刀轮齿齿背时,砂轮和下一个齿发生干涉。因此在小模数齿轮滚刀CAD 系统中需要编制自动校核铲磨可能性的程序,其流程如图2 所示。使用时,通过对话框交互修改参数,完成铲磨校核,具体程序如下:
    ! s: v5 u. p5 P# D9 G* y
    void Check { ……
    ! ^% P8 `+ [" Z* ^
    BOOL flag = TRUE;
    ( U8 Z5 u$ t. G# c7 N1 r
    while(flag) { flag = FALSE;
    5 k& c( c6 B" l: w
    for(len = 4/7*len1;len<= 6/7*len1;len + = 1/14*len1) / / 确定铲背曲线与砂轮的交点
    0 l+ m$ s y; n4 W- T
    {
    ( B9 g' v4 l9 W4 ~6 s& h
    …… . / / 作图以准备校核
    ! |" k! R" G# ]6 [
    (if dist1>dist2)break;} / / 有干涉吗?若无干涉,跳出循环
    + x# ~; q5 }$ T% w
    (if dist1 <= dist2){
    0 n* j% g w1 z5 ^# a& ?7 A
    3 }5 i. O' O+ ^, S" ^- T9 X/ r
    CanShuDlg. Domode(l); / / 对话框交互修改铲背量K、外径Ded
    - S8 M' u! A3 \3 r% B: z# l
    flag = TRUE;}} ……}

$ `+ e' a9 y! Q# ]- b * j9 \0 l# |& \& `2 N" Z5 X) G3 [: j1 `5 e" o2 A+ }0 o# V, T" ]8 H/ n
( ] ?: ` X3 ?% _3 M+ u


图3 面向对象的滚刀CAD 系统信息模型

+ ?& z) m! n# C' n4 ~$ R

4 小模数齿轮滚刀CAD程序结构分析

/ G% H6 s( u3 V% M$ H h, ~- w
滚刀CAD系统由刀具图纸标题栏参数输入、刀具选择、被切齿轮参数输入、刀具参数输入等模块组成。通过面向对象的分析方法对滚刀CAD系统进行分析,建立如图3 所示的信息模型。在此基础上,再采用面向对象的程序设计语言对对象和对象间的关系进行分析。
) q# q7 G- i5 Z5 c: d5 k
为便于拓展齿轮刀具设计的通用性,通过归纳,将齿轮刀具的共性作为基类。此基类依附于各具体齿轮刀具,不必有具体实体,故可设为抽象类。其部分属性如下所示:
( u3 C {5 X8 r2 y
class Cutter{
( S# N9 T: R+ V/ L
 
; L$ F) e. Q t5 b6 l8 l3 Y- d' t
. b! l0 @8 ~9 v- c& L
string Cutter_ID; / / 刀具编号
! H+ j6 ?' Q7 v
' E! R$ L6 k& y
string CutterName; / / 刀具名称
* r5 B& ^6 c$ @
7 A0 m+ z4 P$ Q* }+ ^
string Material; / / 刀具材质
. p# H2 h5 j9 A" X# f6 W5 b
6 Y2 ^# q, |- e- ~ M! Z/ e
string Product_ID; / / 对应产品编号
, n& r O1 ~7 x) M _) g
- j/ ?3 `: A* k& q! _
string Designer; / / 设计者
' A0 ^) G% d1 l1 S2 D" l b, z
+ t& n0 F5 |4 r+ Z2 x
string DesignDate / / 设计日期
0 R' S' O# ^! i: M
……
+ ~( ~8 _ @4 J; m7 M% o5 W
};
J# ]& ^, {. f
滚刀类为刀具类的派生类,自动继承了刀具的一切属性,同时又具有模数、齿数、头数、前角、后角等独有属性,其部分属性如下:
$ E8 U! \2 H% ~1 y" ?
class GunDao :public Cutter{
% @% b" b- o: p5 n U1 ?
 
3 }; H/ W5 z7 _: ~; ~
3 x) S+ q$ t. g& p5 r. T8 e
float GD_Module; / / 滚刀模数
0 G& e0 e* f" J( y& M# r) v- f
3 l$ h6 }7 _( d( m: {! r& x7 x" ]
UINT GD_Number; / / 滚刀齿数
2 [/ S' ^: T/ q
$ U8 G B$ c( a) m
UINT GD_TouShu; / / 滚刀头数
' m& X V# ]: R8 e, T- { q
3 e# E J& U9 c& _
……
, I* v& I* R+ p0 z8 I
public:
9 P) t! S; n+ n
- u2 j" M& q6 `
void OnCalculation();
! H s; p/ _7 q, a% Z# g% n5 J5 d
" U3 v) q" L6 `, H5 ~
void OnDraw();
1 q+ V& ?' i" C
};
2 m+ \* p) |3 `3 [$ U
加工机床和工具含有若干具有内在联系的数据项,将其归纳为一种结构体,说明滚刀加工的一些基本属性,以便在滚刀类中定义:
* t4 m# |) F+ `3 P z+ Z. {3 L
struct MACHINE{
5 K' R. K) c4 }2 m
' x) E5 e3 w- {) @5 C+ r
string machine_ID; / / 机床型号
- ^( `$ } x+ u: s, D
, \$ z; E4 s% s9 l' }# K8 T
string machine_name; / / 机床名称
+ w8 o; F* K) v5 f) \
4 w1 {- T7 D2 P5 ]% Q
string machine_cutter_ID; / / 加工刀具编号
; O- F0 V5 a1 c
……
9 X. s8 \4 i2 S5 @7 Z6 Y: I2 w
}
) y9 f8 u" G# q" l, D
通过建立以上类的对象及定义结构体,便可着手按如下步骤编制软件: 5 ^) r. |$ l" h) \; h3 H
    : Y; _6 I& a: C' D0 w
  1. 定义对象。
  2. : p: n# R {$ g1 `; i- }
  3. 定义计算函数: ( G+ i" ]6 ^; c& f7 D8 V, M2 C+ }
    void GunDaoDlg::OnCalculation()
    * x" _9 W1 ?& r9 t2 K9 |2 \
    [UpdateData(TRUE);
    5 ?( ~9 `' O7 j/ B& Q$ P
    % l. t% i7 a2 P2 Q+ c' U' }+ c
    dlg.m_fgdpmodule = m_fgearmodule;
    % d/ R8 Q4 I$ ]5 i
    4 t9 Z4 d- [' |
    dlg.m_fgdpyalijiao = m_fgearyalijiao;
    5 f# C. q2 V. U6 M
    ( t+ _. F5 E% C% r) g
    dlg.m dgdpluojiao =(180*FengYuanLouJiao Ca(l)/ PI);
    1 q+ k0 ~7 p8 j6 r2 X- Y
    " y. V3 L( p, v8 k: l+ c
    ……
    1 W9 G% w9 [) j) U
    # M( X4 [4 F& f, h; K" y
    dlg.m_fgdpzhouchixingjiao = m_fgearyalijiao;
    & W# N2 w- d& H
    ) Z+ V. `- H) |5 J
    dlg.m_dgdpzhouchiju = ZhouXiangChiJu Ca(l);
    $ }' w/ F9 u% ]- p- |% s
    . O. S1 L: N8 ~) m0 r
    dlg.m_dgdpzhouchihou = ZhouXiangChiHou Ca(l);
    $ u3 C7 q4 b! b) y4 y0 n
    / I' p# _+ m0 R) j7 w7 i
    int ret = dlg.DoModa(l);
    2 @( N# F- Z2 n/ n
    }
  4. 5 I1 L% k$ c! H- n0 d9 G3 n
  5. 消息链接。
  6. # c, g/ \' J w2 @: c; n" A! b
  7. 在Object ARX环境中调用Object ARX全局函数编写绘图函数。
) V, q. s# n8 }% H! P) h+ x

5 结语

- P& |( t ^( b4 j) d+ a
小模数齿轮滚刀AutoCAD系统采用全参数化设计,实现了参数优化及齿背曲线自动校核,可显著提高设计的科学性和可靠性;同时对表面粗糙度、形位公差等可直接进行插入标注,大大减少了工作量,提高了设计效率。  
" `$ h; i- q2 ~1 L
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

中国磨床技术论坛
论 坛 声 明 郑重声明:本论坛属技术交流,非盈利性论坛。本论坛言论纯属发表者个人意见,与“中国磨削技术论坛”立场无关。 涉及政治言论一律删除,请所有会员注意.论坛资源由会员从网上收集整理所得,版权属于原作者. 论坛所有资源是进行学习和科研测试之用,请在下载后24小时删除, 本站出于学习和科研的目的进行交流和讨论,如有侵犯原作者的版权, 请来信告知,我们将立即做出整改,并给予相应的答复,谢谢合作!

中国磨削网

QQ|Archiver|手机版|小黑屋|磨削技术网 ( 苏ICP备12056899号-1 )

GMT+8, 2025-1-9 11:19 , Processed in 0.123697 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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