QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
机械传动中,螺纹的应用十分广泛,尤其是在数控设备上更是大量使用滚珠丝杠。对这些螺纹零件,采用CAD/CAM技术进行设计与制造是离不开仿真技术的,本文主要介绍的是基于AutoCAD平台,利用VLISP编程,根据螺纹加工原理、三维实体造型和对象布尔运算等实现螺纹加工三维动态仿真技术。
6 b& @& `! t3 a5 C1 J5 @0 [; n( R2 P. A  C8 E
一、基圆柱体造型
* U2 p. x) ~$ J! A4 z' B
% i$ g; J( F' e9 v! w根据国标(GB196—81)规定,三角螺纹的基本尺寸有外径D、中径D2、内径D1、螺距P、基本三角形高度H和牙形角60°。按有关规定,滚珠丝杠公称直径为D,长度为L,滚珠直径为db。将基圆柱体的直径取为D,长度取设计值L,则程序代码如下: 8 v" w- H+ l1 t, W8 n( d

. F1 \2 @! e; j) H; o7 s(setq d (getreal"\n请输入螺纹外径:") 4 o; z4 d. w! O( U
l (getreal"\n请输入螺纹长度:") " i# F4 X$ E% C2 {( R' W
) ! [8 Y! n  I1 }! M9 a, i
(command "cylinder" (list 0 0 -1) "d" d (* -1 l ) );画圆柱体 3 y' U, m" m) j) I

7 q& g2 w1 R) a2 i二、切削刀具造型 # [* i( z6 `# H% X6 {6 H

