QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
机械传动中,螺纹的应用十分广泛,尤其是在数控设备上更是大量使用滚珠丝杠。对这些螺纹零件,采用CAD/CAM技术进行设计与制造是离不开仿真技术的,本文主要介绍的是基于AutoCAD平台,利用VLISP编程,根据螺纹加工原理、三维实体造型和对象布尔运算等实现螺纹加工三维动态仿真技术。
2 z" C  I: j3 C8 N1 P) g
! |' H5 \1 j& ?2 ]. B一、基圆柱体造型
7 M, \* ~# ?1 e) E# |" V) ~0 {; x! {6 C6 a" T3 ?
根据国标(GB196—81)规定,三角螺纹的基本尺寸有外径D、中径D2、内径D1、螺距P、基本三角形高度H和牙形角60°。按有关规定,滚珠丝杠公称直径为D,长度为L,滚珠直径为db。将基圆柱体的直径取为D,长度取设计值L,则程序代码如下:
+ m& N5 K3 _1 P! J! q! x1 Q: j1 X- [/ R
(setq d (getreal"\n请输入螺纹外径:")
  E1 q5 a* Q& \) Sl (getreal"\n请输入螺纹长度:") - g3 q. T0 l4 i# @
)
0 J! [) k  j/ p5 a3 O$ I, L$ a(command "cylinder" (list 0 0 -1) "d" d (* -1 l ) );画圆柱体
$ j: g0 x7 T9 S9 Y# _9 I% j; `% V% j& n  M; b& S, O% ]$ H! r; `
二、切削刀具造型 * _! }( E% ^7 R; b) s9 R
9 Z7 \' m+ W3 Q7 k1 C8 R* H* r
螺纹加工常用车削、铣削等加工方法,下面仅以车削三角螺纹和铣削滚珠丝杠为例来说明。
: g5 s, j+ \) h
/ Y$ i0 f! {3 Z, C5 i, s8 `7 F1 z7 s1. 三角螺纹车刀简化模型
! |+ Y% R# o% i. z, O9 w) X# c# ^" n7 U$ g' u' W9 g
零前角螺纹车刀的创建,如图1所示其代码如下: 3 W/ ?  ~% a5 I6 m

7 N0 i4 F. G1 p5 Y  g( P0 Fhttp://www.ourjx.com/attachment/godhelp/200511261052875177801_chinacnw_com.jpg
) O+ f: x' a; l. `7 ~
4 j; {# y, l: k" B6 y图1 车刀多边形 (setq p1 (list 0 0 0));设当前坐标原点为P1 8 Y: _- [2 y. T6 P5 ?* l7 Z7 \& F
(setq p2 (polar p1 0 (/ p 4)))
8 I$ x) W1 n+ W* t7 A; t(setq p3 (polar p2 (/ pi 3 -1) (* 5 h)))   O2 d' P+ [4 K8 G0 |
(setq p4 (polar p3 (/ pi 2 -1) 10))
  {. G# h3 h1 |$ _9 y" ?$ X& ^: W(setq p5 (polar p4 pi ( (/ p 4)(* 5 h))))
: s# O) M2 t) z: a& l9 H; Y0 T9 t(setq p6 (polar p5 (/ pi 2) 10)) - ^8 q6 A) X* M* Q8 T& Y2 I- W
;定义车刀多边形p1 p2 p3 p4 p5 p6点的相对坐标 * _; `- y+ Y6 O+ ~2 l" m8 |1 b
(command "pline" p1 p2 p3 p4 p5 p6 "c" "") ;用多段线形成封闭多边形
4 B7 s. K5 _2 B$ f(command "extrude" "l" "" -5 "");拉伸形成车刀模型
" M/ Y; W3 g* Q0 F4 M(setq e1 (entlast));返回图元名
" m; l9 A" p4 w. v" E3 p5 R* Z9 \  ?(command "move" e1 "" "0,0,0" (list (/ p 2 -1) (/ d1 2 -1) 2.5));移动到起刀点 ( u# B3 N8 y2 {2 ?( _4 k
4 ]2 \$ ?# Z, j+ i% H! |  |
2. 滚珠丝杠圆盘铣刀简化模型
6 Q" i5 x& j# V# k' _$ \" T+ u; f8 d$ E) V
圆盘铣刀是根据丝杠螺纹槽的法剖面廓形而创建的成形铣刀,为简化计算可用轴向剖面廓形代替,主要代码如下: # n$ }& E. |4 ^2 M
(setq db (getreal"\n请输入滚珠直径:"));定义铣刀截面多边形各节点P11、P12、P13、P14,如图2所: + h+ t4 l* V1 `
3 ?% i2 K  c- [; {9 {3 X4 L
http://www.ourjx.com/attachment/godhelp/200511261052885277802_chinacnw_com.jpg
1 g& ~1 j9 i; a5 ?- n1 y8 t
) d. C$ r% [, O' G* R, G# y图2 铣刀截面多边形 (setq p11 (polar (list 0 0 0) (/ pi 2) 23.5)) ; Y9 T! O6 V3 C, X( M
(setq p12 (polar p11 0 db))
  V2 E! k9 [+ N9 q+ L1 N(setq p13 (polar p12 (/ pi 2 -1) 13.5)) ' z; J, z( C' J$ }. f7 O2 }( n
(setq p14 (polar p13 (* pi -1) db))
, K4 D) r9 ^/ d/ H4 `) i- t;定义铣刀截面多边形各节点P11、P12、P13、P14 ( c+ r2 ~5 Q" S5 ?. ?
(command "pline" p12 p13 p14 p11 "a" "cl" "") ;用多段线绘制铣刀截面多边形
8 ]/ l3 g3 m, l' g) E- t(command "revolve" "l" "" "x" "" );旋转生成铣刀体 : r3 ]2 G+ j  F6 ]
(setq o1 (entlast));返回图元名
" Q4 U9 A) _5 d$ @5 \0 H  T(command "ucs" "y" "" "" "color" 1);坐标系绕Y轴转90°,并指定颜色为红色
) l5 c. t6 ~8 h! ]$ f$ H+ f(setq p20 (list 0 0 0));设当前坐标原点为P20 6 @. t% `& X( `, W" B3 x
(setq p21 (polar p20 0 3.3)) 1 T( C1 f+ D* @
(setq p22 (polar p21 (/ pi 2 ) 5.2)) 2 L# K% p; L: Z/ v2 N, [* L  F
(setq p23 (polar p22 (/ (* 105 pi )180) 1.3))
0 ]0 Q/ C1 n  e2 p" ~+ Z' h(setq p24 (polar p20 (/ pi 2 ) 6))
5 F- l" u8 g# X/ t) E6 F(setq p25 (polar p20 (/ pi 2 ) 5))
( \! o1 Q  Z( E! n4 n;定义铣刀槽截面多边形各节点P20、P21、P22、P23、P24及基点P25,如图3所示:
# r4 n' C+ h' R
% T8 D7 c. O/ i5 n- D& d- X' vhttp://www.ourjx.com/attachment/godhelp/200511261052891277803_chinacnw_com.jpg
/ _' `3 f: `; [. I! `
! }& L% N, W! F) I; y图3 铣刀槽多边形 (command "pline" p20 p21 p22 p23 "a" p24 "l" "c" "");用多段线生成铣刀截面多边形 " a" f. B) ^$ `1 `! [+ M
(command "extrude" "l" "" (* 2 db) "");拉伸形成刀槽体
, f2 [- t: U. _/ \(setq o2 (entlast));返回该图元名
0 b) Y7 u; y  d9 d' k" ]6 b(command "move" o2 "" p25 (list 0 -25 -1));以基点P25移动刀槽体到指定点
# ]/ U+ }3 G" @  X(command "array" o2 "" "p" p21 20 "" "" );将刀槽体环形矩阵20个 # p! m6 ]) B0 Y" C) \
(setq ss (ssget "x" '((62 . 1))));以红色为过滤器创建选择集ss # i& t, m% S; l( j1 c- Y& l- Y9 w! j
(command "subtract" o1 "" ss "");将铣刀体与刀槽体进行布尔差运算生成铣刀简化模型 * ~/ t! Q* z0 ^1 k
(setq o3 (entlast));返回该图元名 2 M$ ?+ @1 l; I$ ]! M( X9 C
(command "rotate" o3 "" p21 5);铣刀旋转5° , k2 [  ], H" k2 O7 |: W
(command "move" o3 ""
, S% U, b: ?' b5 j0 c(list 0 0 0) (list 0 (* -1 ( 25 (/ (- d db) 2))) 0));将铣刀移动到切削位置 , N* S+ g- |7 y' a
/ ~% j, r$ w4 ^5 O* H2 T8 E
三、螺纹加工三维仿真
, b0 w& S$ C& c3 }3 I! S( L
" [! o: U" S8 F/ X1.车削螺纹仿真原理 $ ?* X+ V# q* C) D/ j, n

! N- G3 e& X4 q" ]2 b螺旋线的数学模型是:* K0 A; P# {6 \8 T
http://www.ourjx.com/attachment/godhelp/200511261052897277804_chinacnw_com.jpg# x+ x' k- v1 o+ Y
其中,p为螺距,θ为瞬时角,r为基圆半径。基圆柱体每旋转一个步距角△θ,车刀平行于圆柱体轴线进给一个量△Z,将车刀复制件与圆柱体布尔差运算,再进行下一个循环。
' a3 O% z( V* }/ j* |主要代码如下:
5 j6 O, F% D/ M( y. z
2 Y  P+ O# d; g0 u  H(command "ucs" "y" "" "" "color" 3);坐标系绕Y轴转动90°,指定颜色为蓝色
$ h8 U* {& [& U5 w7 S: R( \) L: d2 c(setq k (* (/ ( l 2) p )2 pi));设定循环次数 8 B# V- a  o& F
(while (<= i k);循环条件 * M9 ], X3 a! ~" H
(setq pt1 (list 0 0 (* v i -1)));设移动起点坐标
: C' G- b& k. t( Y. d8 Y(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
/ M: z' e; N( R8 h4 v(setq i ( i 0.1));给循环变量一个增量角 8 X7 j% W4 i1 }' k% C
(setq pt2 (list 0 0 (* v i -1)));设移动目标点坐标 1 ?  k6 s  |# E
(command "move" e1 "" pt1 pt2);使车刀移动一个进给量
' i7 H! x" r: ](command "copy" e1 "" "0,0,5" "0,0,5");在原位复制车刀
9 U& a0 `0 t) N- E8 w7 x0 `# I(setq e2 (entlast));返回复制车刀图元名
' h8 i! T4 h2 P, u" t6 M% \9 |(command "subtract" a "" e2 "");将圆柱体与车刀复制件布尔差运算
$ `6 E. c( Q2 H2 R);循环体
4 r# R! U  V  q
- a# s- g# i0 L# U/ C% f2.铣削滚珠丝杠仿真原理 & K2 ?6 a2 T" ^# {

  d7 Y( b6 u8 F, y2 Z  h, `基圆柱体每旋转一个步距角,将沿其轴线进给一个量。铣刀位置不动,将其复制件与基柱体进行布尔差运算,再进行下一个循环。
% \% I! w' N1 P. i& g, X. P9 b. I8 \4 T7 I5 E: x
其主要代码与螺纹车削相近,核心代码如下: 1 q6 Z* k  W7 p6 P

- X/ _7 H) [, Q) X. D, A(while (<= i k) ( x4 U+ c/ K. l$ J
(setq pt1 (list 0 0 (* v i )));设移动起点坐标 # v+ G. v( D! v% M
(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
' }4 @2 N- c. l& G* N9 d9 ^+ i(setq i ( i 0.1));给循环变量一个增量角 5 e, F$ V5 B$ I0 d$ \
(setq pt2 (list 0 0 (* v i )));设移动目标点坐标
& L+ F4 J+ p' Y9 {(command "move" a "" pt1 pt2);圆柱体移动一个进给量 6 Y" e7 M" z' S! u6 y6 ]1 m) r
(command "copy" o3 "" "0,0,5" "0,0,5");在原位复制铣刀
- {, h) D  d, U1 b: ~) z. s. u7 V(setq o4 (entlast));返回复制铣刀图元名
1 H4 L+ D) V, B(command "subtract" a "" o4 "");将圆柱体与铣刀复制件布尔差运算
3 x7 j3 A: v) F8 n) / ]- v7 u. n7 |& K4 \8 g

" k! Y* h3 G9 B6 Y3.仿真程序流程 ( K. @1 ~* G' A7 y8 ]- D1 K

9 g4 S5 d$ E' L我们采用主控程序调用仿真车削子程序,或调用仿真铣削子程序的方法实现加工动态仿真。仿真效果渲染如图4和图5所示。
2 \. n! y1 y7 i  g- x+ H8 _9 \: z  G" T3 e7 S! @8 Q2 h
http://www.ourjx.com/attachment/godhelp/20051126105296277805_chinacnw_com.jpg, G/ k( P! t$ N/ t7 C

9 Y. v7 y+ P& f, u% E, s3 {/ ?5 w图4 车削螺纹仿真
" X% }5 t0 y& N& k3 [* y4 J! P; o  e
http://www.ourjx.com/attachment/godhelp/200511261052916277806_chinacnw_com.jpg
% k( E5 e6 r6 K* i- r) q
5 o% F+ f: a6 i3 G图5 铣削丝杠仿真 四、结束语
/ B0 w& s0 y4 W% R- H; [! ?' R& S
0 F# @/ O' V# W1 F# R7 A; Y- w8 M7 n三维动态仿真技术,是现代制造业不可缺少的技术之一。螺纹加工仿真原理可直接演示零件表面的成形过程,检验零件表面的加工质量,也可用于其他零件加工仿真。基于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 | 显示全部楼层 来自: 中国台湾
能否請樓主提供一下源碼
/ j+ G& m6 c' B" I* n好讓大家學習學習好嗎?
发表于 2010-9-25 11:49:41 | 显示全部楼层 来自: 中国北京
楼主的图片全是XX,我也没看明白什么意思,汗
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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