|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
机械传动中,螺纹的应用十分广泛,尤其是在数控设备上更是大量使用滚珠丝杠。对这些螺纹零件,采用CAD/CAM技术进行设计与制造是离不开仿真技术的,本文主要介绍的是基于AutoCAD平台,利用VLISP编程,根据螺纹加工原理、三维实体造型和对象布尔运算等实现螺纹加工三维动态仿真技术。
" W$ w2 z7 N m+ k" }+ G. s3 l( \, {
一、基圆柱体造型 3 h1 r( Z+ |2 a# x6 G" W
. s' k5 ^6 e/ n3 `4 l. J* T根据国标(GB196—81)规定,三角螺纹的基本尺寸有外径D、中径D2、内径D1、螺距P、基本三角形高度H和牙形角60°。按有关规定,滚珠丝杠公称直径为D,长度为L,滚珠直径为db。将基圆柱体的直径取为D,长度取设计值L,则程序代码如下: $ y0 m l" X0 L- T
6 M2 S/ Y3 Q, X$ H* a8 n! }(setq d (getreal"\n请输入螺纹外径:") 0 Z7 ]7 Y% s: P& w
l (getreal"\n请输入螺纹长度:")
1 E8 P5 Z3 S5 o, `)
: b% P! v/ l x6 n. ?: I( X/ L. e5 K3 o(command "cylinder" (list 0 0 -1) "d" d (* -1 l ) );画圆柱体
# b. [/ n; Q9 r. e9 Y
$ ~1 d. i+ u W7 A+ b二、切削刀具造型
; B4 X6 x4 ^% J' q: g7 X* i
. k# L$ h9 K1 a螺纹加工常用车削、铣削等加工方法,下面仅以车削三角螺纹和铣削滚珠丝杠为例来说明。 7 B7 U1 n! V' F$ N- O5 L0 I6 B+ r
: d% u% n; ~' U- B% `1. 三角螺纹车刀简化模型 ! c) v, J- X- S3 u5 D. C! v, |
1 D1 k' M5 I/ G+ a8 l
零前角螺纹车刀的创建,如图1所示其代码如下: ) p: m' D3 p1 z+ J) e/ O. M0 l+ S
' |1 S& h* O; yhttp://www.ourjx.com/attachment/godhelp/200511261052875177801_chinacnw_com.jpg- U0 n+ i& }% [$ ]
& P- p2 x, e" _* L; I
图1 车刀多边形 (setq p1 (list 0 0 0));设当前坐标原点为P1 4 ]/ o- a, n9 E" g
(setq p2 (polar p1 0 (/ p 4)))
! u( F: A4 }. m(setq p3 (polar p2 (/ pi 3 -1) (* 5 h))) 5 y2 p' T5 f3 o, r! M, V
(setq p4 (polar p3 (/ pi 2 -1) 10)) ; y- i& y9 e8 T* E
(setq p5 (polar p4 pi ( (/ p 4)(* 5 h))))
0 K' J! O( f; ?. R8 T(setq p6 (polar p5 (/ pi 2) 10)) 8 y0 _ j3 b3 D: i% q$ Y
;定义车刀多边形p1 p2 p3 p4 p5 p6点的相对坐标 - H' F* K( I' G" b7 d) a7 k
(command "pline" p1 p2 p3 p4 p5 p6 "c" "") ;用多段线形成封闭多边形
9 w( P5 M q D5 o6 A6 y(command "extrude" "l" "" -5 "");拉伸形成车刀模型 1 d8 a9 U7 r9 @, E0 C
(setq e1 (entlast));返回图元名 6 v; h+ o4 D9 }0 [ s' f
(command "move" e1 "" "0,0,0" (list (/ p 2 -1) (/ d1 2 -1) 2.5));移动到起刀点 3 c' {: u& W; k. [. ~1 H& [
a: g3 x$ k' |
2. 滚珠丝杠圆盘铣刀简化模型
+ I7 S% y8 a5 B5 B. K
2 x5 _) T- V( ~圆盘铣刀是根据丝杠螺纹槽的法剖面廓形而创建的成形铣刀,为简化计算可用轴向剖面廓形代替,主要代码如下:
1 p! o" w# P! T/ X0 J(setq db (getreal"\n请输入滚珠直径:"));定义铣刀截面多边形各节点P11、P12、P13、P14,如图2所:
$ ]' k1 t3 y1 L5 N6 }$ p- K3 A$ f5 i* }! p* k( a& X
http://www.ourjx.com/attachment/godhelp/200511261052885277802_chinacnw_com.jpg1 t9 g1 r5 \, h& ~" I
( X! G' o6 ?5 g图2 铣刀截面多边形 (setq p11 (polar (list 0 0 0) (/ pi 2) 23.5)) $ M' |% X9 p& o1 K! ~ c4 M' f* [2 i
(setq p12 (polar p11 0 db))
. y2 v- h+ y: _( u3 x; \! q8 E9 _(setq p13 (polar p12 (/ pi 2 -1) 13.5)) , ]# {/ f. z% z% K
(setq p14 (polar p13 (* pi -1) db)) . O% H4 n5 }; G* a
;定义铣刀截面多边形各节点P11、P12、P13、P14 c+ V# _7 w; l/ P+ {
(command "pline" p12 p13 p14 p11 "a" "cl" "") ;用多段线绘制铣刀截面多边形
- }7 W. r$ M7 d, d(command "revolve" "l" "" "x" "" );旋转生成铣刀体
! S4 T, ^7 v: \5 R(setq o1 (entlast));返回图元名 ( Z$ m' r/ R, x& X
(command "ucs" "y" "" "" "color" 1);坐标系绕Y轴转90°,并指定颜色为红色 7 L0 Z* T0 k. P; Y
(setq p20 (list 0 0 0));设当前坐标原点为P20 2 \$ C. m6 ]' N5 }
(setq p21 (polar p20 0 3.3))
7 }5 T- D3 ]1 }7 g) B9 v(setq p22 (polar p21 (/ pi 2 ) 5.2)) & {" J& g% `& C' |
(setq p23 (polar p22 (/ (* 105 pi )180) 1.3))
% P/ r$ U/ v X! E# u(setq p24 (polar p20 (/ pi 2 ) 6)) : N% }4 M7 L% }' `+ X- `; l5 Z0 [
(setq p25 (polar p20 (/ pi 2 ) 5)) $ i! W% d+ x. I8 i
;定义铣刀槽截面多边形各节点P20、P21、P22、P23、P24及基点P25,如图3所示:
% E* t* [# X7 j3 @& I- Q1 F$ u; ]* R/ _/ s$ D
http://www.ourjx.com/attachment/godhelp/200511261052891277803_chinacnw_com.jpg
3 }. U$ G( z& R# S$ v; k5 a+ X# ?1 s+ g
图3 铣刀槽多边形 (command "pline" p20 p21 p22 p23 "a" p24 "l" "c" "");用多段线生成铣刀截面多边形 2 C. w B* s: C I. m
(command "extrude" "l" "" (* 2 db) "");拉伸形成刀槽体 , ]$ }4 y" k2 U' n! z' b
(setq o2 (entlast));返回该图元名 9 V X1 y( B# W8 ~ ], K
(command "move" o2 "" p25 (list 0 -25 -1));以基点P25移动刀槽体到指定点 ( x* ]) F4 H- E3 k: n, ]
(command "array" o2 "" "p" p21 20 "" "" );将刀槽体环形矩阵20个
: ]9 \7 \8 O5 U& l(setq ss (ssget "x" '((62 . 1))));以红色为过滤器创建选择集ss + M! ~, T* ]/ j; _/ a
(command "subtract" o1 "" ss "");将铣刀体与刀槽体进行布尔差运算生成铣刀简化模型
, q4 p5 `2 r& f* }: ^(setq o3 (entlast));返回该图元名 4 R, [, I; N" b; y) H" C% C
(command "rotate" o3 "" p21 5);铣刀旋转5°
; M9 L& I' ]* r6 G(command "move" o3 ""
9 X: r$ n0 j: }(list 0 0 0) (list 0 (* -1 ( 25 (/ (- d db) 2))) 0));将铣刀移动到切削位置
/ ~/ L( [" C9 ~& d" f/ e" Z) m! W( `3 ^4 r
三、螺纹加工三维仿真 ) Q2 s7 N y% Y* k
! a( u9 `4 i5 g. `$ W$ ^! K! E
1.车削螺纹仿真原理 ; i! Y7 `8 e+ ]$ `, Q1 _# S
8 b3 p8 b' d% \9 f# M$ n7 d$ i+ w
螺旋线的数学模型是:
$ b0 K$ o: P/ C3 b& P+ o; B. ohttp://www.ourjx.com/attachment/godhelp/200511261052897277804_chinacnw_com.jpg
( K3 V! g* x5 I' P- o3 S/ _( M9 V其中,p为螺距,θ为瞬时角,r为基圆半径。基圆柱体每旋转一个步距角△θ,车刀平行于圆柱体轴线进给一个量△Z,将车刀复制件与圆柱体布尔差运算,再进行下一个循环。
) O# b. O% z- m# Q- }5 R主要代码如下: * y Y: e+ g& n; p: e1 e0 P+ R
0 s. N7 I* f3 ?6 G
(command "ucs" "y" "" "" "color" 3);坐标系绕Y轴转动90°,指定颜色为蓝色
0 ^& Z7 Z f# i(setq k (* (/ ( l 2) p )2 pi));设定循环次数
, a: C' f5 v7 x(while (<= i k);循环条件
2 r# x- y! h; x(setq pt1 (list 0 0 (* v i -1)));设移动起点坐标
/ R; y8 A' l: h+ G. |4 n8 N(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
9 T. _' {6 w) }2 C5 b) y, q( ?(setq i ( i 0.1));给循环变量一个增量角 # Z) n# r0 X) y/ W. \4 {
(setq pt2 (list 0 0 (* v i -1)));设移动目标点坐标
/ w9 O4 d0 ]* b: k(command "move" e1 "" pt1 pt2);使车刀移动一个进给量
$ s1 x D5 I4 _. K4 W+ `3 [1 s(command "copy" e1 "" "0,0,5" "0,0,5");在原位复制车刀
- I8 F3 d5 d! \! b& Y+ a6 g5 U(setq e2 (entlast));返回复制车刀图元名
1 k1 q3 ~. K+ d* @(command "subtract" a "" e2 "");将圆柱体与车刀复制件布尔差运算
: ]4 @9 a' Q) c% [2 t" K);循环体
) ^, w; k/ t) b4 l' H
6 [/ x$ J# J, `8 a' C/ z2.铣削滚珠丝杠仿真原理
/ J# r! O2 c4 }( b! T7 p
; c' U5 W6 u( c- D# x( [' x$ ~7 ?基圆柱体每旋转一个步距角,将沿其轴线进给一个量。铣刀位置不动,将其复制件与基柱体进行布尔差运算,再进行下一个循环。
, K. X% l* {. g7 Q0 L. ^& H% Z/ H9 B. T2 A0 [
其主要代码与螺纹车削相近,核心代码如下:
+ i. z, H. [* R3 t+ A
4 k/ n5 p8 s/ s/ i$ ^/ L- w(while (<= i k)
V: V5 `; H5 [) I8 L. B2 ` l- l4 R2 B(setq pt1 (list 0 0 (* v i )));设移动起点坐标
& y+ q6 v# `5 v. W9 ^9 j(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
) S' T# G7 l4 M' N" c(setq i ( i 0.1));给循环变量一个增量角 3 X" r/ r5 z$ b* m: s5 ?
(setq pt2 (list 0 0 (* v i )));设移动目标点坐标
" M7 e# A' |+ k2 u(command "move" a "" pt1 pt2);圆柱体移动一个进给量 [# A/ W" o3 u* o1 a, h. i
(command "copy" o3 "" "0,0,5" "0,0,5");在原位复制铣刀 ; p; [+ }& l* N2 t9 ^# n7 _7 N
(setq o4 (entlast));返回复制铣刀图元名
+ P h. ^- |) U, q! d* i: A(command "subtract" a "" o4 "");将圆柱体与铣刀复制件布尔差运算
7 d) i- T+ ~" W# A7 t2 L)
/ S0 O5 w5 \! T$ z% u/ F, I8 l! h
3.仿真程序流程
2 b5 C; z0 q D8 O, [( L/ z' k
- o: Y1 Y" w+ R0 t/ J4 y/ e. o我们采用主控程序调用仿真车削子程序,或调用仿真铣削子程序的方法实现加工动态仿真。仿真效果渲染如图4和图5所示。
( o/ z' u3 c9 p! p- E
( }' n) w, W3 U! f+ G {http://www.ourjx.com/attachment/godhelp/20051126105296277805_chinacnw_com.jpg5 ^3 S, k& d5 [/ q* ]* V
/ o% `8 n; y1 l7 q图4 车削螺纹仿真
& y4 l3 Y4 b+ ?
" f9 G6 O$ ^, @9 Qhttp://www.ourjx.com/attachment/godhelp/200511261052916277806_chinacnw_com.jpg' g+ |) n: Q/ G
3 _( i, K& e6 P8 ]# v" I* N1 K
图5 铣削丝杠仿真 四、结束语 $ W# R5 `6 K7 c4 ?! C& F
; K% R. K( b3 v2 y. y4 P# Z; E3 J三维动态仿真技术,是现代制造业不可缺少的技术之一。螺纹加工仿真原理可直接演示零件表面的成形过程,检验零件表面的加工质量,也可用于其他零件加工仿真。基于AutoCAD,利用VLISP编程实现加工仿真,设计结果模拟运行等,是有效的途径之一,对于从事CAD/CAM技术人员有一定的参考意义。 |
|