QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
机械传动中,螺纹的应用十分广泛,尤其是在数控设备上更是大量使用滚珠丝杠。对这些螺纹零件,采用CAD/CAM技术进行设计与制造是离不开仿真技术的,本文主要介绍的是基于AutoCAD平台,利用VLISP编程,根据螺纹加工原理、三维实体造型和对象布尔运算等实现螺纹加工三维动态仿真技术。 5 v) V7 g8 w: Z! {$ r2 {
* v$ S0 x# W9 m7 d& X: h/ j3 p: A2 J# ?
一、基圆柱体造型
1 k0 v' ^. j+ e! W
% U. A- I6 I& c% q$ |* Z5 X, F根据国标(GB196—81)规定,三角螺纹的基本尺寸有外径D、中径D2、内径D1、螺距P、基本三角形高度H和牙形角60°。按有关规定,滚珠丝杠公称直径为D,长度为L,滚珠直径为db。将基圆柱体的直径取为D,长度取设计值L,则程序代码如下: 0 ^! c, m3 w( a: _; r2 T

$ U* l6 _' l6 R; n9 v(setq d (getreal"\n请输入螺纹外径:") ' D$ ^6 W9 O6 |* I) q( f  p
l (getreal"\n请输入螺纹长度:")
' i+ a3 X$ C; r8 O" M)
: i* |! \  n( k(command "cylinder" (list 0 0 -1) "d" d (* -1 l ) );画圆柱体 . R8 Z& y  d' m0 J7 V. H, Z# N
$ z# [8 U. H. D* Q4 V1 u
二、切削刀具造型   b1 v! x# X0 O8 v% T, s9 g3 s) l
( k' N) U8 u  x" V% L3 H
螺纹加工常用车削、铣削等加工方法,下面仅以车削三角螺纹和铣削滚珠丝杠为例来说明。
( b4 k% C- R7 H7 r* o' c
0 ^9 f1 u$ g* x% H- m9 N1. 三角螺纹车刀简化模型 # }" @) l: K$ f
2 H* R. f+ X1 [* z8 W
零前角螺纹车刀的创建,如图1所示其代码如下:
, w; U. b$ T  w' d( d+ i' I' ]' k2 K0 ]$ D
http://www.ourjx.com/attachment/godhelp/200511261052875177801_chinacnw_com.jpg  C- f. [6 w# z) Q/ C, J) Z! {8 U
+ T" O) L, S$ ]9 r1 `( T- Z
图1 车刀多边形 (setq p1 (list 0 0 0));设当前坐标原点为P1
4 B' w3 [  T: H+ P8 h(setq p2 (polar p1 0 (/ p 4)))
/ E9 Z4 m/ o* m. f" j  A" r8 R% f4 r% ](setq p3 (polar p2 (/ pi 3 -1) (* 5 h))) , @7 t  k6 a9 H' K
(setq p4 (polar p3 (/ pi 2 -1) 10)) 1 ?8 m7 f' d$ t6 U/ u. H
(setq p5 (polar p4 pi ( (/ p 4)(* 5 h)))) , R9 L, G% f0 P2 F" j3 y
(setq p6 (polar p5 (/ pi 2) 10))
0 ?+ K* C# a3 M;定义车刀多边形p1 p2 p3 p4 p5 p6点的相对坐标 $ |; G/ V8 g0 V* n0 `+ u
(command "pline" p1 p2 p3 p4 p5 p6 "c" "") ;用多段线形成封闭多边形 4 b% `) I+ X4 J. n, D
(command "extrude" "l" "" -5 "");拉伸形成车刀模型
  j/ p! r' m- i3 ]) P7 k( w1 O(setq e1 (entlast));返回图元名
" G2 o+ K. K9 b4 |3 [7 a(command "move" e1 "" "0,0,0" (list (/ p 2 -1) (/ d1 2 -1) 2.5));移动到起刀点
7 ]3 B3 Z- y$ u) }$ y& k( R4 L7 g" ^' x5 g( z) R3 K! W! d
2. 滚珠丝杠圆盘铣刀简化模型
5 S: t& U7 T  V0 ~+ F( ?, g! G( Q9 S: ~* Q9 w( r4 c( }' X! L
圆盘铣刀是根据丝杠螺纹槽的法剖面廓形而创建的成形铣刀,为简化计算可用轴向剖面廓形代替,主要代码如下:
: D  E4 G  Q) ]3 r(setq db (getreal"\n请输入滚珠直径:"));定义铣刀截面多边形各节点P11、P12、P13、P14,如图2所: 2 T+ J# z& Y9 e
# L+ D2 K6 Z$ z! E
http://www.ourjx.com/attachment/godhelp/200511261052885277802_chinacnw_com.jpg
# X, I5 V+ W4 F4 u) U# s
7 y- [5 l' A9 J7 t图2 铣刀截面多边形 (setq p11 (polar (list 0 0 0) (/ pi 2) 23.5)) 7 R$ I& R6 @6 \  ?9 n% O/ H! [% j2 _5 \
(setq p12 (polar p11 0 db))
4 R8 Y  I7 c  S: q) H; Y2 U(setq p13 (polar p12 (/ pi 2 -1) 13.5))
4 d' |' D' @5 T0 B6 N(setq p14 (polar p13 (* pi -1) db))   ~- a# v3 `  Z0 j- {/ r
;定义铣刀截面多边形各节点P11、P12、P13、P14 5 \1 O/ B, A9 V+ m9 Y% j3 F) p+ {
(command "pline" p12 p13 p14 p11 "a" "cl" "") ;用多段线绘制铣刀截面多边形 * Q% `2 Q" v0 ~
(command "revolve" "l" "" "x" "" );旋转生成铣刀体 + ]! |6 A  y2 T& a# ?/ f3 s- ^3 [" o
(setq o1 (entlast));返回图元名 + I$ ?  r, ?/ p4 d5 J
(command "ucs" "y" "" "" "color" 1);坐标系绕Y轴转90°,并指定颜色为红色
& @" V# W) w' V% ~(setq p20 (list 0 0 0));设当前坐标原点为P20 - H- }& J/ D4 z+ S/ Z
(setq p21 (polar p20 0 3.3))
, [7 h4 j( K6 J  y2 W$ a( d(setq p22 (polar p21 (/ pi 2 ) 5.2))
5 {5 {4 S, c8 ?, y(setq p23 (polar p22 (/ (* 105 pi )180) 1.3)) 2 Y, |6 }+ {6 ~7 n3 \( G& I9 u/ d
(setq p24 (polar p20 (/ pi 2 ) 6))
) n7 p1 B: G: a$ s4 k$ W(setq p25 (polar p20 (/ pi 2 ) 5)) ! M; n& {; x! d3 i5 X8 C
;定义铣刀槽截面多边形各节点P20、P21、P22、P23、P24及基点P25,如图3所示:
  `1 z$ D1 _, G5 t' Z9 i- Y0 ?0 h0 O1 I$ K" M4 Q
http://www.ourjx.com/attachment/godhelp/200511261052891277803_chinacnw_com.jpg
# j6 E* c" I( A7 M( }& [+ G* j9 @. F5 {4 M
图3 铣刀槽多边形 (command "pline" p20 p21 p22 p23 "a" p24 "l" "c" "");用多段线生成铣刀截面多边形
2 e' x9 n4 |$ j1 ?" ^% L  ?5 A( w(command "extrude" "l" "" (* 2 db) "");拉伸形成刀槽体
2 m  ?0 u" u9 b% i(setq o2 (entlast));返回该图元名 8 _, o% O) B% N8 i6 {9 ?# w
(command "move" o2 "" p25 (list 0 -25 -1));以基点P25移动刀槽体到指定点
! S: l9 k8 A' }1 h5 F(command "array" o2 "" "p" p21 20 "" "" );将刀槽体环形矩阵20个
- ]) K! M0 n! L8 ^5 [+ t5 F# D(setq ss (ssget "x" '((62 . 1))));以红色为过滤器创建选择集ss 4 W# ~0 J' m" U* H* w# b- g  b
(command "subtract" o1 "" ss "");将铣刀体与刀槽体进行布尔差运算生成铣刀简化模型
( b( s  q6 ]! l/ f(setq o3 (entlast));返回该图元名 & J! L. E1 W7 F- y, \) @8 N
(command "rotate" o3 "" p21 5);铣刀旋转5°
& ~; P; K( T# ~( v(command "move" o3 "" % D7 @; h9 v5 U
(list 0 0 0) (list 0 (* -1 ( 25 (/ (- d db) 2))) 0));将铣刀移动到切削位置
% F- ^6 i! O7 ^2 h' P: f+ l" ^' _( n7 G' ]7 D: J, C
三、螺纹加工三维仿真
: G' t$ U' t7 w- c: W1 ]& A, A9 z
, l: @' g* e7 r0 P. x! ?1.车削螺纹仿真原理 2 x9 i3 {# p4 B. z) E

+ n, M' H6 z1 u6 T: P5 J螺旋线的数学模型是:! x' }0 T8 F' E1 G6 p7 H
http://www.ourjx.com/attachment/godhelp/200511261052897277804_chinacnw_com.jpg
$ d7 ^2 c% u+ r9 w$ _" j) |其中,p为螺距,θ为瞬时角,r为基圆半径。基圆柱体每旋转一个步距角△θ,车刀平行于圆柱体轴线进给一个量△Z,将车刀复制件与圆柱体布尔差运算,再进行下一个循环。
' P. ^# O) ~) e2 K& `% v* ]主要代码如下: 7 a& }9 g5 j/ C5 y; k  E

7 B( a- [) G0 Z% W(command "ucs" "y" "" "" "color" 3);坐标系绕Y轴转动90°,指定颜色为蓝色
" I0 _2 r4 G3 J* ~+ N: ](setq k (* (/ ( l 2) p )2 pi));设定循环次数
3 @, m. p4 ?. G( B8 s' T(while (<= i k);循环条件
, f6 k+ W' A2 Y6 D$ W9 m(setq pt1 (list 0 0 (* v i -1)));设移动起点坐标
$ S& }5 |1 m9 U+ L/ m5 [(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角 8 Y# @! i& t% {; \4 o
(setq i ( i 0.1));给循环变量一个增量角
8 D  k4 {; h1 X6 \+ R. y(setq pt2 (list 0 0 (* v i -1)));设移动目标点坐标
6 e2 a! l, J, i3 w* ](command "move" e1 "" pt1 pt2);使车刀移动一个进给量
' a" Z4 t0 A- y7 `, L8 R  X# D(command "copy" e1 "" "0,0,5" "0,0,5");在原位复制车刀
# @4 o4 S+ t( S  F1 n' |(setq e2 (entlast));返回复制车刀图元名 % a% ^) X1 t' Q8 l1 z6 @$ z' |. d
(command "subtract" a "" e2 "");将圆柱体与车刀复制件布尔差运算
5 M2 G  p! f4 Q: Z; Z/ c* `2 ^);循环体
9 N; u7 r. {: s1 w, G- s# b  O) i' o
2.铣削滚珠丝杠仿真原理
: v8 F2 Y* P) P6 r) |
; v& {) z# m0 O2 {: T, |基圆柱体每旋转一个步距角,将沿其轴线进给一个量。铣刀位置不动,将其复制件与基柱体进行布尔差运算,再进行下一个循环。 ! ]& z% U6 T7 A$ C* Z5 l0 b; ?
8 N/ N3 ?6 K0 l" y4 \/ n8 d
其主要代码与螺纹车削相近,核心代码如下: 2 ^! J) u6 m% Q) W' O
! @0 H! Q6 @7 L" l, R
(while (<= i k)
( m# f! M0 |# h4 Z" H1 h$ h(setq pt1 (list 0 0 (* v i )));设移动起点坐标
4 ]: k. V3 A0 |(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
0 T( k; w; W. O0 w* ^" H(setq i ( i 0.1));给循环变量一个增量角
1 V) j: j+ t3 g- Y0 y(setq pt2 (list 0 0 (* v i )));设移动目标点坐标 9 U1 ^3 O7 V8 H$ G( W3 b5 z9 e
(command "move" a "" pt1 pt2);圆柱体移动一个进给量 ! Z( C. v$ v1 `% t7 @8 i7 W
(command "copy" o3 "" "0,0,5" "0,0,5");在原位复制铣刀 7 ?  D  Q, J- O; W
(setq o4 (entlast));返回复制铣刀图元名 ' F8 P; l$ A% g1 |5 V6 V/ W0 C
(command "subtract" a "" o4 "");将圆柱体与铣刀复制件布尔差运算
2 k! i/ H! q2 K0 h' R) ; t* h0 Z4 o* E* |
- A0 f) n8 l- T! ?
3.仿真程序流程 . p  b! Z6 x! S* H( f
7 w/ U* x& p; c3 t3 k
我们采用主控程序调用仿真车削子程序,或调用仿真铣削子程序的方法实现加工动态仿真。仿真效果渲染如图4和图5所示。
$ n, X/ P' I6 J
% R4 I- m' y4 _& P, P- T0 bhttp://www.ourjx.com/attachment/godhelp/20051126105296277805_chinacnw_com.jpg
* O+ z8 H9 |9 `9 M, H3 s
: {3 Y: |7 V9 P6 d, O图4 车削螺纹仿真
' Z: d# a. j5 Z% X3 @  N
5 F& P- s6 t* T% Jhttp://www.ourjx.com/attachment/godhelp/200511261052916277806_chinacnw_com.jpg
4 b' \8 P) B! P& r% z( G6 D8 G) a
& o0 W4 \! F. A7 X, E- q图5 铣削丝杠仿真 四、结束语 2 {2 u1 Y5 `0 l% p4 r( H2 p
7 _7 d5 z( m6 ?; K
三维动态仿真技术,是现代制造业不可缺少的技术之一。螺纹加工仿真原理可直接演示零件表面的成形过程,检验零件表面的加工质量,也可用于其他零件加工仿真。基于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 | 显示全部楼层 来自: 中国台湾
能否請樓主提供一下源碼
% G8 J; G) j/ O5 z* _. T好讓大家學習學習好嗎?
发表于 2010-9-25 11:49:41 | 显示全部楼层 来自: 中国北京
楼主的图片全是XX,我也没看明白什么意思,汗
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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