QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
6天前
查看: 3523|回复: 7
收起左侧

[分享] AutoCAD的螺纹加工三维仿真

[复制链接]
发表于 2006-12-2 13:45:37 | 显示全部楼层 |阅读模式 来自: 中国广东汕头

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
机械传动中,螺纹的应用十分广泛,尤其是在数控设备上更是大量使用滚珠丝杠。对这些螺纹零件,采用CAD/CAM技术进行设计与制造是离不开仿真技术的,本文主要介绍的是基于AutoCAD平台,利用VLISP编程,根据螺纹加工原理、三维实体造型和对象布尔运算等实现螺纹加工三维动态仿真技术。
" r- W" {  }2 U1 k. M- g9 U1 y. w& Y
一、基圆柱体造型
, l! P) z+ M  l8 h$ V
* Q+ n+ R* R* W4 z5 v: W! w4 p根据国标(GB196—81)规定,三角螺纹的基本尺寸有外径D、中径D2、内径D1、螺距P、基本三角形高度H和牙形角60°。按有关规定,滚珠丝杠公称直径为D,长度为L,滚珠直径为db。将基圆柱体的直径取为D,长度取设计值L,则程序代码如下:
4 d! T- s; E) i/ B
' C$ X, q8 u! B, q. O(setq d (getreal"\n请输入螺纹外径:")
5 g4 Q) s6 [' ]% ^l (getreal"\n请输入螺纹长度:") 0 ?5 O1 w5 u9 s! R4 [/ e
) 0 k- q) y8 W9 H& C4 L4 D4 ~+ ~* J
(command "cylinder" (list 0 0 -1) "d" d (* -1 l ) );画圆柱体 2 j9 A& B6 F4 N8 N; c9 f

( B/ }$ ~& K' k" b二、切削刀具造型 " w! }* C  n$ [) q: K

