QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
3天前
查看: 3349|回复: 7
收起左侧

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

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

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

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

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

3 H  J: w, e+ n6 |2 o+ b9 Z(setq d (getreal"\n请输入螺纹外径:") 6 d1 n- l5 |  ^# S+ ^- c5 d
l (getreal"\n请输入螺纹长度:")
9 j, o" V$ M9 ~% v* J( W9 N/ Q) 6 P( q. Q$ S# e
(command "cylinder" (list 0 0 -1) "d" d (* -1 l ) );画圆柱体 : q2 ]0 @$ X8 z% U+ [
/ p$ J% Q* k  v% U5 P, h
二、切削刀具造型 ' F' s' S; E& D  R* t9 _3 D$ a

& f) U! y" a) P- G6 ?1 B螺纹加工常用车削、铣削等加工方法,下面仅以车削三角螺纹和铣削滚珠丝杠为例来说明。 " e3 N3 ^2 e4 b+ o& J$ r5 ^
! u$ b1 G: A2 l6 `
1. 三角螺纹车刀简化模型 9 X  Y* ]. c8 q4 N& M: `+ B. D
6 P$ n' H% k1 J+ q
零前角螺纹车刀的创建,如图1所示其代码如下: # T- ~, s; h/ q. J2 y: f5 k

