QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
机械传动中,螺纹的应用十分广泛,尤其是在数控设备上更是大量使用滚珠丝杠。对这些螺纹零件,采用CAD/CAM技术进行设计与制造是离不开仿真技术的,本文主要介绍的是基于AutoCAD平台,利用VLISP编程,根据螺纹加工原理、三维实体造型和对象布尔运算等实现螺纹加工三维动态仿真技术。
3 k. A$ m( C  M* v% \9 }; E0 G6 v8 @7 L& b% G& z) P
一、基圆柱体造型
6 `5 a! c* x/ L& {. O: |
2 y% G$ Y6 I1 U, i; s根据国标(GB196—81)规定,三角螺纹的基本尺寸有外径D、中径D2、内径D1、螺距P、基本三角形高度H和牙形角60°。按有关规定,滚珠丝杠公称直径为D,长度为L,滚珠直径为db。将基圆柱体的直径取为D,长度取设计值L,则程序代码如下:
8 R  N' ]! t: a8 b* P7 t. ^+ C  H& i/ H* [! K2 Q
(setq d (getreal"\n请输入螺纹外径:") % M0 M( w3 L" I
l (getreal"\n请输入螺纹长度:")
* ~: @1 |2 }! ~6 E, ~( v1 w  M) - P7 D- k. G: u% h
(command "cylinder" (list 0 0 -1) "d" d (* -1 l ) );画圆柱体 1 ~) |0 o1 u( D8 ~$ P
& g6 j" @5 w% ]5 K0 W* B3 J
二、切削刀具造型 ' `5 a* q# k3 N4 W

