QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
机械传动中,螺纹的应用十分广泛,尤其是在数控设备上更是大量使用滚珠丝杠。对这些螺纹零件,采用CAD/CAM技术进行设计与制造是离不开仿真技术的,本文主要介绍的是基于AutoCAD平台,利用VLISP编程,根据螺纹加工原理、三维实体造型和对象布尔运算等实现螺纹加工三维动态仿真技术。 1 M: y' |; Y6 a* H/ F  {) c9 C7 w- O
" I0 r/ C0 ^  r
一、基圆柱体造型 / B0 M% w1 `  ?: f8 j) I3 Y2 A

) T8 \) T$ {7 {6 K根据国标(GB196—81)规定,三角螺纹的基本尺寸有外径D、中径D2、内径D1、螺距P、基本三角形高度H和牙形角60°。按有关规定,滚珠丝杠公称直径为D,长度为L,滚珠直径为db。将基圆柱体的直径取为D,长度取设计值L,则程序代码如下:
9 e' ?9 q& q4 O2 ~% k7 u
" X$ S3 [1 O7 {0 I9 h. k3 `(setq d (getreal"\n请输入螺纹外径:") - h( H# [7 ~2 Q2 @
l (getreal"\n请输入螺纹长度:")
8 u: U. T5 N/ u) 6 V  u* ^" F3 D. x1 o. e
(command "cylinder" (list 0 0 -1) "d" d (* -1 l ) );画圆柱体
4 b4 P3 ]0 G/ a2 h: U) _- ^$ P! `2 y2 t6 t! t2 _* Z
二、切削刀具造型 ( T; j  l: K6 e. k8 a/ \
% G# |4 }5 x0 H, r) }* B
螺纹加工常用车削、铣削等加工方法,下面仅以车削三角螺纹和铣削滚珠丝杠为例来说明。 / C0 F+ u$ K$ f0 v! h

$ A) j. q+ Q% a6 ]( g" G% k/ `! u1. 三角螺纹车刀简化模型 . M' h! b+ H- [0 Q- z
7 P' H, X* O) [# J: K" B/ M; v
零前角螺纹车刀的创建,如图1所示其代码如下: ; [7 A4 x+ r! _& k( _( y9 W5 z
4 x+ B# [( t; G  H" v+ T
http://www.ourjx.com/attachment/godhelp/200511261052875177801_chinacnw_com.jpg2 G7 \& w+ Q; M) D
! D7 ~" i( Q4 i' Y2 b
图1 车刀多边形 (setq p1 (list 0 0 0));设当前坐标原点为P1
  O) e, B- R( Y" S(setq p2 (polar p1 0 (/ p 4)))
  \5 M- }3 i" Q" R5 }(setq p3 (polar p2 (/ pi 3 -1) (* 5 h)))
3 P$ S) g3 e# B# J" Z3 V9 b- U2 q(setq p4 (polar p3 (/ pi 2 -1) 10))
, g% d6 X: p+ W4 `" d: |4 W3 t(setq p5 (polar p4 pi ( (/ p 4)(* 5 h)))) ; x' T$ @0 j6 w- v9 C& Y
(setq p6 (polar p5 (/ pi 2) 10)) , R% F: t2 O, Y' T6 m0 B; ^
;定义车刀多边形p1 p2 p3 p4 p5 p6点的相对坐标
; ]+ [/ P  B0 |* b(command "pline" p1 p2 p3 p4 p5 p6 "c" "") ;用多段线形成封闭多边形
4 R$ `+ A0 {! p8 x(command "extrude" "l" "" -5 "");拉伸形成车刀模型 3 Y  W& u! k- E: P1 g/ \- V
(setq e1 (entlast));返回图元名 3 I+ }3 r/ K: y) O
(command "move" e1 "" "0,0,0" (list (/ p 2 -1) (/ d1 2 -1) 2.5));移动到起刀点
; K1 d( G/ D; S3 P8 H; s3 A- n3 T" S  x. V' v& [2 a5 r8 D
2. 滚珠丝杠圆盘铣刀简化模型
! g. X; i2 Y! G5 A9 L# K! z2 x: A7 [
( f# M6 X" S$ N% L6 F% `圆盘铣刀是根据丝杠螺纹槽的法剖面廓形而创建的成形铣刀,为简化计算可用轴向剖面廓形代替,主要代码如下:
. W( s3 Y4 B& B- `9 j& |& F(setq db (getreal"\n请输入滚珠直径:"));定义铣刀截面多边形各节点P11、P12、P13、P14,如图2所:
8 y( j6 o0 I* m* _, L9 @2 H0 S
! I/ J. s3 \  Y6 u$ O  o! h  ihttp://www.ourjx.com/attachment/godhelp/200511261052885277802_chinacnw_com.jpg
1 ?7 R& E' q3 q$ Q4 s# ?& R: [( ]: s! O! u4 v1 }. p& ?4 D
图2 铣刀截面多边形 (setq p11 (polar (list 0 0 0) (/ pi 2) 23.5))
) @) n" F. J  [5 E) n(setq p12 (polar p11 0 db))
' M9 t7 W  ?% V0 [' y; j: G- l(setq p13 (polar p12 (/ pi 2 -1) 13.5)) ! u/ w' i) z7 Q
(setq p14 (polar p13 (* pi -1) db))
. K6 Q. Y# u4 B/ t/ j, }% c;定义铣刀截面多边形各节点P11、P12、P13、P14 9 T- R  a: q0 t' e  v" t
(command "pline" p12 p13 p14 p11 "a" "cl" "") ;用多段线绘制铣刀截面多边形 " _! E. Z) J+ Z; Y( m
(command "revolve" "l" "" "x" "" );旋转生成铣刀体
4 R% ?+ @% S1 r. E1 x3 t- D' q5 l(setq o1 (entlast));返回图元名 9 k8 \7 f8 g% H: W  M
(command "ucs" "y" "" "" "color" 1);坐标系绕Y轴转90°,并指定颜色为红色 ) T( b+ C, d3 I
(setq p20 (list 0 0 0));设当前坐标原点为P20
2 Z$ F7 o3 x+ L3 W" v# v, u(setq p21 (polar p20 0 3.3))
3 n6 N& Y2 B  v(setq p22 (polar p21 (/ pi 2 ) 5.2)) 3 b9 h# K. a# M# R7 _2 N
(setq p23 (polar p22 (/ (* 105 pi )180) 1.3))
6 I9 g& x4 L* P  ^7 }. v! e(setq p24 (polar p20 (/ pi 2 ) 6))
- r  s  o. u' K* a4 x, t( }(setq p25 (polar p20 (/ pi 2 ) 5)) 7 y' W3 x2 p+ |3 d0 n) \" ^9 [
;定义铣刀槽截面多边形各节点P20、P21、P22、P23、P24及基点P25,如图3所示: + H2 u1 [, n- v: i; |0 z  h. j

+ _& ^- Y- M, g! A9 Z# Xhttp://www.ourjx.com/attachment/godhelp/200511261052891277803_chinacnw_com.jpg
- ?6 h  T/ e: j6 u, b8 [/ \; a3 Q& H1 l+ d' i9 U
图3 铣刀槽多边形 (command "pline" p20 p21 p22 p23 "a" p24 "l" "c" "");用多段线生成铣刀截面多边形
: z/ Q1 g; U8 v. x9 o(command "extrude" "l" "" (* 2 db) "");拉伸形成刀槽体
0 h5 D/ j+ p0 W) }3 M  q' s* B0 a(setq o2 (entlast));返回该图元名
& Q2 o  H5 w6 S/ S  u  a. I, H(command "move" o2 "" p25 (list 0 -25 -1));以基点P25移动刀槽体到指定点 ) F5 s$ X1 H( U; n4 T* o7 e: D
(command "array" o2 "" "p" p21 20 "" "" );将刀槽体环形矩阵20个
: U( t# x( _7 H; H(setq ss (ssget "x" '((62 . 1))));以红色为过滤器创建选择集ss
5 i6 ?8 O- O% w5 K6 x(command "subtract" o1 "" ss "");将铣刀体与刀槽体进行布尔差运算生成铣刀简化模型 . K, K% b# I1 j9 }' l* x
(setq o3 (entlast));返回该图元名 3 ]: Q8 ~: H& u% I
(command "rotate" o3 "" p21 5);铣刀旋转5° . f) D* Y, w/ w
(command "move" o3 ""
0 L) K' A$ Q+ e- N& z  u/ @(list 0 0 0) (list 0 (* -1 ( 25 (/ (- d db) 2))) 0));将铣刀移动到切削位置
+ M5 \& h- o3 r$ {
2 Q* X5 I/ h' \# `三、螺纹加工三维仿真 ! p4 M7 c' @' @
/ F8 C+ K9 d; F1 z
1.车削螺纹仿真原理
0 F8 m$ z7 C3 f/ \- D2 g& \* _: v+ [) l' x3 y& e3 m5 T
螺旋线的数学模型是:4 U; t1 n; f5 J( t
http://www.ourjx.com/attachment/godhelp/200511261052897277804_chinacnw_com.jpg
! F9 q/ n* f& J5 p4 b3 a$ X8 I! }其中,p为螺距,θ为瞬时角,r为基圆半径。基圆柱体每旋转一个步距角△θ,车刀平行于圆柱体轴线进给一个量△Z,将车刀复制件与圆柱体布尔差运算,再进行下一个循环。 4 S% g% e/ z  j  a
主要代码如下: : c) ]. X: A- o( ]. B8 ]! d

