|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
机械传动中,螺纹的应用十分广泛,尤其是在数控设备上更是大量使用滚珠丝杠。对这些螺纹零件,采用CAD/CAM技术进行设计与制造是离不开仿真技术的,本文主要介绍的是基于AutoCAD平台,利用VLISP编程,根据螺纹加工原理、三维实体造型和对象布尔运算等实现螺纹加工三维动态仿真技术。 0 r% o- ?- x' c. X
5 y6 r/ {7 K5 J y
一、基圆柱体造型 # f4 R1 j Q8 G E9 L, V
$ N1 T7 ~5 ]5 g+ ~8 z7 J根据国标(GB196—81)规定,三角螺纹的基本尺寸有外径D、中径D2、内径D1、螺距P、基本三角形高度H和牙形角60°。按有关规定,滚珠丝杠公称直径为D,长度为L,滚珠直径为db。将基圆柱体的直径取为D,长度取设计值L,则程序代码如下: ) f& D7 p% v" s
/ X7 h% V2 U8 Q" \7 F1 _(setq d (getreal"\n请输入螺纹外径:") 4 x- e. d& D5 r% U
l (getreal"\n请输入螺纹长度:")
" s% I& m; f& z8 Y w* e! l f( g)
+ ^9 ]( T, o% ](command "cylinder" (list 0 0 -1) "d" d (* -1 l ) );画圆柱体 S: D; F. }4 @4 S! S' u
! z0 x( B* u3 W; q
二、切削刀具造型 9 s- G; z$ b6 |- C# W8 F2 j# Q
9 ^1 D ] T; g. D螺纹加工常用车削、铣削等加工方法,下面仅以车削三角螺纹和铣削滚珠丝杠为例来说明。
- I# _2 I* o9 z5 w; o2 R* Q( I3 K$ Y0 S* U7 ^$ \! q
1. 三角螺纹车刀简化模型 3 O1 Q1 y, t5 p4 p" }/ I
& X& L( a* @% p1 x, j) Z* r, W零前角螺纹车刀的创建,如图1所示其代码如下: ) J& h# H5 w4 X% ^" H
7 f) d. X& c9 `7 d/ U* n( |http://www.ourjx.com/attachment/godhelp/200511261052875177801_chinacnw_com.jpg
+ K& W/ \. K: ~; V3 ~3 B0 b" Y( k; V- V. c, ^( w9 x( S
图1 车刀多边形 (setq p1 (list 0 0 0));设当前坐标原点为P1 ! U0 v$ T& x9 C e1 A- W1 F
(setq p2 (polar p1 0 (/ p 4))) " R4 C" i0 P6 t: W4 [6 }6 K
(setq p3 (polar p2 (/ pi 3 -1) (* 5 h)))
# j" k& Q0 x6 r6 b, ], K( J(setq p4 (polar p3 (/ pi 2 -1) 10)) . ?7 ~; c$ [3 E$ h
(setq p5 (polar p4 pi ( (/ p 4)(* 5 h)))) ) M# I$ ~' p0 d1 C. b v* t1 N
(setq p6 (polar p5 (/ pi 2) 10))
8 p5 E- V+ C- u; `% ]6 E. F' i;定义车刀多边形p1 p2 p3 p4 p5 p6点的相对坐标 ! m! o6 A$ o5 M" F$ M
(command "pline" p1 p2 p3 p4 p5 p6 "c" "") ;用多段线形成封闭多边形 3 e- D" S) R) M1 E: y ^6 a
(command "extrude" "l" "" -5 "");拉伸形成车刀模型
% Z! z1 p+ z2 f% D" o(setq e1 (entlast));返回图元名
3 p5 W1 h5 [$ w( ~(command "move" e1 "" "0,0,0" (list (/ p 2 -1) (/ d1 2 -1) 2.5));移动到起刀点 : q Z: d$ Q3 a0 S8 }
0 X3 `2 g4 D) D- w. [; C$ k' M# X2. 滚珠丝杠圆盘铣刀简化模型 2 d- ]) N. m5 @. d# }# x9 |5 r
! [3 p; I5 [" h3 ?( b+ S2 b圆盘铣刀是根据丝杠螺纹槽的法剖面廓形而创建的成形铣刀,为简化计算可用轴向剖面廓形代替,主要代码如下:
& [/ K. K+ U7 c. H(setq db (getreal"\n请输入滚珠直径:"));定义铣刀截面多边形各节点P11、P12、P13、P14,如图2所:
+ _* |' l2 R$ M. c2 L4 X# M4 T. u$ x! d+ Z' B' K- y
http://www.ourjx.com/attachment/godhelp/200511261052885277802_chinacnw_com.jpg2 L, a/ O5 o0 E+ h/ L' y
( L. h% J8 n0 D3 u+ G图2 铣刀截面多边形 (setq p11 (polar (list 0 0 0) (/ pi 2) 23.5))
! x* m- o/ x5 k# a+ v0 _5 l(setq p12 (polar p11 0 db)) 0 ?9 o# U [8 ?( Q+ _& }
(setq p13 (polar p12 (/ pi 2 -1) 13.5))
% T3 a; U( P- x7 i( Y/ r* d" B(setq p14 (polar p13 (* pi -1) db))
! W7 K) c" L W# L( m+ E3 w;定义铣刀截面多边形各节点P11、P12、P13、P14 + ~4 a7 c/ y8 k# w
(command "pline" p12 p13 p14 p11 "a" "cl" "") ;用多段线绘制铣刀截面多边形 5 R# _1 o8 q$ ]
(command "revolve" "l" "" "x" "" );旋转生成铣刀体 9 h; J6 k1 b6 a1 P5 @3 ~
(setq o1 (entlast));返回图元名
) E# [7 W" K" u" G! D q/ }(command "ucs" "y" "" "" "color" 1);坐标系绕Y轴转90°,并指定颜色为红色 1 c% O/ J. z$ |+ ^, E+ b) U0 `( \4 M) `
(setq p20 (list 0 0 0));设当前坐标原点为P20 ) Q# B# h) Q# t
(setq p21 (polar p20 0 3.3)) . q; w* g# v: e1 v0 i8 b! T. Q- M
(setq p22 (polar p21 (/ pi 2 ) 5.2)) * B" X+ U4 v1 p1 e h2 M& g& j
(setq p23 (polar p22 (/ (* 105 pi )180) 1.3)) ; @+ [ [- e& x2 s
(setq p24 (polar p20 (/ pi 2 ) 6)) 6 m& N: c7 Y1 A" g1 Z4 i
(setq p25 (polar p20 (/ pi 2 ) 5))
5 D3 [ ]6 r8 a! O8 D( U) q;定义铣刀槽截面多边形各节点P20、P21、P22、P23、P24及基点P25,如图3所示:
7 a7 q; v3 X3 |5 h' [, M8 o8 O# s* b- j \0 w+ L
http://www.ourjx.com/attachment/godhelp/200511261052891277803_chinacnw_com.jpg5 L3 o; j0 |2 z3 b
# s8 g* v/ i# G' O$ [
图3 铣刀槽多边形 (command "pline" p20 p21 p22 p23 "a" p24 "l" "c" "");用多段线生成铣刀截面多边形
4 p( ^; @( v, n; O' v& ?(command "extrude" "l" "" (* 2 db) "");拉伸形成刀槽体 / [% p9 L$ F+ r* ~, I; [( ^
(setq o2 (entlast));返回该图元名 . _% Y+ Z6 G% E! S
(command "move" o2 "" p25 (list 0 -25 -1));以基点P25移动刀槽体到指定点
$ }) m1 f7 e' R% G3 q1 q+ P* x(command "array" o2 "" "p" p21 20 "" "" );将刀槽体环形矩阵20个
+ h% B2 q* ~/ U( {(setq ss (ssget "x" '((62 . 1))));以红色为过滤器创建选择集ss 8 C" V! i2 u$ ^% o
(command "subtract" o1 "" ss "");将铣刀体与刀槽体进行布尔差运算生成铣刀简化模型
) S6 o& x% G; s& T- e, f(setq o3 (entlast));返回该图元名 5 y7 x6 I |0 t. j9 z% H
(command "rotate" o3 "" p21 5);铣刀旋转5° 9 l7 `( [; r' y/ P* c
(command "move" o3 "" 5 M% |8 b2 z0 W0 ^" k8 R. \
(list 0 0 0) (list 0 (* -1 ( 25 (/ (- d db) 2))) 0));将铣刀移动到切削位置
0 \+ w* S8 B; t" T; d
& S3 d! ]2 ^" l+ Q三、螺纹加工三维仿真 / q$ [9 V. ^9 `0 F. E
7 y B! Q! I) i
1.车削螺纹仿真原理
k! H- n! H [9 x' e# N' k4 a0 O! H4 ?9 u* L
螺旋线的数学模型是:, K5 `2 O5 O* L) U
http://www.ourjx.com/attachment/godhelp/200511261052897277804_chinacnw_com.jpg
1 q3 @; L9 t. x; R其中,p为螺距,θ为瞬时角,r为基圆半径。基圆柱体每旋转一个步距角△θ,车刀平行于圆柱体轴线进给一个量△Z,将车刀复制件与圆柱体布尔差运算,再进行下一个循环。
( a4 V: B6 u% h! T; E0 `6 Z主要代码如下:
) G/ o; i9 J% J1 n- ]0 P* t+ u9 C& n+ E$ s: e8 y! b
(command "ucs" "y" "" "" "color" 3);坐标系绕Y轴转动90°,指定颜色为蓝色 . o$ h ?& G7 N, S
(setq k (* (/ ( l 2) p )2 pi));设定循环次数
. D8 _6 X% J" {0 e* b(while (<= i k);循环条件
( ?. S: s! w% l(setq pt1 (list 0 0 (* v i -1)));设移动起点坐标
7 ]: V K% P$ L(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
* B" m- E# i5 ~3 o(setq i ( i 0.1));给循环变量一个增量角 # ~( Y9 C7 e' C7 f! |4 `, I3 l
(setq pt2 (list 0 0 (* v i -1)));设移动目标点坐标 $ } d. f- {0 N- D+ k1 m
(command "move" e1 "" pt1 pt2);使车刀移动一个进给量 $ D' Y2 A" r0 ?) }; [
(command "copy" e1 "" "0,0,5" "0,0,5");在原位复制车刀
0 p* ?/ L. u }* y(setq e2 (entlast));返回复制车刀图元名
1 [; A- X! J* k D& ^ S( t/ B(command "subtract" a "" e2 "");将圆柱体与车刀复制件布尔差运算
B/ G& Y1 ?* r S' }: t# Y" F);循环体
- }+ H: {2 J- P* Y* ]& ~& X( l0 }
* h4 M" {# u. K5 a. K1 o# Z2.铣削滚珠丝杠仿真原理 % [" K7 G# v* Z/ f
$ G3 E% j3 P/ j- k7 Z" c+ [1 f基圆柱体每旋转一个步距角,将沿其轴线进给一个量。铣刀位置不动,将其复制件与基柱体进行布尔差运算,再进行下一个循环。
. o! f! u4 i" z% _- M8 a! h4 t C
其主要代码与螺纹车削相近,核心代码如下:
; h( S7 _8 e! r8 F3 n
+ m- {0 a/ B# ^, q(while (<= i k) 6 Y+ }' P' t! ]) z5 e6 l6 ~
(setq pt1 (list 0 0 (* v i )));设移动起点坐标
4 `+ T; C+ p( ^7 U- a, [(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
/ z0 V8 o- T/ @# ?. _! B(setq i ( i 0.1));给循环变量一个增量角 ( n! B( w2 \3 M1 r4 f5 ^! j
(setq pt2 (list 0 0 (* v i )));设移动目标点坐标
* m& ]1 v- B2 {0 q$ A( Z& D(command "move" a "" pt1 pt2);圆柱体移动一个进给量
' N3 D9 O. ]( X! F, y- q(command "copy" o3 "" "0,0,5" "0,0,5");在原位复制铣刀
: q$ h& f$ V( X$ E(setq o4 (entlast));返回复制铣刀图元名 ; E% d2 l4 A* E, n' U
(command "subtract" a "" o4 "");将圆柱体与铣刀复制件布尔差运算
+ }3 z" c& J6 k; s1 w$ Y! U7 W. D) 2 P& ~9 h$ L$ z0 R. q* M0 p
$ o$ G5 U) g" r& S) C
3.仿真程序流程 , ~ h# q7 l: \) l' I4 z2 t0 T
Y- b$ ?; |" Q
我们采用主控程序调用仿真车削子程序,或调用仿真铣削子程序的方法实现加工动态仿真。仿真效果渲染如图4和图5所示。 + b+ ~+ l) M( t) U% f; @$ a+ m
, r& U) @$ a0 a; b: Lhttp://www.ourjx.com/attachment/godhelp/20051126105296277805_chinacnw_com.jpg
) y. ]6 r* w% V; Y3 H9 I" N0 z/ N6 {8 ^8 X' v. y+ W0 d
图4 车削螺纹仿真
6 Z6 C& w+ f! [8 @, {; I( v5 D
9 e; w6 O' V4 n& R9 Mhttp://www.ourjx.com/attachment/godhelp/200511261052916277806_chinacnw_com.jpg
- [9 u) n+ R V, y
6 E& H/ h" }0 K- p4 I) C! H; v图5 铣削丝杠仿真 四、结束语 # S/ I) O& z5 F, w/ j
4 _( o& b7 u4 p三维动态仿真技术,是现代制造业不可缺少的技术之一。螺纹加工仿真原理可直接演示零件表面的成形过程,检验零件表面的加工质量,也可用于其他零件加工仿真。基于AutoCAD,利用VLISP编程实现加工仿真,设计结果模拟运行等,是有效的途径之一,对于从事CAD/CAM技术人员有一定的参考意义。 |
|