1 引言
在设计典型复杂刀具(如铲齿成形铣刀、盘形齿轮铣刀、齿轮滚刀和蜗轮滚刀等)时,为方便刀具刃磨,取零度前角(γf=0°)。当刀具用钝后重磨前刀面时,为保证每次重磨后的刀齿刃形(刀具任意轴剖面内的刃形)基本不变且有适当的后角,要求刀具各轴剖面中形状相同的刀刃应沿刀具半径方向均匀地逼近刀具轴线,因此这些刀具的后刀面也是成形表面。这种成形表面可用铲齿的方法获得,但对于精度要求较高的铲齿成形刀具,其齿背除铲齿外尚需进行铲磨方能达到要求。需要铲齿后再铲磨的刀齿齿背必须采用双重铲齿:即在铲齿时,齿背曲线的AB 段用铲削量为K 的凸轮进行铲削,而齿背曲线的BC 段用较大的铲削量K1(K1>K)铲削。采用双重铲齿的目的是避免铲磨时砂轮磨削完AB段后在BC段形成凸台。刀齿齿背的双重铲齿亦可选择方式。
2 齿背曲线(铲背曲线)的生成及算法
齿背曲线是刀齿后刀面在铲齿成形刀具端剖面中的截线,理论上该曲线是对数螺旋线。由于对数螺旋线制造困难,因此生产中采用阿基米德螺线代替。而在绘制刀具工作图中的端面齿形时,为简化制图,又采用近似圆弧代替阿基米德螺线。
应用典型复杂刀具CAD绘制齿背曲线时,根据手工绘图时的近似方法,由已知参数d0、zk、H、h、θ、r、K、K1、af和圆心点pt分别求出刀具工作图中端面齿形的各个特征点坐标,再通过COMMAND函数调用AutoCAD 的绘图命令绘制出端面齿形。
绘制铣刀、滚刀等刀具工作图中的端面齿形时,其难点是确定双重铲齿的齿背曲线中两次铲背曲线的交点和铲背曲线与容屑槽左侧棱廓直线的交点。但是在Visual Lisp中没有集成求解弧线交点和弧弧交点的函数。为解决这一问题,笔者开发出一套简单实用的弧线求交和弧弧求交算法。
2.1 弧线求交算法
已知直线两端点P1、P2、圆心O和圆弧半径R,求直线P1P2与该圆弧的交点坐标(点I为弧线交点,点M为直线P1P2的中点)
根据已知各点坐标,利用中点迭代逼近法可简单快速求出弧线交点,其算法流程。根据算法流程,利用Visal Lisp的图形处理函数功能,设计如下弧线求交子程序INTERAL:
:::函数INTERAL 为求圆弧与直线的交点
(defun interal(r o i h / xo yo x1 x2 y1 y2 x3 y3 loop rr d delt)
(setq xo(car o ) yo(cadr o) x1(car i) y1(cadr i) x2(carh) y2(cadr h))
2.2 弧弧求交算法
已知圆心坐标O1、圆弧半径R1和圆心坐标O2、圆弧半径R2,求交点I的坐标。由两个圆心O11、O2与交点I 构成的三角形ΔIO1O2,可建立以下算法:
IO1=R1
Ang1=arccos( | R12+D2-R22 | ) |
2R1*D |
3 应用实例
利用重庆工商大学开发的“典型复杂刀具CAD”软件设计绘制的带孔式内键滚刀的端面齿形图:以下所给程序清单是绘制该端面齿形图的部分Visual Lisp程序。
函数sidtee 绘制端面齿形图的Visual Lisp 程序:(defun sidtee(ra0 zk hk rk thi k k1 h0 rh p0 / angcxj b1 j0 j1 b0 e a0 a1 g0 g1 o-r h i i0 a1b1o a-a1b1o1 o1 o1-1 r-ka1 r-kg1)
(setq angcxj( /(* pi 2.0)zk))::齿形角
(setq j1(polar p0( / pi 2.0)ra0))::j1 点
::以下程序用POLAR 函数求B1、J0、B0、E、A0、A1、G0、G1、H、I、I0点
……
(setq i0(polar i( + TH(I / pi 2.0))( /(- k1 k)5.0)))::I0 点
以往采用复杂刀具CAD 软件绘图时,要靠用户用对象捕捉的方法获得生成齿背曲线的弧线交点和弧弧交点。而在重庆工商大学开发的“典型复杂刀具CAD”软件中,在设计铲齿成形铣刀、齿轮滚刀、蜗轮滚刀时,利用本文提出的弧线求交算法和弧弧求交算法,成功地自动绘制出刀具端面齿形图,由此提高了整个CAD系统的自动化程度。