! H! D/ ~- M/ |( N9 D& F螺纹加工常用车削、铣削等加工方法,下面仅以车削三角螺纹和铣削滚珠丝杠为例来说明。 7 M! R7 K: a2 J3 h9 g! j& _! S3 `
$ J3 B* l5 T7 ^5 T
1. 三角螺纹车刀简化模型 ( D/ p/ S. v6 b$ N
: J( }: l* q" V9 A9 }( k
零前角螺纹车刀的创建,如图1所示其代码如下:
8 e% g8 d+ e  N4 W/ t5 m
1 c/ b& k9 |1 |! g2 {: Ahttp://www.ourjx.com/attachment/godhelp/200511261052875177801_chinacnw_com.jpg; h+ A  a( f& c3 a/ M& @

3 ]2 K" A3 e7 q. B# ^& \+ F* l图1 车刀多边形 (setq p1 (list 0 0 0));设当前坐标原点为P1
2 j% n4 z; q. W% a(setq p2 (polar p1 0 (/ p 4))) ) R+ H4 T. }( ]% {6 [
(setq p3 (polar p2 (/ pi 3 -1) (* 5 h))) 7 l' C' j" V, n3 @- Y9 M; s
(setq p4 (polar p3 (/ pi 2 -1) 10)) ) h5 }1 v2 m0 c2 U2 G( h
(setq p5 (polar p4 pi ( (/ p 4)(* 5 h)))) % z+ w/ J' A! T3 Z- g" y
(setq p6 (polar p5 (/ pi 2) 10)) . f. q/ l( H: N$ I+ c
;定义车刀多边形p1 p2 p3 p4 p5 p6点的相对坐标 ' J! c5 }) ^  g9 }1 A! z
(command "pline" p1 p2 p3 p4 p5 p6 "c" "") ;用多段线形成封闭多边形
" U( P) ]. u7 c6 [2 V8 `3 `(command "extrude" "l" "" -5 "");拉伸形成车刀模型
9 j8 |6 L# L% ?: K1 y(setq e1 (entlast));返回图元名
' [* r' F) |+ K/ E3 ~$ T(command "move" e1 "" "0,0,0" (list (/ p 2 -1) (/ d1 2 -1) 2.5));移动到起刀点 0 ]- i' Z3 g' E$ N# }! H3 q! X8 L
# q4 \& `/ W' S) A* n
2. 滚珠丝杠圆盘铣刀简化模型
6 _  E% P3 U  a2 K: y% Y) R) l; U) P) b/ p: l
圆盘铣刀是根据丝杠螺纹槽的法剖面廓形而创建的成形铣刀,为简化计算可用轴向剖面廓形代替,主要代码如下:
7 T$ N: H5 x/ h9 Y6 g(setq db (getreal"\n请输入滚珠直径:"));定义铣刀截面多边形各节点P11、P12、P13、P14,如图2所:   e' u# W4 W$ {" v! O
/ T  j& n1 B( ?* X: r
http://www.ourjx.com/attachment/godhelp/200511261052885277802_chinacnw_com.jpg
6 Z1 X2 @" J( }, E7 c
7 R: B0 Z' ^- Z图2 铣刀截面多边形 (setq p11 (polar (list 0 0 0) (/ pi 2) 23.5))
1 u9 N( @: C8 p* {7 B# A(setq p12 (polar p11 0 db)) ' d, C6 B& U# q4 d# p1 Z
(setq p13 (polar p12 (/ pi 2 -1) 13.5))
  T* t4 a; I+ H( B( o4 y(setq p14 (polar p13 (* pi -1) db)) ! J7 Z' n$ w% s! e
;定义铣刀截面多边形各节点P11、P12、P13、P14
9 u; d7 T; y2 l/ \  ?(command "pline" p12 p13 p14 p11 "a" "cl" "") ;用多段线绘制铣刀截面多边形
, I1 C# n( f" a3 r( a& \(command "revolve" "l" "" "x" "" );旋转生成铣刀体 5 z0 B! y! [% H7 R% l9 m5 M  A
(setq o1 (entlast));返回图元名 1 s+ [; P2 R/ n  `  N$ w( u, B, p, g* K
(command "ucs" "y" "" "" "color" 1);坐标系绕Y轴转90°,并指定颜色为红色
) |. ~/ l! h/ P/ X# L(setq p20 (list 0 0 0));设当前坐标原点为P20
& h+ t* F* X( T. a3 G(setq p21 (polar p20 0 3.3)) - J% p9 U* I: [% d$ W
(setq p22 (polar p21 (/ pi 2 ) 5.2))
; ^5 N) U4 L" U# K* Q1 R! w5 a(setq p23 (polar p22 (/ (* 105 pi )180) 1.3)) $ Y9 N; A) R4 B9 Y
(setq p24 (polar p20 (/ pi 2 ) 6))
# @$ u# H; G  X6 ], Y4 H9 F- M4 c$ b(setq p25 (polar p20 (/ pi 2 ) 5))
7 v8 g6 c) j- p5 @' O8 C;定义铣刀槽截面多边形各节点P20、P21、P22、P23、P24及基点P25,如图3所示: 1 ~- Q9 Y  j0 ?0 H/ N* r  x
' T/ I) c: D  W# Z( d' A
http://www.ourjx.com/attachment/godhelp/200511261052891277803_chinacnw_com.jpg$ {& E. i* o0 l! a3 q: \5 k# D
! ~7 S! O$ W, I6 r2 }2 C
图3 铣刀槽多边形 (command "pline" p20 p21 p22 p23 "a" p24 "l" "c" "");用多段线生成铣刀截面多边形
! O0 l, x; E/ I/ r- w' z0 [5 T. `(command "extrude" "l" "" (* 2 db) "");拉伸形成刀槽体
: J0 J8 `1 e! \! [(setq o2 (entlast));返回该图元名 8 j2 K7 h: A+ t& p
(command "move" o2 "" p25 (list 0 -25 -1));以基点P25移动刀槽体到指定点 ( M. a( A! O5 @- Q
(command "array" o2 "" "p" p21 20 "" "" );将刀槽体环形矩阵20个
& j6 Y4 B. _5 m: }+ P(setq ss (ssget "x" '((62 . 1))));以红色为过滤器创建选择集ss
3 h& ]: L4 [+ d8 a(command "subtract" o1 "" ss "");将铣刀体与刀槽体进行布尔差运算生成铣刀简化模型
3 q! N1 g& a& ^8 E! ?(setq o3 (entlast));返回该图元名 % v* g0 ?! _# x# t& M0 X
(command "rotate" o3 "" p21 5);铣刀旋转5°
  r% ^! e7 O/ H" o2 u(command "move" o3 ""
1 C- ^  K/ U# z& d(list 0 0 0) (list 0 (* -1 ( 25 (/ (- d db) 2))) 0));将铣刀移动到切削位置 / r- k# ^/ s/ w* x" Q
9 [: |. o8 |% m, Z
三、螺纹加工三维仿真
) i; R% @8 S3 \5 ]
" U& U5 ^0 D! v7 V$ j4 o# G3 c0 n  j. o' N1.车削螺纹仿真原理
  K: C% b9 B# E0 D
& ^6 q1 A& }1 x. H" K+ x螺旋线的数学模型是:
4 N+ J6 i7 e. `# j# M& U' m* q' bhttp://www.ourjx.com/attachment/godhelp/200511261052897277804_chinacnw_com.jpg
) A0 p/ H% A% a9 z( P- P) W5 a2 A其中,p为螺距,θ为瞬时角,r为基圆半径。基圆柱体每旋转一个步距角△θ,车刀平行于圆柱体轴线进给一个量△Z,将车刀复制件与圆柱体布尔差运算,再进行下一个循环。 / k3 \& Z& k5 D$ Q3 |+ [9 R
主要代码如下: : v8 h" x6 t! t1 F: T9 _* M& H0 B
+ z+ r9 t; u# [$ Z5 [5 ]
(command "ucs" "y" "" "" "color" 3);坐标系绕Y轴转动90°,指定颜色为蓝色 6 [! _. Q) o+ g- P/ X- ?7 U0 p- E
(setq k (* (/ ( l 2) p )2 pi));设定循环次数 7 W  I# U- B$ L& |6 v
(while (<= i k);循环条件 * g" g/ J0 N. t
(setq pt1 (list 0 0 (* v i -1)));设移动起点坐标 . M3 `# ^9 y" z2 w
(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
, ]6 D, k  w' M' z1 g+ B, j9 z(setq i ( i 0.1));给循环变量一个增量角
, c- e+ |+ S6 P" C/ Q& ^) f(setq pt2 (list 0 0 (* v i -1)));设移动目标点坐标 & D2 M' K1 A+ X; {" w
(command "move" e1 "" pt1 pt2);使车刀移动一个进给量
' S) E$ I/ C+ s(command "copy" e1 "" "0,0,5" "0,0,5");在原位复制车刀
9 S* u2 H7 G1 C; F- j  P(setq e2 (entlast));返回复制车刀图元名 0 E$ R1 f% u5 z) K* g9 N
(command "subtract" a "" e2 "");将圆柱体与车刀复制件布尔差运算 - b: y% z. H& [% Q) V5 l
);循环体
2 h! W0 k" K" c; `
) Q7 I( H- h3 @$ i2.铣削滚珠丝杠仿真原理
( K* e2 }& o8 f1 P, s: S, f3 i  N! ^  z" C* A. Y6 s
基圆柱体每旋转一个步距角,将沿其轴线进给一个量。铣刀位置不动,将其复制件与基柱体进行布尔差运算,再进行下一个循环。 - h* }- t- B) c& x' Q* r2 |
; o/ n, q; r+ m* o* g1 j' i6 t
其主要代码与螺纹车削相近,核心代码如下:
1 z2 n7 M6 s3 t
. j; B& k' r" Z(while (<= i k)
0 h0 ], U2 v" D(setq pt1 (list 0 0 (* v i )));设移动起点坐标
4 m( A& @0 e9 N  X6 F' Q; [(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角 + [3 b# A, V6 ]4 ?4 Y
(setq i ( i 0.1));给循环变量一个增量角 3 y" p4 Z6 y' }8 L: Z) O' N
(setq pt2 (list 0 0 (* v i )));设移动目标点坐标
6 D* f3 v$ J6 {+ B/ b4 M1 N(command "move" a "" pt1 pt2);圆柱体移动一个进给量
6 G+ v3 |- J9 b0 O+ N- p- ](command "copy" o3 "" "0,0,5" "0,0,5");在原位复制铣刀
/ t% V/ o* B& Z8 C9 n6 ~(setq o4 (entlast));返回复制铣刀图元名
6 ]( u0 `) v9 Y% I* u(command "subtract" a "" o4 "");将圆柱体与铣刀复制件布尔差运算 " T( B3 \  P) P1 L, C7 Y
)
& f' I% C" l. e& @3 r) g$ e( h1 H- D
3.仿真程序流程
$ [2 a. {: e" n
* ^1 d7 C  B9 H& G3 w2 _7 }- R4 |我们采用主控程序调用仿真车削子程序,或调用仿真铣削子程序的方法实现加工动态仿真。仿真效果渲染如图4和图5所示。 ' @& A. {' u1 G) \
, F8 S& O1 s# ?2 U0 P* o& I+ H4 @
http://www.ourjx.com/attachment/godhelp/20051126105296277805_chinacnw_com.jpg
/ W( Y8 ^- Y* v: A, ?4 h5 W5 ~) v! h6 c- L8 V1 G
图4 车削螺纹仿真
7 `9 [+ I' M5 R. R  D- K
3 v; |/ g7 H4 l* o9 W& j, Ghttp://www.ourjx.com/attachment/godhelp/200511261052916277806_chinacnw_com.jpg. |; O) V, @, N) [2 ]
/ ]7 i* }* }5 G
图5 铣削丝杠仿真 四、结束语 * G. a/ m8 M. N5 i& L& i

- w; D! G) _+ r8 X( W2 i' L0 ?三维动态仿真技术,是现代制造业不可缺少的技术之一。螺纹加工仿真原理可直接演示零件表面的成形过程,检验零件表面的加工质量,也可用于其他零件加工仿真。基于AutoCAD,利用VLISP编程实现加工仿真,设计结果模拟运行等,是有效的途径之一,对于从事CAD/CAM技术人员有一定的参考意义。
发表于 2007-2-9 09:35:20 | 显示全部楼层 来自: 中国陕西西安
第一次见到,楼主不错!
发表于 2007-2-9 20:49:43 | 显示全部楼层 来自: 中国黑龙江哈尔滨
请问楼主,是用CAD做的吗?是那个版本的呀
发表于 2007-4-29 02:00:20 | 显示全部楼层 来自: 中国黑龙江哈尔滨
没听过CAD有这功能,长见识了
发表于 2007-4-30 10:58:04 | 显示全部楼层 来自: 中国陕西西安
楼主,可否将LSP文件传给我一个,我想学学,最近就为这中问题发愁
发表于 2010-9-20 05:47:40 | 显示全部楼层 来自: 中国广东阳江
楼主有视频吗
发表于 2010-9-21 12:27:11 | 显示全部楼层 来自: 中国台湾
能否請樓主提供一下源碼
; Z1 p1 r' @. N; h6 |好讓大家學習學習好嗎?
发表于 2010-9-25 11:49:41 | 显示全部楼层 来自: 中国北京
楼主的图片全是XX,我也没看明白什么意思,汗
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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