$ V' A& M1 h& s5 @" A/ q7 ihttp://www.ourjx.com/attachment/godhelp/200511261052875177801_chinacnw_com.jpg
7 a, u! m  G- \# Y! \2 V9 @9 H2 `. @: M; P1 @& b
图1 车刀多边形 (setq p1 (list 0 0 0));设当前坐标原点为P1 3 m/ e' W3 d& f
(setq p2 (polar p1 0 (/ p 4))) ) p8 r  g  n" a% t( {
(setq p3 (polar p2 (/ pi 3 -1) (* 5 h))) % H# \9 G$ _5 B/ ~5 T/ u" d
(setq p4 (polar p3 (/ pi 2 -1) 10))
- U1 l1 E1 _. e+ l; [(setq p5 (polar p4 pi ( (/ p 4)(* 5 h)))) : @2 ^% P# N' n1 {
(setq p6 (polar p5 (/ pi 2) 10)) & _+ v6 ]6 y0 s: n
;定义车刀多边形p1 p2 p3 p4 p5 p6点的相对坐标 ! F# a; o5 ^$ f2 `  h
(command "pline" p1 p2 p3 p4 p5 p6 "c" "") ;用多段线形成封闭多边形
0 d% S5 A/ ~$ H- s% x(command "extrude" "l" "" -5 "");拉伸形成车刀模型 ( k. `" I, V: V# R7 B
(setq e1 (entlast));返回图元名
8 x8 R* ~: s" c(command "move" e1 "" "0,0,0" (list (/ p 2 -1) (/ d1 2 -1) 2.5));移动到起刀点
2 j1 a* g3 E( V8 W; H3 ?& p* O
4 m8 |0 t8 I# [) O" b2. 滚珠丝杠圆盘铣刀简化模型
/ d# X5 _8 A$ q: E/ S) G% w& F  U, I9 k, o8 \  S; R5 U
圆盘铣刀是根据丝杠螺纹槽的法剖面廓形而创建的成形铣刀,为简化计算可用轴向剖面廓形代替,主要代码如下:
/ m/ z8 t3 I* m% M(setq db (getreal"\n请输入滚珠直径:"));定义铣刀截面多边形各节点P11、P12、P13、P14,如图2所: $ r- b0 D. ]/ K
+ p- \" ^, F5 i0 q3 u( e/ U
http://www.ourjx.com/attachment/godhelp/200511261052885277802_chinacnw_com.jpg
& x" W7 P/ w" e3 p3 y0 V
) C' i/ A: p3 u" h6 i( ~图2 铣刀截面多边形 (setq p11 (polar (list 0 0 0) (/ pi 2) 23.5)) 0 ^9 e; V# t, d. u/ O; _
(setq p12 (polar p11 0 db)) $ a' H$ n6 Q% M' J
(setq p13 (polar p12 (/ pi 2 -1) 13.5)) : w* g% }% y% h7 I3 j
(setq p14 (polar p13 (* pi -1) db))
8 }; M4 e5 @3 r  q3 d! J& U5 e;定义铣刀截面多边形各节点P11、P12、P13、P14
8 H) V( \- o$ @(command "pline" p12 p13 p14 p11 "a" "cl" "") ;用多段线绘制铣刀截面多边形 $ @1 e$ {. {3 u* K0 X
(command "revolve" "l" "" "x" "" );旋转生成铣刀体 9 Q' O5 S& w; M% J$ Q; X& a
(setq o1 (entlast));返回图元名
* u) r! ^( e; O' `, S( l, c(command "ucs" "y" "" "" "color" 1);坐标系绕Y轴转90°,并指定颜色为红色 4 B5 E2 S" D, T) ]5 Y" N
(setq p20 (list 0 0 0));设当前坐标原点为P20 % R# n. g9 s& B9 m2 s0 Y) y9 b
(setq p21 (polar p20 0 3.3)) 6 M% p$ E+ x" Q# `% ^
(setq p22 (polar p21 (/ pi 2 ) 5.2))
* x( [) S3 Y$ ~; f! G% W4 F(setq p23 (polar p22 (/ (* 105 pi )180) 1.3))
$ |  [+ O, V; N+ G(setq p24 (polar p20 (/ pi 2 ) 6))
2 }8 I8 i8 k- y% J(setq p25 (polar p20 (/ pi 2 ) 5)) 2 Y0 H4 J+ E: ~
;定义铣刀槽截面多边形各节点P20、P21、P22、P23、P24及基点P25,如图3所示:
: ~0 d' _2 F' b6 s; n+ r1 e, h
. h, W6 N. m5 X* \% xhttp://www.ourjx.com/attachment/godhelp/200511261052891277803_chinacnw_com.jpg% L* E/ u" ^9 N" g& Z  c1 n0 m

9 c) Y% z! t: a图3 铣刀槽多边形 (command "pline" p20 p21 p22 p23 "a" p24 "l" "c" "");用多段线生成铣刀截面多边形
$ d3 k/ a6 z( F7 Y(command "extrude" "l" "" (* 2 db) "");拉伸形成刀槽体
( _& ]! d& G8 F1 a' f# f9 F. J% p(setq o2 (entlast));返回该图元名
5 B  z9 k3 f: B% g+ X4 W(command "move" o2 "" p25 (list 0 -25 -1));以基点P25移动刀槽体到指定点 6 M$ v4 q" S6 `  I/ w4 x2 M
(command "array" o2 "" "p" p21 20 "" "" );将刀槽体环形矩阵20个 ; Y0 n" R  q  @
(setq ss (ssget "x" '((62 . 1))));以红色为过滤器创建选择集ss
% \% Y8 ~6 z0 C6 H* ~(command "subtract" o1 "" ss "");将铣刀体与刀槽体进行布尔差运算生成铣刀简化模型 / p6 t! \% D* W. D( d3 j
(setq o3 (entlast));返回该图元名
4 i, i4 a6 y" H9 N(command "rotate" o3 "" p21 5);铣刀旋转5°
* t1 {; \* v0 w2 p6 d& y3 Q& M1 Y) p(command "move" o3 ""
6 h0 y; {3 d9 V/ p2 _/ c" q! I/ L(list 0 0 0) (list 0 (* -1 ( 25 (/ (- d db) 2))) 0));将铣刀移动到切削位置 / Y( m2 |" @" o6 P; N7 N0 B
: l) D; w" B3 }/ a% J1 d1 j: r
三、螺纹加工三维仿真
! |$ h* t; h2 A1 I, W7 H, Z- n
+ X3 J: [# x+ W+ g+ x& [0 O1.车削螺纹仿真原理
% G& l  f' n7 M# I0 a5 U: ~9 [/ [6 U# c' A- f0 q; f' `
螺旋线的数学模型是:
2 o, e0 ^+ Y* ^4 \$ xhttp://www.ourjx.com/attachment/godhelp/200511261052897277804_chinacnw_com.jpg0 ~4 @7 _, _5 |( ^& U/ Y+ @
其中,p为螺距,θ为瞬时角,r为基圆半径。基圆柱体每旋转一个步距角△θ,车刀平行于圆柱体轴线进给一个量△Z,将车刀复制件与圆柱体布尔差运算,再进行下一个循环。 " m/ p+ X1 L, j7 P. B4 l6 C
主要代码如下:
& B- o3 J2 O+ u- }5 D% A& ~" G8 I) Y6 c
(command "ucs" "y" "" "" "color" 3);坐标系绕Y轴转动90°,指定颜色为蓝色
0 m/ n) U! v3 b! e2 y6 C, n(setq k (* (/ ( l 2) p )2 pi));设定循环次数 9 Z1 g; X( E4 W: k& @) v
(while (<= i k);循环条件
' a& s. c3 p( E+ w(setq pt1 (list 0 0 (* v i -1)));设移动起点坐标 , F$ i# q6 a; v6 ?+ n
(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角 0 \; a1 \# e/ b
(setq i ( i 0.1));给循环变量一个增量角
/ Z0 K9 ^! V  `2 ?7 {(setq pt2 (list 0 0 (* v i -1)));设移动目标点坐标
+ d7 O2 q7 d7 m1 b(command "move" e1 "" pt1 pt2);使车刀移动一个进给量
! ?) ?$ ?5 y9 D6 x(command "copy" e1 "" "0,0,5" "0,0,5");在原位复制车刀
/ P5 q( ]$ b2 v( i4 ?(setq e2 (entlast));返回复制车刀图元名 * p6 \9 R9 k, H8 N7 u# e
(command "subtract" a "" e2 "");将圆柱体与车刀复制件布尔差运算 + {! V2 j9 }& ^
);循环体
1 e! n& R5 w1 v+ G1 `1 w; i* `. G( f1 `0 e$ q
2.铣削滚珠丝杠仿真原理
8 }* i- `1 t! x0 E: \
" ]1 Y. k/ \/ X) `基圆柱体每旋转一个步距角,将沿其轴线进给一个量。铣刀位置不动,将其复制件与基柱体进行布尔差运算,再进行下一个循环。
  Q8 g8 K4 o0 k
% O2 a! B# d6 R4 r其主要代码与螺纹车削相近,核心代码如下: 6 m5 }5 Z; {' B& f, \3 G
. [) N4 x: b. Y/ d! B+ {6 L7 g1 g
(while (<= i k) : A/ Y1 z& [5 D6 _- k
(setq pt1 (list 0 0 (* v i )));设移动起点坐标
- O! r# P& y1 X5 l8 X0 l4 y1 \8 f$ \(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
" v$ e, [. a) d4 n4 N(setq i ( i 0.1));给循环变量一个增量角
1 k1 B. Q8 d3 D/ x* A% F(setq pt2 (list 0 0 (* v i )));设移动目标点坐标
7 u# X# k  E# [" M/ U& K(command "move" a "" pt1 pt2);圆柱体移动一个进给量
4 B! f5 N, o+ R  w( O) E(command "copy" o3 "" "0,0,5" "0,0,5");在原位复制铣刀 4 d1 L; t7 B$ c2 p0 y
(setq o4 (entlast));返回复制铣刀图元名 / t: _" |" d: A
(command "subtract" a "" o4 "");将圆柱体与铣刀复制件布尔差运算
4 T7 P6 O8 A% H- H)
6 }6 h) Q3 O8 {% G4 O6 v1 @
$ u7 C* L" B( b! t7 _- S" N0 G. L3.仿真程序流程
& Y( T5 y! N0 K, r0 x; o7 @4 d+ ~! e. k
我们采用主控程序调用仿真车削子程序,或调用仿真铣削子程序的方法实现加工动态仿真。仿真效果渲染如图4和图5所示。
6 p* P* V3 g: J! C! Z7 R
# H' a: a+ k# b% B; Vhttp://www.ourjx.com/attachment/godhelp/20051126105296277805_chinacnw_com.jpg
0 _) n6 P9 S/ o6 j/ J0 ^  R0 o2 t+ A, I. Y
图4 车削螺纹仿真 " L2 v# J! h+ d9 m4 F1 r( ^; ^. E
+ m" W2 ?0 ?3 p# n+ z5 Q2 @
http://www.ourjx.com/attachment/godhelp/200511261052916277806_chinacnw_com.jpg
  P& [6 o3 N, @( f" E$ |7 G$ A2 F; u& i4 B
图5 铣削丝杠仿真 四、结束语   z- ?9 n( f* Q/ i+ F  ~
$ f* Y8 ?" f/ l% t" P/ 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 | 显示全部楼层 来自: 中国台湾
能否請樓主提供一下源碼
- e- f( T3 R8 M- E& ~好讓大家學習學習好嗎?
发表于 2010-9-25 11:49:41 | 显示全部楼层 来自: 中国北京
楼主的图片全是XX,我也没看明白什么意思,汗
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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