QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3542|回复: 7
收起左侧

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

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

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

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

x
机械传动中,螺纹的应用十分广泛,尤其是在数控设备上更是大量使用滚珠丝杠。对这些螺纹零件,采用CAD/CAM技术进行设计与制造是离不开仿真技术的,本文主要介绍的是基于AutoCAD平台,利用VLISP编程,根据螺纹加工原理、三维实体造型和对象布尔运算等实现螺纹加工三维动态仿真技术。
; x9 f9 A8 @) U: `( Y
+ d6 Y/ S: q) q7 ]  d: {8 [一、基圆柱体造型 7 T: w9 X3 r, C  H
, y, o* c6 Z( J* [4 M
根据国标(GB196—81)规定,三角螺纹的基本尺寸有外径D、中径D2、内径D1、螺距P、基本三角形高度H和牙形角60°。按有关规定,滚珠丝杠公称直径为D,长度为L,滚珠直径为db。将基圆柱体的直径取为D,长度取设计值L,则程序代码如下: ; B2 q9 o' q, r. V7 D0 c; ?

8 I5 I% B4 I- l! h* l(setq d (getreal"\n请输入螺纹外径:") 2 I( z" o! }0 Q" z( z; t* T! j3 K
l (getreal"\n请输入螺纹长度:") % y# J& I, A6 ?+ R* B0 _; ]
) + F* ~& T: d7 M8 F' Y5 U* \
(command "cylinder" (list 0 0 -1) "d" d (* -1 l ) );画圆柱体 & d5 g4 ]: S! z

! S3 l( @  |8 ?& Q+ w; A+ z3 X二、切削刀具造型
7 \. p, p0 k; d3 y3 P; d. b$ Q" G5 E- ^
螺纹加工常用车削、铣削等加工方法,下面仅以车削三角螺纹和铣削滚珠丝杠为例来说明。 - I" E; ?2 [% t! _6 T: b

/ B5 `! F2 v9 W7 L1. 三角螺纹车刀简化模型 + [7 B) [8 ]8 P% @

