QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
机械传动中,螺纹的应用十分广泛,尤其是在数控设备上更是大量使用滚珠丝杠。对这些螺纹零件,采用CAD/CAM技术进行设计与制造是离不开仿真技术的,本文主要介绍的是基于AutoCAD平台,利用VLISP编程,根据螺纹加工原理、三维实体造型和对象布尔运算等实现螺纹加工三维动态仿真技术。
7 }0 g1 C2 F5 B2 u4 |/ k# ^8 j# U
* c' ]7 m$ r* ]9 k4 {一、基圆柱体造型
- f- m0 N3 A+ x- M
) D4 ?6 ]- a& |根据国标(GB196—81)规定,三角螺纹的基本尺寸有外径D、中径D2、内径D1、螺距P、基本三角形高度H和牙形角60°。按有关规定,滚珠丝杠公称直径为D,长度为L,滚珠直径为db。将基圆柱体的直径取为D,长度取设计值L,则程序代码如下:
7 n; X  u8 ?9 k' k0 d2 o" O% \
/ q9 V* Y/ D0 I: `! c% o(setq d (getreal"\n请输入螺纹外径:") , W- }% R& E% u- [: Y' {2 R+ I% e
l (getreal"\n请输入螺纹长度:") & s3 `" D4 L7 E$ T
)
4 @2 r/ H8 x, w/ T3 [( q(command "cylinder" (list 0 0 -1) "d" d (* -1 l ) );画圆柱体 9 O) e* o" q7 R3 r/ J* k8 @
+ K1 }5 D" X$ I6 _- z( w
二、切削刀具造型
3 `% D( `8 u4 s" c  i; G6 t1 X" l0 D7 w
螺纹加工常用车削、铣削等加工方法,下面仅以车削三角螺纹和铣削滚珠丝杠为例来说明。 . d( J$ }, I) R& K( m% Q3 q

  K' X6 j- D0 Z& s1 g1. 三角螺纹车刀简化模型 3 o' A" `4 i7 Z% h/ C) L; @8 y
  D# t( l; _# ]$ R* r/ W
零前角螺纹车刀的创建,如图1所示其代码如下:
# E8 S8 N2 M, p3 i: K7 T3 I7 e" `. q6 q1 M$ B* O
http://www.ourjx.com/attachment/godhelp/200511261052875177801_chinacnw_com.jpg
# I5 ?  I2 _4 o- M$ R/ C. H9 u
0 x' ?- t: h! h8 ]& n4 |  h- _图1 车刀多边形 (setq p1 (list 0 0 0));设当前坐标原点为P1
2 G% `* I8 e, _/ E& [$ i(setq p2 (polar p1 0 (/ p 4))) 2 T. V$ j3 ^6 F5 c/ Z0 ~; D% X7 a
(setq p3 (polar p2 (/ pi 3 -1) (* 5 h)))
+ v' {% _$ W" w* ]  e  J(setq p4 (polar p3 (/ pi 2 -1) 10)) : Y: J4 ]) }1 e+ z7 \$ X/ _, N
(setq p5 (polar p4 pi ( (/ p 4)(* 5 h))))
* x# K4 C+ }7 x  V4 T: B" a(setq p6 (polar p5 (/ pi 2) 10))
9 \: W* G4 a( X, r/ P;定义车刀多边形p1 p2 p3 p4 p5 p6点的相对坐标 9 l; F: y2 R* a* t: M& I
(command "pline" p1 p2 p3 p4 p5 p6 "c" "") ;用多段线形成封闭多边形
6 R* Q  t, j; T5 Q; d. u! d+ F5 y(command "extrude" "l" "" -5 "");拉伸形成车刀模型
" _9 J9 {2 E% ^1 I4 b(setq e1 (entlast));返回图元名 7 T7 \$ J- s8 B2 q3 E
(command "move" e1 "" "0,0,0" (list (/ p 2 -1) (/ d1 2 -1) 2.5));移动到起刀点 + P4 j& ?( Z3 k% m2 {* b' p
% z7 |1 [  ]1 q; z
2. 滚珠丝杠圆盘铣刀简化模型
( _; M$ k* Q0 N& x+ o' `+ |
3 ~- R% I/ @% P0 P( N3 V! V圆盘铣刀是根据丝杠螺纹槽的法剖面廓形而创建的成形铣刀,为简化计算可用轴向剖面廓形代替,主要代码如下:
1 f# r: K: W* Y8 i& L! w/ c(setq db (getreal"\n请输入滚珠直径:"));定义铣刀截面多边形各节点P11、P12、P13、P14,如图2所: 7 {. Q* _4 v- }
: X+ h' `- E; D; z( x5 L
http://www.ourjx.com/attachment/godhelp/200511261052885277802_chinacnw_com.jpg8 S# i9 ^% F+ w# b' n# z
+ c# |# d3 x1 p& A% [& r8 L, O% m
图2 铣刀截面多边形 (setq p11 (polar (list 0 0 0) (/ pi 2) 23.5))
8 ?* f3 H1 _6 ?4 I. _% l(setq p12 (polar p11 0 db)) 3 v2 P% e/ `( L0 ?# ]6 ?
(setq p13 (polar p12 (/ pi 2 -1) 13.5)) & m( E8 C; G" r" K/ q) |8 ]/ \
(setq p14 (polar p13 (* pi -1) db))
) F) _) H* d' r* y* W;定义铣刀截面多边形各节点P11、P12、P13、P14 2 ~6 P; x8 g3 f/ m. u8 ?& K+ a
(command "pline" p12 p13 p14 p11 "a" "cl" "") ;用多段线绘制铣刀截面多边形 4 w# c9 z2 r( ?  D# b
(command "revolve" "l" "" "x" "" );旋转生成铣刀体 , x. W+ q# E0 {7 [
(setq o1 (entlast));返回图元名
2 U5 j& a4 o/ h) N3 ], `(command "ucs" "y" "" "" "color" 1);坐标系绕Y轴转90°,并指定颜色为红色 ' p' s6 _0 X6 h; [  d+ n9 k& b
(setq p20 (list 0 0 0));设当前坐标原点为P20 ' _+ q/ B6 K! o5 g" _0 v
(setq p21 (polar p20 0 3.3))
, R! P" @3 O4 j4 z% {, ]1 q(setq p22 (polar p21 (/ pi 2 ) 5.2))
7 f+ W  h6 W& }" i, O(setq p23 (polar p22 (/ (* 105 pi )180) 1.3)) ' W& e% B0 w  E- \
(setq p24 (polar p20 (/ pi 2 ) 6)) , L/ p2 s! L& o4 S6 z2 j* @
(setq p25 (polar p20 (/ pi 2 ) 5)) ) E$ k' f" v$ j
;定义铣刀槽截面多边形各节点P20、P21、P22、P23、P24及基点P25,如图3所示:
) h( @  j* H7 n, V
& b& _' K; l9 o" b+ E2 ehttp://www.ourjx.com/attachment/godhelp/200511261052891277803_chinacnw_com.jpg& ^! O9 Y' c4 ?4 m

- |$ v: V/ G' v  I' Y# y图3 铣刀槽多边形 (command "pline" p20 p21 p22 p23 "a" p24 "l" "c" "");用多段线生成铣刀截面多边形 + \9 S% x" m: r& x& T
(command "extrude" "l" "" (* 2 db) "");拉伸形成刀槽体 , F( c8 f% V/ n8 T$ A
(setq o2 (entlast));返回该图元名 4 N) z7 N: h2 b' f% a6 W3 w2 u
(command "move" o2 "" p25 (list 0 -25 -1));以基点P25移动刀槽体到指定点
/ r' E& p% F' i1 X(command "array" o2 "" "p" p21 20 "" "" );将刀槽体环形矩阵20个 + E& d( H. i* d, @) ~
(setq ss (ssget "x" '((62 . 1))));以红色为过滤器创建选择集ss , Q0 Y1 P9 i& u
(command "subtract" o1 "" ss "");将铣刀体与刀槽体进行布尔差运算生成铣刀简化模型
& l& }. ^9 k" y, N2 _" j- y; N(setq o3 (entlast));返回该图元名 ( h6 ^$ |- ~9 `: n1 f/ H
(command "rotate" o3 "" p21 5);铣刀旋转5°
  z" ^) b, g  v1 g* D' [1 |+ d8 d(command "move" o3 "" 6 n- ], b1 y" c0 y( b( y! Q$ P( x
(list 0 0 0) (list 0 (* -1 ( 25 (/ (- d db) 2))) 0));将铣刀移动到切削位置
% x& G3 D6 ~9 V! a. P0 C
' p& g( l! C. ~( v, n. W三、螺纹加工三维仿真
; {; Q: w  L. p- }, L: l, R& ~' Q* b$ \
1.车削螺纹仿真原理 + R& Q. B& e$ p0 U  c+ z; m! z
  G7 `8 l" A: G* M! Y, F8 j4 f
螺旋线的数学模型是:
, O. s2 M1 Z# t5 H. a' Thttp://www.ourjx.com/attachment/godhelp/200511261052897277804_chinacnw_com.jpg
6 F$ q8 w; Y# I其中,p为螺距,θ为瞬时角,r为基圆半径。基圆柱体每旋转一个步距角△θ,车刀平行于圆柱体轴线进给一个量△Z,将车刀复制件与圆柱体布尔差运算,再进行下一个循环。 % @' g& Y! T+ x% f# u* G
主要代码如下: 3 g  z2 r9 b3 Z3 h. H* L8 [0 x

5 Q  `7 f4 K, a8 [! Z(command "ucs" "y" "" "" "color" 3);坐标系绕Y轴转动90°,指定颜色为蓝色 ( r' \$ J4 E0 w0 P  n. M9 ~
(setq k (* (/ ( l 2) p )2 pi));设定循环次数 , L0 s% n8 {  z+ k, U0 R- O
(while (<= i k);循环条件
: }* G4 O3 W0 R' o6 ?4 s(setq pt1 (list 0 0 (* v i -1)));设移动起点坐标 $ |8 s% P* H+ u$ d" }1 H
(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角 7 f% A! }/ t4 k- T% ^
(setq i ( i 0.1));给循环变量一个增量角 - V% c1 A0 w1 \& d* g
(setq pt2 (list 0 0 (* v i -1)));设移动目标点坐标 ! S$ h: S) M. D5 Z8 |: f
(command "move" e1 "" pt1 pt2);使车刀移动一个进给量 ! C5 o# y6 x- l; a( s& \4 s3 t
(command "copy" e1 "" "0,0,5" "0,0,5");在原位复制车刀
6 v% P" x' c* d5 B5 {. O' b( |(setq e2 (entlast));返回复制车刀图元名
7 w3 ^% e3 H: r$ F$ L3 d% p* W5 n(command "subtract" a "" e2 "");将圆柱体与车刀复制件布尔差运算 : Z/ A% R; [4 n0 b2 E' K) G. s
);循环体
/ C- c  _1 t; ?
$ y- X# ^+ D( |& T; Q6 q2.铣削滚珠丝杠仿真原理 4 F. V3 ?0 e2 [# f! O0 O9 r, R; H0 p

& x8 e4 h6 l, F/ t基圆柱体每旋转一个步距角,将沿其轴线进给一个量。铣刀位置不动,将其复制件与基柱体进行布尔差运算,再进行下一个循环。
4 U, V& g- K" y% X
7 `. R& q7 p! ~其主要代码与螺纹车削相近,核心代码如下: 0 _$ K; g) J1 K# j% H

4 K& T7 z) Q0 l! ?1 _9 K(while (<= i k) % D' p% a# n- O* P' D8 J# i1 A6 H
(setq pt1 (list 0 0 (* v i )));设移动起点坐标 4 t5 z+ W8 Z2 S$ C
(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
9 T: d( I4 _+ R(setq i ( i 0.1));给循环变量一个增量角
" i9 u5 h3 e. [; f2 u(setq pt2 (list 0 0 (* v i )));设移动目标点坐标
! r) z6 O  e# a1 T: w9 @: o* o(command "move" a "" pt1 pt2);圆柱体移动一个进给量 / @; z* o; @% a/ B/ i1 u% @
(command "copy" o3 "" "0,0,5" "0,0,5");在原位复制铣刀 . h* F8 c) F3 I$ I" s
(setq o4 (entlast));返回复制铣刀图元名 - L+ ~$ A* N# U. @, V# E
(command "subtract" a "" o4 "");将圆柱体与铣刀复制件布尔差运算 ) _$ N: W5 I  k" h. G5 @& `( F
) " Z+ Y+ s7 V. n3 X$ F9 l
/ c2 h/ W  Z+ R- r" H
3.仿真程序流程 * e$ J4 y1 |7 e1 x
' g5 T! h: }- a/ M' y/ b
我们采用主控程序调用仿真车削子程序,或调用仿真铣削子程序的方法实现加工动态仿真。仿真效果渲染如图4和图5所示。 & R9 s* ~$ u! s& P9 F. S
4 |4 E1 l7 U& {, d
http://www.ourjx.com/attachment/godhelp/20051126105296277805_chinacnw_com.jpg% I# U) Z1 X( b# Y
& a) \$ A* z  ?. E
图4 车削螺纹仿真 5 z+ w% v. X! n) e4 S7 n; L8 d" [2 I- r
' w% K$ ?. c! `  S8 Q
http://www.ourjx.com/attachment/godhelp/200511261052916277806_chinacnw_com.jpg& Q6 W0 K# b+ q2 a4 R  U4 Q- i

+ c7 r$ g4 Z: N5 U- ?图5 铣削丝杠仿真 四、结束语
* L6 f+ T" H8 h( J5 J+ N1 O
, s; d: a9 Z! m/ S: p" ]三维动态仿真技术,是现代制造业不可缺少的技术之一。螺纹加工仿真原理可直接演示零件表面的成形过程,检验零件表面的加工质量,也可用于其他零件加工仿真。基于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 | 显示全部楼层 来自: 中国台湾
能否請樓主提供一下源碼* l7 K9 `' D. f/ e% `$ V/ r
好讓大家學習學習好嗎?
发表于 2010-9-25 11:49:41 | 显示全部楼层 来自: 中国北京
楼主的图片全是XX,我也没看明白什么意思,汗
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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