6 M9 L. [$ P6 {  e4 |  |螺纹加工常用车削、铣削等加工方法,下面仅以车削三角螺纹和铣削滚珠丝杠为例来说明。
3 V( I7 ?8 [/ U( ^* D9 o4 y' s+ ?; |* F6 `* H
1. 三角螺纹车刀简化模型 : n# I0 j( H* `* W$ a% m7 a
. Z7 {3 P  c. L7 g& W
零前角螺纹车刀的创建,如图1所示其代码如下:
" C, b2 v! k/ j3 C& H/ z4 z/ N7 i
8 |  O+ ?- B. V1 T8 xhttp://www.ourjx.com/attachment/godhelp/200511261052875177801_chinacnw_com.jpg) a( ?8 Z: i, k& S# q- s& Z# G* i8 `

" L' }8 n# R; b图1 车刀多边形 (setq p1 (list 0 0 0));设当前坐标原点为P1
! V( k0 k8 i$ ~8 T6 l(setq p2 (polar p1 0 (/ p 4))) 0 f7 x2 v" L) y0 G' ]* d5 z: I+ `
(setq p3 (polar p2 (/ pi 3 -1) (* 5 h)))
) u0 Z3 F+ A+ l' \- f" J(setq p4 (polar p3 (/ pi 2 -1) 10)) % l! l5 c  x% s
(setq p5 (polar p4 pi ( (/ p 4)(* 5 h))))
$ A( t, o" |/ X& D(setq p6 (polar p5 (/ pi 2) 10))
0 F5 N7 H1 S5 {) m! h- X;定义车刀多边形p1 p2 p3 p4 p5 p6点的相对坐标
/ q2 G+ ]% P' P! _8 @1 w. |(command "pline" p1 p2 p3 p4 p5 p6 "c" "") ;用多段线形成封闭多边形
/ s4 a5 q& \  [" l; R9 U; j(command "extrude" "l" "" -5 "");拉伸形成车刀模型
6 v5 H! E" U$ r' f+ t(setq e1 (entlast));返回图元名 5 t' q  b& l- y8 d" r
(command "move" e1 "" "0,0,0" (list (/ p 2 -1) (/ d1 2 -1) 2.5));移动到起刀点 # e2 L7 E( a  @; U# d. G0 G5 e

! p% g4 {% v; M2. 滚珠丝杠圆盘铣刀简化模型
' ]9 W% g  H- Y. ~, ?" }' M/ k5 K* W$ Q9 F
圆盘铣刀是根据丝杠螺纹槽的法剖面廓形而创建的成形铣刀,为简化计算可用轴向剖面廓形代替,主要代码如下:
: T! E( ]. m. U2 n' E(setq db (getreal"\n请输入滚珠直径:"));定义铣刀截面多边形各节点P11、P12、P13、P14,如图2所:
- r( x% C5 c9 I" k) c1 J- Q5 `( I. Z$ Y" E
http://www.ourjx.com/attachment/godhelp/200511261052885277802_chinacnw_com.jpg4 R: X1 Y/ T' T2 Y
' }9 B* v9 E* R' p: n
图2 铣刀截面多边形 (setq p11 (polar (list 0 0 0) (/ pi 2) 23.5))
6 A8 |0 H0 H) P5 ?  q2 H6 b(setq p12 (polar p11 0 db)) % ~; ?4 J5 [$ r' t  y0 \
(setq p13 (polar p12 (/ pi 2 -1) 13.5)) ' W' h/ [2 ]0 ^* F
(setq p14 (polar p13 (* pi -1) db)) 9 j# x- K2 f( S, k. s
;定义铣刀截面多边形各节点P11、P12、P13、P14
8 W: `4 P. Q+ h: \4 m(command "pline" p12 p13 p14 p11 "a" "cl" "") ;用多段线绘制铣刀截面多边形
0 l; }9 y; G2 h5 d(command "revolve" "l" "" "x" "" );旋转生成铣刀体 8 s" K( b! G1 O# i
(setq o1 (entlast));返回图元名 7 ~0 U8 m9 E: O) Y* S+ w
(command "ucs" "y" "" "" "color" 1);坐标系绕Y轴转90°,并指定颜色为红色
. m' u" u( M& f9 R! K6 A(setq p20 (list 0 0 0));设当前坐标原点为P20 " c1 ~5 l9 o2 J) m
(setq p21 (polar p20 0 3.3))
( h4 Q8 r+ G5 ?9 C) X- X3 G(setq p22 (polar p21 (/ pi 2 ) 5.2))
$ s* L1 E3 j, ](setq p23 (polar p22 (/ (* 105 pi )180) 1.3))
; ~& M4 @5 n5 ?8 K! h$ K5 X(setq p24 (polar p20 (/ pi 2 ) 6)) * g+ E- j6 Y4 |9 {) @" x9 r3 E) v
(setq p25 (polar p20 (/ pi 2 ) 5)) ! i, l; w' i3 P2 `
;定义铣刀槽截面多边形各节点P20、P21、P22、P23、P24及基点P25,如图3所示: 9 ]% @" A- ~$ L5 _
+ U: E; l7 H$ Q
http://www.ourjx.com/attachment/godhelp/200511261052891277803_chinacnw_com.jpg
4 m- F7 N4 `. J  F' h# |5 l+ _# O* Q7 ~, m5 Q
图3 铣刀槽多边形 (command "pline" p20 p21 p22 p23 "a" p24 "l" "c" "");用多段线生成铣刀截面多边形
3 c3 z. b. \& d(command "extrude" "l" "" (* 2 db) "");拉伸形成刀槽体 ! `6 ?+ V. k. w. M. o# E% }
(setq o2 (entlast));返回该图元名
- K5 Z0 Y" m5 z2 T(command "move" o2 "" p25 (list 0 -25 -1));以基点P25移动刀槽体到指定点 ) r% D, U* ^! u/ p/ l6 V
(command "array" o2 "" "p" p21 20 "" "" );将刀槽体环形矩阵20个 6 j& u+ d7 n8 Z" c: c
(setq ss (ssget "x" '((62 . 1))));以红色为过滤器创建选择集ss
( B7 N8 T" U4 ~- b$ ^(command "subtract" o1 "" ss "");将铣刀体与刀槽体进行布尔差运算生成铣刀简化模型 3 ^) ]9 i2 c$ e. m
(setq o3 (entlast));返回该图元名 % H+ n/ v' y. R' T3 d
(command "rotate" o3 "" p21 5);铣刀旋转5°
) H2 ^9 X9 C- o7 W6 k# f& z& e(command "move" o3 "" 4 C  H. N9 r; S9 E) |3 Q6 o
(list 0 0 0) (list 0 (* -1 ( 25 (/ (- d db) 2))) 0));将铣刀移动到切削位置 3 M! o& K" a* j* J/ T) x( ~/ G( w
( Y8 B' d; L' {; E% i
三、螺纹加工三维仿真 0 a& Q7 q3 L6 W2 ]

( ~" \& E" [. |0 f. J: p4 y6 H$ _1.车削螺纹仿真原理 - n7 v2 R# Z( h) E
0 e/ W/ V2 q( ^7 Z( ^
螺旋线的数学模型是:
7 W' h$ s( h9 g6 ]5 Q8 `  Chttp://www.ourjx.com/attachment/godhelp/200511261052897277804_chinacnw_com.jpg
! h+ S+ k# X; H! G# j2 w8 d其中,p为螺距,θ为瞬时角,r为基圆半径。基圆柱体每旋转一个步距角△θ,车刀平行于圆柱体轴线进给一个量△Z,将车刀复制件与圆柱体布尔差运算,再进行下一个循环。
3 K! w# }6 g- i% F! P主要代码如下: 2 @; E+ u5 c( l& U' T  O' E# `8 S5 X' |

/ Q. p! p" M# \, J8 M(command "ucs" "y" "" "" "color" 3);坐标系绕Y轴转动90°,指定颜色为蓝色
1 x9 W4 B6 P2 V8 E! B, J# _(setq k (* (/ ( l 2) p )2 pi));设定循环次数
: g2 L3 |+ i" W" e* S(while (<= i k);循环条件 ) U! l- G% W  `, f, ]
(setq pt1 (list 0 0 (* v i -1)));设移动起点坐标 2 ]" K; M. B$ }% D- P/ d
(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角 " |, A* V9 \( f; n8 D& m* W6 o/ I8 K
(setq i ( i 0.1));给循环变量一个增量角
1 ?  N! u% A/ }4 `9 i(setq pt2 (list 0 0 (* v i -1)));设移动目标点坐标
2 D& R' Z/ |( S) o6 r, D; d(command "move" e1 "" pt1 pt2);使车刀移动一个进给量
- `  }- S: U2 [) j; F(command "copy" e1 "" "0,0,5" "0,0,5");在原位复制车刀 % c0 ?9 }3 ~% S5 l( y+ b
(setq e2 (entlast));返回复制车刀图元名 0 g+ A: @6 ~! _6 \9 ~& {
(command "subtract" a "" e2 "");将圆柱体与车刀复制件布尔差运算 , Q) n* g) c# z! E5 H4 c- y5 Z+ ]) V
);循环体
1 K9 J" Z- h8 @9 X, m3 ^, ?" @, F8 ?( ?/ r% p3 n2 ^
2.铣削滚珠丝杠仿真原理
9 R2 M1 p- l7 w) A0 V  s9 u7 s$ C; l8 ~
基圆柱体每旋转一个步距角,将沿其轴线进给一个量。铣刀位置不动,将其复制件与基柱体进行布尔差运算,再进行下一个循环。 8 y$ }, H/ K* Y' L) `6 c

: P1 P, Y; A- g# y" ^) d& l其主要代码与螺纹车削相近,核心代码如下:
3 [2 f$ b' h( M! C- q) e1 t
- N- ~/ j. N, O(while (<= i k) 0 h  C. e9 O. r
(setq pt1 (list 0 0 (* v i )));设移动起点坐标
* y: u1 X* v1 S" |(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
7 M% q9 |1 w* y(setq i ( i 0.1));给循环变量一个增量角 . y! ?  A# U* D" M4 N# g. I4 F3 D
(setq pt2 (list 0 0 (* v i )));设移动目标点坐标
4 ?5 p$ }3 g" _9 G& u(command "move" a "" pt1 pt2);圆柱体移动一个进给量 9 H6 ^% k- h! f, z7 m
(command "copy" o3 "" "0,0,5" "0,0,5");在原位复制铣刀
7 i( D: _4 O! J/ S. j3 \+ j(setq o4 (entlast));返回复制铣刀图元名
. f! g4 z7 P: y4 q(command "subtract" a "" o4 "");将圆柱体与铣刀复制件布尔差运算
: m5 Z* l+ q; ^( R1 M)
+ u2 q0 f; ?* _5 Y
" X; v) p6 R; t7 i3.仿真程序流程 ) A; `" u4 ~% J1 ~. {
$ }% P; t7 F7 H( c- g
我们采用主控程序调用仿真车削子程序,或调用仿真铣削子程序的方法实现加工动态仿真。仿真效果渲染如图4和图5所示。 2 @4 D" |) P# @5 O' |: R8 w
7 P3 R* u! J( C" |
http://www.ourjx.com/attachment/godhelp/20051126105296277805_chinacnw_com.jpg
; S$ p* {( T  q+ S
; k( U  N. B) r9 x$ K$ t) t9 A5 x图4 车削螺纹仿真 / A0 j# \5 ]2 s+ x
* L2 h$ Q& `; R
http://www.ourjx.com/attachment/godhelp/200511261052916277806_chinacnw_com.jpg
  b9 @  }; b. j  c- Y
5 q3 t3 \1 H# ^4 l图5 铣削丝杠仿真 四、结束语
; m8 M) X! K$ A# d6 S4 G
$ V; i- d4 Y9 ~6 }5 ]" ~" ^! d8 E7 R三维动态仿真技术,是现代制造业不可缺少的技术之一。螺纹加工仿真原理可直接演示零件表面的成形过程,检验零件表面的加工质量,也可用于其他零件加工仿真。基于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 | 显示全部楼层 来自: 中国台湾
能否請樓主提供一下源碼
% D9 u- J- v/ u) 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 )

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