QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
goto3d 说: 此次SW竞赛获奖名单公布如下,抱歉晚了,版主最近太忙:一等奖:塔山817;二等奖:a9041、飞鱼;三等奖:wx_dfA5IKla、xwj960414、bzlgl、hklecon;请以上各位和版主联系,领取奖金!!!
2022-03-11
全站
goto3d 说: 在线网校新上线表哥同事(Mastercam2022)+虞为民版大(inventor2022)的最新课程,来围观吧!
2021-06-26
查看: 3086|回复: 7
收起左侧

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

[复制链接]
发表于 2006-12-2 13:45:37 | 显示全部楼层 |阅读模式

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

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

x
机械传动中,螺纹的应用十分广泛,尤其是在数控设备上更是大量使用滚珠丝杠。对这些螺纹零件,采用CAD/CAM技术进行设计与制造是离不开仿真技术的,本文主要介绍的是基于AutoCAD平台,利用VLISP编程,根据螺纹加工原理、三维实体造型和对象布尔运算等实现螺纹加工三维动态仿真技术。 ' G" b8 Q: q0 X3 J! m5 q: |, N

* c, |$ m! Z5 \2 \3 t一、基圆柱体造型 3 N9 F+ _+ j! s2 a" F9 {+ _
: e4 Z( f# [) |
根据国标(GB196—81)规定,三角螺纹的基本尺寸有外径D、中径D2、内径D1、螺距P、基本三角形高度H和牙形角60°。按有关规定,滚珠丝杠公称直径为D,长度为L,滚珠直径为db。将基圆柱体的直径取为D,长度取设计值L,则程序代码如下:
1 e; j$ h8 l1 ^4 `# W' Y0 P9 x" O/ C: a, s. N
(setq d (getreal"\n请输入螺纹外径:") + f2 ?; D; }; I7 i. Y
l (getreal"\n请输入螺纹长度:")
" S; |2 o- T$ [) : k) H) k' u  k% M" y4 b
(command "cylinder" (list 0 0 -1) "d" d (* -1 l ) );画圆柱体 , j9 c4 j. C; w# l, l( i  ?: c
4 t1 i6 W" ~6 K
二、切削刀具造型 & r8 O/ C1 ^  l1 J( h
) U  H) f0 K4 s6 i# a7 a* Z0 g
螺纹加工常用车削、铣削等加工方法,下面仅以车削三角螺纹和铣削滚珠丝杠为例来说明。
6 @7 V# K* c( R: o4 O3 ]: W/ F0 Q+ b: j
1. 三角螺纹车刀简化模型 1 H/ p- @5 ]; R  U

# k, p$ p4 z( `7 ?# K零前角螺纹车刀的创建,如图1所示其代码如下: - h) b6 L0 B- l* k) i" P  b
, b4 M% o. i% k1 l% ^+ A6 q
http://www.ourjx.com/attachment/godhelp/200511261052875177801_chinacnw_com.jpg
% l+ u2 F3 Z" F* h  C# a- B  V1 L
& R+ v' u/ H/ E! v# d图1 车刀多边形 (setq p1 (list 0 0 0));设当前坐标原点为P1
! U1 v/ r' Z* @(setq p2 (polar p1 0 (/ p 4))) ) U3 a2 e! M. ^% z
(setq p3 (polar p2 (/ pi 3 -1) (* 5 h)))
9 I. u! p- a' S+ W(setq p4 (polar p3 (/ pi 2 -1) 10)) " i6 d1 g2 Z1 u$ @/ Q; _6 e
(setq p5 (polar p4 pi ( (/ p 4)(* 5 h))))
2 R/ n- X9 ^8 @/ j7 x(setq p6 (polar p5 (/ pi 2) 10))
2 U: m) z3 x; r( w" L) V7 K;定义车刀多边形p1 p2 p3 p4 p5 p6点的相对坐标 , E; i1 N6 J9 r- j
(command "pline" p1 p2 p3 p4 p5 p6 "c" "") ;用多段线形成封闭多边形 : o. ~$ l! e, N0 @
(command "extrude" "l" "" -5 "");拉伸形成车刀模型
! `# Z" l/ D5 a/ Z4 w5 h  Z(setq e1 (entlast));返回图元名
/ j. c% z5 j+ i4 Q. T  a(command "move" e1 "" "0,0,0" (list (/ p 2 -1) (/ d1 2 -1) 2.5));移动到起刀点 & k7 q' X+ C1 B; H8 b* }. X
: b- l/ d! j8 c2 y+ A1 j) ~& g3 y$ i' B
2. 滚珠丝杠圆盘铣刀简化模型 / ^5 y4 P: w( V; H, a5 O# k
# b# }8 J* }+ _' r; {/ l, d0 Y
圆盘铣刀是根据丝杠螺纹槽的法剖面廓形而创建的成形铣刀,为简化计算可用轴向剖面廓形代替,主要代码如下: & w0 O$ s  K- V8 S: B1 \
(setq db (getreal"\n请输入滚珠直径:"));定义铣刀截面多边形各节点P11、P12、P13、P14,如图2所: 7 Z/ ^% B+ q4 r$ ]/ j

8 a/ C' p; y# g6 ~$ B# {* ?http://www.ourjx.com/attachment/godhelp/200511261052885277802_chinacnw_com.jpg
* Q, ?$ ^5 E, a% v6 X
. [2 ?, w1 \4 l- V图2 铣刀截面多边形 (setq p11 (polar (list 0 0 0) (/ pi 2) 23.5))
9 N2 K$ w2 q5 P0 A& t(setq p12 (polar p11 0 db))
' W6 _% s" Z' V1 j& E(setq p13 (polar p12 (/ pi 2 -1) 13.5)) 3 S% l3 E$ o( X2 O  ~* A; g
(setq p14 (polar p13 (* pi -1) db)) 3 c0 q/ X7 n& F7 E  d2 I( ?
;定义铣刀截面多边形各节点P11、P12、P13、P14
6 [9 U6 g, k% _# C(command "pline" p12 p13 p14 p11 "a" "cl" "") ;用多段线绘制铣刀截面多边形
- Z/ v  H1 ~+ H5 y! R5 ^5 Q# x(command "revolve" "l" "" "x" "" );旋转生成铣刀体
1 Y' i8 D1 O' L$ @" {4 z1 @(setq o1 (entlast));返回图元名
) e( s  c# `  f5 l0 E) B" X2 S(command "ucs" "y" "" "" "color" 1);坐标系绕Y轴转90°,并指定颜色为红色
$ A9 Y8 S+ i; D! @1 M3 ](setq p20 (list 0 0 0));设当前坐标原点为P20
. h9 u8 S. |1 W3 ^( r1 c(setq p21 (polar p20 0 3.3)) 0 e; C0 O- P8 G4 ~& }6 p, }! f
(setq p22 (polar p21 (/ pi 2 ) 5.2)) + k$ h5 S- I2 g4 X: W  ?, [$ Q" e
(setq p23 (polar p22 (/ (* 105 pi )180) 1.3))
" W9 k6 l: I3 G% ](setq p24 (polar p20 (/ pi 2 ) 6)) ; }0 ~, R2 f8 D# w
(setq p25 (polar p20 (/ pi 2 ) 5))
2 q% ~! {  t- a% c8 U% a+ V$ q;定义铣刀槽截面多边形各节点P20、P21、P22、P23、P24及基点P25,如图3所示: 8 p2 G0 P  D; L) T
- h: Q9 V) F8 S3 \& g
http://www.ourjx.com/attachment/godhelp/200511261052891277803_chinacnw_com.jpg( p9 V9 M7 s9 N3 H
0 s: @/ Z' m4 x7 a- r
图3 铣刀槽多边形 (command "pline" p20 p21 p22 p23 "a" p24 "l" "c" "");用多段线生成铣刀截面多边形
  I; ]: `% J( P1 S4 _(command "extrude" "l" "" (* 2 db) "");拉伸形成刀槽体 : r+ v0 \7 ?, W8 s
(setq o2 (entlast));返回该图元名 4 W1 u% a# c# `; a; k- S  ~
(command "move" o2 "" p25 (list 0 -25 -1));以基点P25移动刀槽体到指定点 : r" n8 c0 R' q
(command "array" o2 "" "p" p21 20 "" "" );将刀槽体环形矩阵20个 + a* j7 m2 n( _/ b9 L; Z
(setq ss (ssget "x" '((62 . 1))));以红色为过滤器创建选择集ss 8 M! {  }; i* S3 u9 x4 A
(command "subtract" o1 "" ss "");将铣刀体与刀槽体进行布尔差运算生成铣刀简化模型
0 W! c, x" s: S3 i(setq o3 (entlast));返回该图元名 2 u" m% R- d: p% L$ |
(command "rotate" o3 "" p21 5);铣刀旋转5° - n+ q. a- M+ P/ G
(command "move" o3 ""
. p' ]6 A2 d! a+ P; H* T8 t(list 0 0 0) (list 0 (* -1 ( 25 (/ (- d db) 2))) 0));将铣刀移动到切削位置
* l% I7 x; T, ?4 V6 d4 S" V" X! @- D. b! X
三、螺纹加工三维仿真
' V- e) e! j/ F% p. O3 {: v  d5 d, f; u& Z( ~" p8 Q
1.车削螺纹仿真原理 . E6 l5 Z/ s4 T: e. Q
# b( C# p) q1 z- J* b% u7 h$ C1 w  }4 N
螺旋线的数学模型是:
% }  r; [2 i# q+ n; g( U2 v: Lhttp://www.ourjx.com/attachment/godhelp/200511261052897277804_chinacnw_com.jpg
, A% a: j+ d# G# ^# F# H其中,p为螺距,θ为瞬时角,r为基圆半径。基圆柱体每旋转一个步距角△θ,车刀平行于圆柱体轴线进给一个量△Z,将车刀复制件与圆柱体布尔差运算,再进行下一个循环。
3 {. f9 w+ w$ H0 G主要代码如下: # a: e) P' X% z7 q

7 [  X0 s9 M3 }(command "ucs" "y" "" "" "color" 3);坐标系绕Y轴转动90°,指定颜色为蓝色 4 x% J7 ^4 i- d
(setq k (* (/ ( l 2) p )2 pi));设定循环次数 : c8 I- Y' T2 r7 U# X+ ^
(while (<= i k);循环条件 # j( C) [" J- j% _. b' S
(setq pt1 (list 0 0 (* v i -1)));设移动起点坐标
- l! ]9 l4 l$ ^7 g& u% T(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
$ k1 P' K6 B' H( z) T(setq i ( i 0.1));给循环变量一个增量角 - Q7 X" s& F  w6 h- Q
(setq pt2 (list 0 0 (* v i -1)));设移动目标点坐标
/ R$ d* Y2 s; Q" _5 [1 A(command "move" e1 "" pt1 pt2);使车刀移动一个进给量
9 O+ ^% o" W) s3 X2 Q) j3 {(command "copy" e1 "" "0,0,5" "0,0,5");在原位复制车刀 ! ?% X2 r) E4 @* j1 j/ d3 ]6 X
(setq e2 (entlast));返回复制车刀图元名
2 C7 G; g+ _. H  ^4 `( n3 A(command "subtract" a "" e2 "");将圆柱体与车刀复制件布尔差运算 ) x8 G' M- w# y; G( ]' `
);循环体 ' T% p( _  R* q+ D( J  y; a" |
6 t$ J! M5 [1 j/ _. F( e
2.铣削滚珠丝杠仿真原理 % G8 G/ h* U3 K: ]0 N

9 W4 Y% A  T$ B0 u# X" h, t基圆柱体每旋转一个步距角,将沿其轴线进给一个量。铣刀位置不动,将其复制件与基柱体进行布尔差运算,再进行下一个循环。 8 w- l: x% d" p$ i

$ k3 h3 Y5 y- F* W6 ^其主要代码与螺纹车削相近,核心代码如下: - S- O* l8 L5 ~0 e; \, l4 F) V$ h5 ^7 x

. c  z2 c4 E7 @(while (<= i k)
* i7 D; d1 B9 p& j% D, B(setq pt1 (list 0 0 (* v i )));设移动起点坐标   @5 Y0 M5 S  Q" F5 U4 R; M
(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角 : ^& M( ^& e, `- K
(setq i ( i 0.1));给循环变量一个增量角
% D, u8 G+ u) w; I(setq pt2 (list 0 0 (* v i )));设移动目标点坐标 0 e+ @) Z9 }. [8 ]! X% X
(command "move" a "" pt1 pt2);圆柱体移动一个进给量 6 z/ _2 K* \# i! U; ~# |, N
(command "copy" o3 "" "0,0,5" "0,0,5");在原位复制铣刀
+ \. n( [; _+ O+ _& f' C) N9 l(setq o4 (entlast));返回复制铣刀图元名 , Q$ l5 `2 s- u- ?
(command "subtract" a "" o4 "");将圆柱体与铣刀复制件布尔差运算 , L3 U6 ]% d6 r* `* S
)
* H5 h8 t3 f4 Z9 b8 }% t: w# F9 m* B7 L' k, L4 j, Q  I
3.仿真程序流程
1 g% Q* L" W0 H- l+ G, n8 _2 C2 E% C5 R$ ?7 C! g2 A7 w2 W5 O' q
我们采用主控程序调用仿真车削子程序,或调用仿真铣削子程序的方法实现加工动态仿真。仿真效果渲染如图4和图5所示。
5 V( ~' j( R( F- ]" h9 O- l
+ v$ s/ i1 ^2 R0 S5 [! shttp://www.ourjx.com/attachment/godhelp/20051126105296277805_chinacnw_com.jpg$ l: {. E7 e, z1 c
6 T) a  }- G# ~+ G: R' C
图4 车削螺纹仿真 " j/ i# W: F+ W- Q9 V; N8 D/ R

8 s- E3 W. x2 h( x! Dhttp://www.ourjx.com/attachment/godhelp/200511261052916277806_chinacnw_com.jpg6 s8 O3 G# h" ~( n
! R2 N1 l; R$ \
图5 铣削丝杠仿真 四、结束语 * c( [+ f& H2 U& z/ N: `9 N

1 S/ o7 X4 L7 g9 J1 u7 e7 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 | 显示全部楼层
能否請樓主提供一下源碼
# l% H9 y2 a1 Y好讓大家學習學習好嗎?
发表于 2010-9-25 11:49:41 | 显示全部楼层
楼主的图片全是XX,我也没看明白什么意思,汗
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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