2 j7 Q5 s3 k1 }- N4 _; i, w零前角螺纹车刀的创建,如图1所示其代码如下:
5 x* [3 a, Z6 J: V. L
7 L+ d) `- ]& R7 l8 Ohttp://www.ourjx.com/attachment/godhelp/200511261052875177801_chinacnw_com.jpg
6 `% {) g1 \! r% l+ D
/ s. H3 t! Z- k: t( W8 B图1 车刀多边形 (setq p1 (list 0 0 0));设当前坐标原点为P1 " K5 R" r- L: u1 D# c
(setq p2 (polar p1 0 (/ p 4))) 1 U+ s4 C0 z4 Q  ?9 u
(setq p3 (polar p2 (/ pi 3 -1) (* 5 h)))
9 i* t, X# G5 l- {(setq p4 (polar p3 (/ pi 2 -1) 10))
" u( D: I1 J+ b& K( e(setq p5 (polar p4 pi ( (/ p 4)(* 5 h))))
5 D: S8 o) [& J( f" E0 Z* j(setq p6 (polar p5 (/ pi 2) 10)) " g. ?' Z6 U, R: m6 Z# {; p; F
;定义车刀多边形p1 p2 p3 p4 p5 p6点的相对坐标 / z( k' r2 O8 d0 N" g5 z
(command "pline" p1 p2 p3 p4 p5 p6 "c" "") ;用多段线形成封闭多边形 5 h: ^0 D* g* z, I
(command "extrude" "l" "" -5 "");拉伸形成车刀模型 , C' Y0 L  M) T: w! H, V/ ~
(setq e1 (entlast));返回图元名
6 c* k0 q# W8 x/ ~+ I; L(command "move" e1 "" "0,0,0" (list (/ p 2 -1) (/ d1 2 -1) 2.5));移动到起刀点
5 ^; Z5 L# x4 P+ ~7 k- i* I: f) l+ l- }
2. 滚珠丝杠圆盘铣刀简化模型 . o$ b% o; ^, A( \# _  z4 Z; s& x) u1 R
/ b$ f. b( A: |! ^# z
圆盘铣刀是根据丝杠螺纹槽的法剖面廓形而创建的成形铣刀,为简化计算可用轴向剖面廓形代替,主要代码如下: " r3 ~5 j' k1 u
(setq db (getreal"\n请输入滚珠直径:"));定义铣刀截面多边形各节点P11、P12、P13、P14,如图2所:
5 s. L3 D/ F. E  I5 ~% s5 f: [) L" T/ o( @
http://www.ourjx.com/attachment/godhelp/200511261052885277802_chinacnw_com.jpg( R1 b7 _9 x9 i: ?8 h
* x  n: ^* M$ R& D8 s; e
图2 铣刀截面多边形 (setq p11 (polar (list 0 0 0) (/ pi 2) 23.5)) & H; h8 A/ }8 d: p7 `3 M
(setq p12 (polar p11 0 db)) + [5 A# x5 t# s+ H( \- O
(setq p13 (polar p12 (/ pi 2 -1) 13.5)) : M( j2 }. S# g6 u
(setq p14 (polar p13 (* pi -1) db))
1 i$ ]& s% _2 k& y- _( d' z; }) w) C;定义铣刀截面多边形各节点P11、P12、P13、P14
! d. U+ r7 ]* i) W, {9 l& J: d(command "pline" p12 p13 p14 p11 "a" "cl" "") ;用多段线绘制铣刀截面多边形 7 z8 J% ]. n4 ?% K- k5 o8 s
(command "revolve" "l" "" "x" "" );旋转生成铣刀体
: d9 y4 T! H& Z# {(setq o1 (entlast));返回图元名 0 C* F' H/ p& D9 O  z2 a
(command "ucs" "y" "" "" "color" 1);坐标系绕Y轴转90°,并指定颜色为红色 " F; R1 s0 \5 e4 \8 b' }( g
(setq p20 (list 0 0 0));设当前坐标原点为P20
8 S$ |# D. V% Y0 e$ g' [, f(setq p21 (polar p20 0 3.3))
& R' x& U+ d! Y(setq p22 (polar p21 (/ pi 2 ) 5.2)) * \5 z$ m7 M, J0 R/ l- j
(setq p23 (polar p22 (/ (* 105 pi )180) 1.3))
" H% A8 d) \5 e- W$ g6 X5 J; {(setq p24 (polar p20 (/ pi 2 ) 6))
; N- Z- l) [& Y(setq p25 (polar p20 (/ pi 2 ) 5)) 9 v% ^# u* y( u' g
;定义铣刀槽截面多边形各节点P20、P21、P22、P23、P24及基点P25,如图3所示: 3 D; e0 p+ b! H! _
3 b3 R! S2 i* X' T( S
http://www.ourjx.com/attachment/godhelp/200511261052891277803_chinacnw_com.jpg2 p% P* Y3 {8 W6 u9 E2 T

5 K- `/ y: J  Z2 }; f$ K5 }7 L1 I/ C图3 铣刀槽多边形 (command "pline" p20 p21 p22 p23 "a" p24 "l" "c" "");用多段线生成铣刀截面多边形
9 s7 W' T/ n" K(command "extrude" "l" "" (* 2 db) "");拉伸形成刀槽体 * }. y  @7 a( S* y  C$ \% O
(setq o2 (entlast));返回该图元名 ( m& K( z& g3 t6 ^
(command "move" o2 "" p25 (list 0 -25 -1));以基点P25移动刀槽体到指定点
$ G$ W& {; v  ?% k4 d(command "array" o2 "" "p" p21 20 "" "" );将刀槽体环形矩阵20个 2 L7 E+ i. ~# _; L# s9 A
(setq ss (ssget "x" '((62 . 1))));以红色为过滤器创建选择集ss ' }8 L5 l! c0 q# q  }
(command "subtract" o1 "" ss "");将铣刀体与刀槽体进行布尔差运算生成铣刀简化模型 ' f8 N3 \8 v. R: J$ j' O! _8 h
(setq o3 (entlast));返回该图元名
, v/ c- q2 u# j- z$ K& j4 E(command "rotate" o3 "" p21 5);铣刀旋转5° 6 X2 ]* I4 d8 ?) J5 j2 u: b$ K
(command "move" o3 ""
* l* l: q5 W& m& Z; a(list 0 0 0) (list 0 (* -1 ( 25 (/ (- d db) 2))) 0));将铣刀移动到切削位置 ; d4 c, v% p5 j" e% k

) |( G" ?, n3 |- b" H三、螺纹加工三维仿真 5 }+ }) Z: f, q; ]' p6 c

2 S+ s' Q9 I, }# b( G; M3 ]1.车削螺纹仿真原理 + s; U- ?: C. ^+ b
/ ?8 a. B1 v% n: u; y; X
螺旋线的数学模型是:
& P" @& f# v, e$ o: whttp://www.ourjx.com/attachment/godhelp/200511261052897277804_chinacnw_com.jpg' C7 J" u1 v5 O3 r; d& k* \$ y2 b! @
其中,p为螺距,θ为瞬时角,r为基圆半径。基圆柱体每旋转一个步距角△θ,车刀平行于圆柱体轴线进给一个量△Z,将车刀复制件与圆柱体布尔差运算,再进行下一个循环。 4 w' r8 G9 }( o0 R/ m' g
主要代码如下: $ ~; I- @) K" j7 H" S/ Q: n3 H
/ F2 d: v( y: O( O% w( z
(command "ucs" "y" "" "" "color" 3);坐标系绕Y轴转动90°,指定颜色为蓝色
( V0 r$ e, e: C" c9 O) |(setq k (* (/ ( l 2) p )2 pi));设定循环次数
3 N! ], ?* t  z4 f" R8 B- s9 I3 C% z(while (<= i k);循环条件 2 `& }3 m7 O3 a! l" U
(setq pt1 (list 0 0 (* v i -1)));设移动起点坐标
! _% \! a% |# T(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
4 h; P; G# L. ^% Z(setq i ( i 0.1));给循环变量一个增量角 ) z( @1 k2 h  Y2 f* H6 f& X6 Z$ I5 h
(setq pt2 (list 0 0 (* v i -1)));设移动目标点坐标
7 J0 F7 {8 f7 }/ z(command "move" e1 "" pt1 pt2);使车刀移动一个进给量 " v* W+ N( x2 ]2 \+ y( A3 n: y4 l
(command "copy" e1 "" "0,0,5" "0,0,5");在原位复制车刀
. X. a* c6 t5 Y3 G. m(setq e2 (entlast));返回复制车刀图元名
2 U! c8 x4 J! @3 D6 U(command "subtract" a "" e2 "");将圆柱体与车刀复制件布尔差运算 ' r* z; @8 Z8 T5 v4 y# T! f
);循环体 % g2 K  T( i: n# h- w

: D) V7 ~! f  n, Y  b2.铣削滚珠丝杠仿真原理
, H, D+ e( x  k' p+ c8 a( a! t
! R: e' w  V  K% j基圆柱体每旋转一个步距角,将沿其轴线进给一个量。铣刀位置不动,将其复制件与基柱体进行布尔差运算,再进行下一个循环。
5 {* i2 _4 I+ @" q0 t( ]* p4 `1 O9 E# O$ Z; }: U9 [! L; w
其主要代码与螺纹车削相近,核心代码如下:
& n( T' e' A! O# A7 b4 I( [7 g, r1 x. D+ B% U+ r: @
(while (<= i k)
1 ]) U/ e& |4 b% J(setq pt1 (list 0 0 (* v i )));设移动起点坐标 8 s! e! @* _# R  ]) z2 b) w
(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
- R! I( n$ r2 j- t5 C1 ?1 o(setq i ( i 0.1));给循环变量一个增量角 ; o  T7 L" f; O
(setq pt2 (list 0 0 (* v i )));设移动目标点坐标 4 E" A3 N5 N: f5 `1 G0 Y+ d
(command "move" a "" pt1 pt2);圆柱体移动一个进给量
- i9 A. O# }  J- t+ V# s(command "copy" o3 "" "0,0,5" "0,0,5");在原位复制铣刀 4 B, n' X$ \( C3 P& Z0 v7 C
(setq o4 (entlast));返回复制铣刀图元名 , L* Q6 Z1 `* U# F. p: K7 Z
(command "subtract" a "" o4 "");将圆柱体与铣刀复制件布尔差运算 7 J; n& w' x5 i6 q/ m0 V9 K- w# x
)
- ^; }: C" L' i/ W# q
2 _6 ]/ N8 F5 a% V1 v) A3.仿真程序流程 , }/ }; Z3 \: T; {& x  t1 h' y/ Y

6 p4 H' Z! F& ?* Z我们采用主控程序调用仿真车削子程序,或调用仿真铣削子程序的方法实现加工动态仿真。仿真效果渲染如图4和图5所示。
5 k0 I' J; M) L% g& Z
4 \1 e2 ^: M/ Phttp://www.ourjx.com/attachment/godhelp/20051126105296277805_chinacnw_com.jpg
% [0 N% R/ T5 g4 s/ b  k# s/ c: O: ~% k' J- N8 s
图4 车削螺纹仿真 7 V' z% l- o8 z  L

. Z( a) a7 I7 B  `http://www.ourjx.com/attachment/godhelp/200511261052916277806_chinacnw_com.jpg
. l9 H2 j( Z  W' e# g$ F9 g5 @3 t* k( S
图5 铣削丝杠仿真 四、结束语
- P2 L: O8 E! v+ C% D/ U/ h( C8 s' I7 f2 c2 [' C! _6 O
三维动态仿真技术,是现代制造业不可缺少的技术之一。螺纹加工仿真原理可直接演示零件表面的成形过程,检验零件表面的加工质量,也可用于其他零件加工仿真。基于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 | 显示全部楼层 来自: 中国台湾
能否請樓主提供一下源碼3 m0 y( t6 k" `' w$ R3 }5 A
好讓大家學習學習好嗎?
发表于 2010-9-25 11:49:41 | 显示全部楼层 来自: 中国北京
楼主的图片全是XX,我也没看明白什么意思,汗
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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