5 R, V( e, T! i9 y螺纹加工常用车削、铣削等加工方法,下面仅以车削三角螺纹和铣削滚珠丝杠为例来说明。 " _, Y0 L# ]7 s6 x8 J" A# O* K; v
' S4 o# Z. Y+ E$ d
1. 三角螺纹车刀简化模型
) ~( c5 ~; N1 i5 `' q
) a' F  R, m0 I零前角螺纹车刀的创建,如图1所示其代码如下: ' t* _% C# K9 j' {% I( i3 Y1 @$ h

% U9 `; t# g- E" K: q8 K. jhttp://www.ourjx.com/attachment/godhelp/200511261052875177801_chinacnw_com.jpg+ Y! g4 k4 H1 a0 f1 m. r
+ L( \8 ?7 R+ r
图1 车刀多边形 (setq p1 (list 0 0 0));设当前坐标原点为P1
7 e$ h8 w# S% b; ](setq p2 (polar p1 0 (/ p 4))) % S1 t- L3 H. M$ ^( @% g
(setq p3 (polar p2 (/ pi 3 -1) (* 5 h)))
( D, {3 n- R- C$ u6 v(setq p4 (polar p3 (/ pi 2 -1) 10)) ' D5 ~: V/ H% X
(setq p5 (polar p4 pi ( (/ p 4)(* 5 h))))
6 g! w% ^8 G3 c( t+ r(setq p6 (polar p5 (/ pi 2) 10)) * p$ D& N$ u  q0 l: N% w
;定义车刀多边形p1 p2 p3 p4 p5 p6点的相对坐标
, O8 E0 s2 ?3 \0 N5 y(command "pline" p1 p2 p3 p4 p5 p6 "c" "") ;用多段线形成封闭多边形
# X$ ?; {9 V  Y# e0 ?(command "extrude" "l" "" -5 "");拉伸形成车刀模型 ; `3 k  f  a% ?* ~( g
(setq e1 (entlast));返回图元名 0 @4 G& @! t+ D2 ]  i' }! X
(command "move" e1 "" "0,0,0" (list (/ p 2 -1) (/ d1 2 -1) 2.5));移动到起刀点 ; j0 D  t! t0 t8 A
8 ?* p" l7 g& p: Q$ N- ~8 O
2. 滚珠丝杠圆盘铣刀简化模型
+ x* G- ~* h, l, b) `1 `. {; H! V9 w
圆盘铣刀是根据丝杠螺纹槽的法剖面廓形而创建的成形铣刀,为简化计算可用轴向剖面廓形代替,主要代码如下:
  k9 r4 f* M. P: ^) m! m$ R(setq db (getreal"\n请输入滚珠直径:"));定义铣刀截面多边形各节点P11、P12、P13、P14,如图2所: 3 z5 ^) v" {/ `8 k% F( Z2 p3 l
7 t# ]# p8 }/ M, p0 S  m1 ^
http://www.ourjx.com/attachment/godhelp/200511261052885277802_chinacnw_com.jpg
, G& U5 T% u, f: U$ t" k
8 r5 c, Y4 t4 e9 G" V图2 铣刀截面多边形 (setq p11 (polar (list 0 0 0) (/ pi 2) 23.5))
/ @8 c5 O5 V* c) C- `- a(setq p12 (polar p11 0 db))
3 g# |- ]% k5 D* V3 w(setq p13 (polar p12 (/ pi 2 -1) 13.5))
. R$ D6 t0 O. Q1 L$ F, w: H(setq p14 (polar p13 (* pi -1) db))
% [5 u1 H% g6 z. u8 [+ g9 X;定义铣刀截面多边形各节点P11、P12、P13、P14 . a; k9 T' N" h' X4 `* b! T
(command "pline" p12 p13 p14 p11 "a" "cl" "") ;用多段线绘制铣刀截面多边形 ) b; r) k7 e2 b4 U& W8 t
(command "revolve" "l" "" "x" "" );旋转生成铣刀体 # |2 b7 D: d- N$ P; q  S
(setq o1 (entlast));返回图元名 1 L& e6 b" p; q* M% @
(command "ucs" "y" "" "" "color" 1);坐标系绕Y轴转90°,并指定颜色为红色 , D3 D8 T  }0 A5 U4 S* e2 C6 ]
(setq p20 (list 0 0 0));设当前坐标原点为P20
# _4 r- N! K) ~% U(setq p21 (polar p20 0 3.3))
& E) u, m5 u, e7 A% a(setq p22 (polar p21 (/ pi 2 ) 5.2))
. `3 m. O2 v7 K& Q0 o(setq p23 (polar p22 (/ (* 105 pi )180) 1.3))
3 f$ T2 j3 M. }( z(setq p24 (polar p20 (/ pi 2 ) 6))
6 U2 |. {8 x2 t& K(setq p25 (polar p20 (/ pi 2 ) 5))
- k4 [3 @, x) U2 P/ d  V;定义铣刀槽截面多边形各节点P20、P21、P22、P23、P24及基点P25,如图3所示: 6 [5 W* k. |" o0 }. T
( e  m$ A/ I: L0 t2 v, s
http://www.ourjx.com/attachment/godhelp/200511261052891277803_chinacnw_com.jpg# K0 [1 G  ?) ~* h/ ^" u( v
& p% Z/ Q* K% F$ K6 {  K/ z2 {1 U8 L
图3 铣刀槽多边形 (command "pline" p20 p21 p22 p23 "a" p24 "l" "c" "");用多段线生成铣刀截面多边形
3 F1 ^0 l$ _3 G* K8 e(command "extrude" "l" "" (* 2 db) "");拉伸形成刀槽体 * _: R" l4 ^' d- z/ A+ q) H  n
(setq o2 (entlast));返回该图元名 ! Z) f9 q- g2 ^" Q
(command "move" o2 "" p25 (list 0 -25 -1));以基点P25移动刀槽体到指定点 # E0 {- u& w; Q5 Q3 X1 ^5 r3 a
(command "array" o2 "" "p" p21 20 "" "" );将刀槽体环形矩阵20个
$ L: W1 ]8 l( W' Z5 x; i& u/ g" ]. T(setq ss (ssget "x" '((62 . 1))));以红色为过滤器创建选择集ss + k0 P) p$ p9 o  F" P" A3 e: |/ c
(command "subtract" o1 "" ss "");将铣刀体与刀槽体进行布尔差运算生成铣刀简化模型
. m4 H+ o2 y8 g, x$ |$ `/ F(setq o3 (entlast));返回该图元名 - w( ]% T) V8 e7 b2 W
(command "rotate" o3 "" p21 5);铣刀旋转5° / [- Z* u; @+ D' `  \% L6 f
(command "move" o3 "" % k/ f  O! n0 ^2 v& R$ S
(list 0 0 0) (list 0 (* -1 ( 25 (/ (- d db) 2))) 0));将铣刀移动到切削位置 " Z/ r3 \* c9 `/ K5 a

3 x  [- p+ V9 g三、螺纹加工三维仿真
* Z" Z8 N5 x+ R9 L- i+ H+ B: Q6 y
& m7 p# N6 P4 I, m' k$ {; M1.车削螺纹仿真原理 + a+ ?* g- o& n2 u) D* `; b8 X- {

" n6 o8 h" J& Z3 B' g2 c) d; @螺旋线的数学模型是:9 u6 D" ?3 ~  i4 o" O# N
http://www.ourjx.com/attachment/godhelp/200511261052897277804_chinacnw_com.jpg" q0 R* r. ]# G- C
其中,p为螺距,θ为瞬时角,r为基圆半径。基圆柱体每旋转一个步距角△θ,车刀平行于圆柱体轴线进给一个量△Z,将车刀复制件与圆柱体布尔差运算,再进行下一个循环。
' T. O+ X& I) N, m, }* `主要代码如下:
' o. H) w- f! k5 l1 O: m- X
+ c9 M0 r, O9 [) d(command "ucs" "y" "" "" "color" 3);坐标系绕Y轴转动90°,指定颜色为蓝色 $ i9 ]  `# U! r
(setq k (* (/ ( l 2) p )2 pi));设定循环次数
0 P1 D+ Q# ^- L, x3 A3 F(while (<= i k);循环条件 / w; t$ y$ ]0 c) A  C5 O
(setq pt1 (list 0 0 (* v i -1)));设移动起点坐标 * h) c4 w7 ]4 k/ q$ c2 P, r5 @) P
(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角 0 {4 o8 y5 W. M8 O7 I" e- \
(setq i ( i 0.1));给循环变量一个增量角 , U6 w0 Q2 o6 C2 N; o2 J$ o
(setq pt2 (list 0 0 (* v i -1)));设移动目标点坐标 & ?! X* a# c7 s8 k( o$ j& f
(command "move" e1 "" pt1 pt2);使车刀移动一个进给量 1 J. E& x/ A9 |" L: `, A$ f
(command "copy" e1 "" "0,0,5" "0,0,5");在原位复制车刀 . ~. M5 S% g% x3 f& X
(setq e2 (entlast));返回复制车刀图元名 * a. q7 d* k7 e7 t: t
(command "subtract" a "" e2 "");将圆柱体与车刀复制件布尔差运算
, c! }, V# W  t) j( j);循环体
( H0 R1 i+ Y8 A$ {$ j; R, ~
7 P& _( N" @; F3 Y- B1 Q2.铣削滚珠丝杠仿真原理 8 c& J6 x" N* f! m) i( ]
. B* C+ e2 D: Q& c8 e
基圆柱体每旋转一个步距角,将沿其轴线进给一个量。铣刀位置不动,将其复制件与基柱体进行布尔差运算,再进行下一个循环。 - K8 Y% p9 J3 V7 x$ i- n
# l  A+ g* ?8 G
其主要代码与螺纹车削相近,核心代码如下:   |! X: Q* w7 T  K: w
' J/ j- a: ~: \( ~% |
(while (<= i k)
6 @) V! M8 p9 n. F4 x1 ?(setq pt1 (list 0 0 (* v i )));设移动起点坐标
4 P# H3 X6 F, O, T8 K( w3 [(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
! `; y- H# e$ K9 f(setq i ( i 0.1));给循环变量一个增量角
7 n, F) h) ~4 _(setq pt2 (list 0 0 (* v i )));设移动目标点坐标
8 m. z* W+ W7 a" e" e8 S- p(command "move" a "" pt1 pt2);圆柱体移动一个进给量
" N9 c9 o& r. n$ G' R7 Q(command "copy" o3 "" "0,0,5" "0,0,5");在原位复制铣刀
5 [0 @, N3 B7 T0 Q( {3 g(setq o4 (entlast));返回复制铣刀图元名 , m7 S3 d, u0 b# Y
(command "subtract" a "" o4 "");将圆柱体与铣刀复制件布尔差运算
3 [' w% o  P* }6 n$ r)
' D) Q* F/ G0 r" u; M' L) \- N% _' m1 ]
3.仿真程序流程
0 M" i* p  A, x
5 V- X3 K% V% Z- J) A我们采用主控程序调用仿真车削子程序,或调用仿真铣削子程序的方法实现加工动态仿真。仿真效果渲染如图4和图5所示。
1 O0 x7 Q- Q7 O
7 S/ k% G4 i. ghttp://www.ourjx.com/attachment/godhelp/20051126105296277805_chinacnw_com.jpg2 ?2 G# i/ o" K0 L/ W

- z9 w) a# L$ f* ]3 a. r图4 车削螺纹仿真 2 V9 f* C/ x7 W! w4 A8 N( m
' C8 e' g8 A' N  x/ [9 W$ l! P, v% h) l1 o
http://www.ourjx.com/attachment/godhelp/200511261052916277806_chinacnw_com.jpg
3 H* `9 f) \6 |: o7 X9 h
+ _( `; k: u/ T1 W2 R+ ^* \  |图5 铣削丝杠仿真 四、结束语
. D0 T) J: B  V% p' b1 @4 f$ D8 m0 y, U5 _0 _* G
三维动态仿真技术,是现代制造业不可缺少的技术之一。螺纹加工仿真原理可直接演示零件表面的成形过程,检验零件表面的加工质量,也可用于其他零件加工仿真。基于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 | 显示全部楼层 来自: 中国台湾
能否請樓主提供一下源碼$ v' a* f# b: I9 f
好讓大家學習學習好嗎?
发表于 2010-9-25 11:49:41 | 显示全部楼层 来自: 中国北京
楼主的图片全是XX,我也没看明白什么意思,汗
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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