4 N- A2 {: f* t5 W(command "ucs" "y" "" "" "color" 3);坐标系绕Y轴转动90°,指定颜色为蓝色   Z8 D% K  C& r4 Y) l
(setq k (* (/ ( l 2) p )2 pi));设定循环次数
& D- [3 q: j- d- s+ O! W8 L8 C1 Y(while (<= i k);循环条件 5 ]. c. _* H) t( ~3 W% k: ]
(setq pt1 (list 0 0 (* v i -1)));设移动起点坐标 6 \/ s6 [$ ?" w8 R# t& z
(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
) [: n2 }; U' a(setq i ( i 0.1));给循环变量一个增量角
; \+ n$ G1 U- w0 a$ {! J! i$ Z! c(setq pt2 (list 0 0 (* v i -1)));设移动目标点坐标
5 f3 x  X; w2 M+ Y9 q: j(command "move" e1 "" pt1 pt2);使车刀移动一个进给量 . X* ~) b, o9 }, i* ^9 F
(command "copy" e1 "" "0,0,5" "0,0,5");在原位复制车刀 & e& ~6 H8 Y1 \5 X: W. y
(setq e2 (entlast));返回复制车刀图元名
- U; j: ]& C1 ]' D) @(command "subtract" a "" e2 "");将圆柱体与车刀复制件布尔差运算 % S+ T9 E' T  n# n' }$ a
);循环体
" k4 {  C0 t( `# x; ^, ~% i- S$ ?0 a8 V& W4 t5 H- @
2.铣削滚珠丝杠仿真原理
7 P- L7 N+ _) p# a) x* ?% {  V) l$ I& u1 B# Q/ n2 j
基圆柱体每旋转一个步距角,将沿其轴线进给一个量。铣刀位置不动,将其复制件与基柱体进行布尔差运算,再进行下一个循环。
; P: S# l7 D6 h: I
- ~. a) F! V: Z  W% k& W( @其主要代码与螺纹车削相近,核心代码如下:
8 _9 n3 T0 b7 Z# Z) [+ W0 v6 z( u! K$ p1 a$ `  Q. X2 U
(while (<= i k) % Z" {1 k( F: a, |& }/ T. ^; C
(setq pt1 (list 0 0 (* v i )));设移动起点坐标
" g6 S" O* u% u(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角   r9 d6 q2 S1 N  v
(setq i ( i 0.1));给循环变量一个增量角 + i! R0 P7 m4 U3 z9 K9 y& Y
(setq pt2 (list 0 0 (* v i )));设移动目标点坐标 # K) S* f  c# l( T% O8 W, G
(command "move" a "" pt1 pt2);圆柱体移动一个进给量
) @# B- j: n! P- ?- s' i(command "copy" o3 "" "0,0,5" "0,0,5");在原位复制铣刀 # n5 q: c: F9 s  h) j! t
(setq o4 (entlast));返回复制铣刀图元名 1 j9 R4 r+ d) R! }/ {
(command "subtract" a "" o4 "");将圆柱体与铣刀复制件布尔差运算
3 {+ ?. D  h( Q# Y' @5 R)
& X! D4 Y$ i  N/ h6 n" [  Z
  `2 A. ]9 R7 {  A% u5 |3.仿真程序流程 : N0 Q& [1 i! T, K; S  C
  Q3 u& C0 o% X
我们采用主控程序调用仿真车削子程序,或调用仿真铣削子程序的方法实现加工动态仿真。仿真效果渲染如图4和图5所示。 0 V/ B5 T/ z0 E; x$ g
4 D; t* K7 s; D& |& d0 e
http://www.ourjx.com/attachment/godhelp/20051126105296277805_chinacnw_com.jpg: s4 Z9 [# h6 K. C) I
( S$ p+ T6 {, x4 K
图4 车削螺纹仿真 ! y* I$ c: u' D/ ^
2 n# R- _  x* `) T2 B
http://www.ourjx.com/attachment/godhelp/200511261052916277806_chinacnw_com.jpg
2 I8 d! X) l- Q) c9 P3 _5 g3 g; y* h  r  c
图5 铣削丝杠仿真 四、结束语 $ E0 R: Q1 n- S% \9 \5 @' A
6 k) P' v5 P% V2 W: P1 U* q: l) I
三维动态仿真技术,是现代制造业不可缺少的技术之一。螺纹加工仿真原理可直接演示零件表面的成形过程,检验零件表面的加工质量,也可用于其他零件加工仿真。基于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 | 显示全部楼层 来自: 中国台湾
能否請樓主提供一下源碼
9 \, M, ]9 P5 J& 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 )

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