QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
6天前
查看: 3524|回复: 7
收起左侧

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

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

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

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

x
机械传动中,螺纹的应用十分广泛,尤其是在数控设备上更是大量使用滚珠丝杠。对这些螺纹零件,采用CAD/CAM技术进行设计与制造是离不开仿真技术的,本文主要介绍的是基于AutoCAD平台,利用VLISP编程,根据螺纹加工原理、三维实体造型和对象布尔运算等实现螺纹加工三维动态仿真技术。
: z# }' x' V& X7 I' t; x/ u. U/ e8 U+ a: L# I( X4 k
一、基圆柱体造型 : c4 }6 F1 d% O, L! [
; ]+ B4 u7 r. v1 b
根据国标(GB196—81)规定,三角螺纹的基本尺寸有外径D、中径D2、内径D1、螺距P、基本三角形高度H和牙形角60°。按有关规定,滚珠丝杠公称直径为D,长度为L,滚珠直径为db。将基圆柱体的直径取为D,长度取设计值L,则程序代码如下:   R% F0 m3 |( T8 I, c
1 d9 P( _) p; P
(setq d (getreal"\n请输入螺纹外径:") ' P  b, S2 o* y
l (getreal"\n请输入螺纹长度:") ' {2 @( O* F+ D  f& C) }3 ]- e5 b. r0 ]
) ' f  P% z2 u" ~1 Y; u' {* L
(command "cylinder" (list 0 0 -1) "d" d (* -1 l ) );画圆柱体 : H5 g8 i; W# E4 e) t

4 S, u+ s/ H3 @/ z$ O: {# B二、切削刀具造型 5 V' w; u1 z$ D% b3 [. p

. p- e! Z" A: u- [% `螺纹加工常用车削、铣削等加工方法,下面仅以车削三角螺纹和铣削滚珠丝杠为例来说明。 9 D. I5 o8 [5 A, t; p1 ^5 b$ k% x4 u

# i; C7 r1 e* \* \- V1. 三角螺纹车刀简化模型 # }6 ^- j; {  J4 I7 y( ]- i

9 g7 C. p, g" }; Y; v: A零前角螺纹车刀的创建,如图1所示其代码如下:
& e7 S1 c! D% L& L' d8 g2 O
" ~0 f, k1 S! \http://www.ourjx.com/attachment/godhelp/200511261052875177801_chinacnw_com.jpg, W4 P5 h' U: C# n  f/ |) @- s

+ m+ k; U8 G/ h3 G) k- ~* ?图1 车刀多边形 (setq p1 (list 0 0 0));设当前坐标原点为P1 5 n2 T$ Z$ \1 c2 K: C' N
(setq p2 (polar p1 0 (/ p 4)))
! G! F/ P9 f; Z8 [(setq p3 (polar p2 (/ pi 3 -1) (* 5 h)))
' z& b6 S# `7 r. B(setq p4 (polar p3 (/ pi 2 -1) 10)) 2 J7 b+ q3 z! G% W6 G9 \
(setq p5 (polar p4 pi ( (/ p 4)(* 5 h))))
6 p( k. ^3 Q! X; @(setq p6 (polar p5 (/ pi 2) 10))
) u9 u* R: D7 b2 t# |6 F. h;定义车刀多边形p1 p2 p3 p4 p5 p6点的相对坐标
) |' f( p1 B5 z/ U! v(command "pline" p1 p2 p3 p4 p5 p6 "c" "") ;用多段线形成封闭多边形
5 o) F& ~  |8 E2 U(command "extrude" "l" "" -5 "");拉伸形成车刀模型
8 O$ ~' |/ b6 J(setq e1 (entlast));返回图元名
) A0 r* h) A8 Q5 u2 K' V. d(command "move" e1 "" "0,0,0" (list (/ p 2 -1) (/ d1 2 -1) 2.5));移动到起刀点 $ u8 T2 l& j7 B5 O  l1 V

% v9 j* L. w4 a0 M" v& m; ^% \2. 滚珠丝杠圆盘铣刀简化模型
8 B5 _9 O5 g* u! E$ i; {; A* X2 t" Q# ]# G; w! D" ~
圆盘铣刀是根据丝杠螺纹槽的法剖面廓形而创建的成形铣刀,为简化计算可用轴向剖面廓形代替,主要代码如下:
) z. x3 s. o5 G# W! O! Y0 p(setq db (getreal"\n请输入滚珠直径:"));定义铣刀截面多边形各节点P11、P12、P13、P14,如图2所: ( r, }% U4 _9 q/ ]2 ~- w. l
6 d0 ~4 l: V+ Z  Q
http://www.ourjx.com/attachment/godhelp/200511261052885277802_chinacnw_com.jpg
( `) n4 g5 \8 h- L
$ d2 v% s3 G, s* w, {图2 铣刀截面多边形 (setq p11 (polar (list 0 0 0) (/ pi 2) 23.5))
. e  [% f* I1 ?# H# n( _(setq p12 (polar p11 0 db))
% Y& k: x/ |/ F; w! m# H, E& C8 K(setq p13 (polar p12 (/ pi 2 -1) 13.5)) , P# T  g0 m( K
(setq p14 (polar p13 (* pi -1) db)) 2 i  ~9 \7 _# [" c+ a7 _
;定义铣刀截面多边形各节点P11、P12、P13、P14
! i& z1 q/ x% t, u0 e(command "pline" p12 p13 p14 p11 "a" "cl" "") ;用多段线绘制铣刀截面多边形
: C8 t( O, x* c6 x' A4 N' J  y+ d(command "revolve" "l" "" "x" "" );旋转生成铣刀体
/ c7 E1 d+ D- _) g5 G(setq o1 (entlast));返回图元名 2 p% m( V3 I& f
(command "ucs" "y" "" "" "color" 1);坐标系绕Y轴转90°,并指定颜色为红色 3 P) Y4 h+ |* ?0 |% d' }
(setq p20 (list 0 0 0));设当前坐标原点为P20
' @, e) a5 ?2 I2 p. R# x. v(setq p21 (polar p20 0 3.3))
. b# ^3 d  ^& P. `- z7 q- q" i(setq p22 (polar p21 (/ pi 2 ) 5.2)) - R9 G# D8 R7 J& V5 Z: O
(setq p23 (polar p22 (/ (* 105 pi )180) 1.3))
4 w4 v1 C0 @( O, h(setq p24 (polar p20 (/ pi 2 ) 6)) , T2 [1 d1 w, J% ~
(setq p25 (polar p20 (/ pi 2 ) 5))
- O* N2 O- T9 e2 D* y;定义铣刀槽截面多边形各节点P20、P21、P22、P23、P24及基点P25,如图3所示:
5 \4 G3 z; a! }7 N# V( [% U* }( J3 w9 ~. x8 u
http://www.ourjx.com/attachment/godhelp/200511261052891277803_chinacnw_com.jpg! U: u+ j* b( s) H+ t. k% S7 }/ k  \

. E- Y. x. c- w1 s( P) M图3 铣刀槽多边形 (command "pline" p20 p21 p22 p23 "a" p24 "l" "c" "");用多段线生成铣刀截面多边形
2 }/ d/ I2 n. C(command "extrude" "l" "" (* 2 db) "");拉伸形成刀槽体 2 H; h4 y  @# r, V# _* v( @
(setq o2 (entlast));返回该图元名 ( i% _# x' O9 t6 P6 [# @
(command "move" o2 "" p25 (list 0 -25 -1));以基点P25移动刀槽体到指定点
- q9 ?, w, Q# P(command "array" o2 "" "p" p21 20 "" "" );将刀槽体环形矩阵20个
7 L& e! n1 w% f" M+ x; `- Z(setq ss (ssget "x" '((62 . 1))));以红色为过滤器创建选择集ss
9 ~2 l. g0 Q& W7 V. k/ g3 B(command "subtract" o1 "" ss "");将铣刀体与刀槽体进行布尔差运算生成铣刀简化模型
8 n+ T+ P4 z$ X, G(setq o3 (entlast));返回该图元名 * L# m: F- p- D0 z  s# ?, h
(command "rotate" o3 "" p21 5);铣刀旋转5°   e, V5 }9 k" n
(command "move" o3 ""
$ u2 _7 ~2 L& O0 O5 y7 ?* U$ U(list 0 0 0) (list 0 (* -1 ( 25 (/ (- d db) 2))) 0));将铣刀移动到切削位置 , }+ u6 S) x4 g7 Z

; p2 @5 T6 ~. q三、螺纹加工三维仿真 ! v8 I1 G; `9 F9 X3 Q" H

( H( r( h6 |  B' p4 V1.车削螺纹仿真原理
8 n3 z( |+ f- |7 o1 T% }* x8 t- _' z. X- x- D+ G* s% F- p
螺旋线的数学模型是:
) ]$ t+ G6 d, khttp://www.ourjx.com/attachment/godhelp/200511261052897277804_chinacnw_com.jpg
0 H$ y6 H2 l* w) Y* t, e其中,p为螺距,θ为瞬时角,r为基圆半径。基圆柱体每旋转一个步距角△θ,车刀平行于圆柱体轴线进给一个量△Z,将车刀复制件与圆柱体布尔差运算,再进行下一个循环。
. S1 @3 z/ i# V5 ?* d$ A1 R主要代码如下:
. U6 T2 M, E/ w2 p; @7 N6 n( Z- j3 K* j( [
(command "ucs" "y" "" "" "color" 3);坐标系绕Y轴转动90°,指定颜色为蓝色 9 ]4 I3 e- @. V- R7 o& ?0 t
(setq k (* (/ ( l 2) p )2 pi));设定循环次数
# x& D, I$ }4 P(while (<= i k);循环条件 ; Z) s6 \- a8 w, e
(setq pt1 (list 0 0 (* v i -1)));设移动起点坐标
* j0 j( G% @  K! E7 x! O(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角 ; Y; E& o' I8 q% ^( A2 w# p
(setq i ( i 0.1));给循环变量一个增量角
) c$ C; ~4 e2 B1 ?(setq pt2 (list 0 0 (* v i -1)));设移动目标点坐标 4 g6 `8 [+ F" {: ^& [, U
(command "move" e1 "" pt1 pt2);使车刀移动一个进给量 . N) b+ W' Y" ?: w
(command "copy" e1 "" "0,0,5" "0,0,5");在原位复制车刀 ; q& G# J/ r9 e1 I: t5 f3 w) R1 o
(setq e2 (entlast));返回复制车刀图元名 & K; R4 [  ^' P7 T. H/ V
(command "subtract" a "" e2 "");将圆柱体与车刀复制件布尔差运算
$ d0 S: H/ O* Q9 @7 q! a);循环体
8 ~7 X8 w7 h- |6 c
$ H2 x( R; ^, O. k6 ~/ Z7 W2.铣削滚珠丝杠仿真原理
. K6 Z0 v4 x- n' A3 h6 n: e% Z) T6 w  V) x
基圆柱体每旋转一个步距角,将沿其轴线进给一个量。铣刀位置不动,将其复制件与基柱体进行布尔差运算,再进行下一个循环。
: Q) B' x. ~. c0 p! i' x( v! c
/ M* w& J' k1 R7 M8 ]其主要代码与螺纹车削相近,核心代码如下: : E" C1 ^+ z# i5 z7 Q+ g
) F0 N$ ^- C8 U8 F
(while (<= i k)
; P, E: T, b1 q$ Z! ]5 ^(setq pt1 (list 0 0 (* v i )));设移动起点坐标
1 D( V! [- ]9 o- V8 r(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
5 D# f/ g9 X; R% o/ U  }(setq i ( i 0.1));给循环变量一个增量角
- D- z$ Y+ y' E, p, |(setq pt2 (list 0 0 (* v i )));设移动目标点坐标 9 @' l* n7 j% d  w
(command "move" a "" pt1 pt2);圆柱体移动一个进给量 * W0 r! b" I4 M6 r+ u4 V) a' x& d
(command "copy" o3 "" "0,0,5" "0,0,5");在原位复制铣刀 5 I$ Q1 L  }+ n+ ^; B
(setq o4 (entlast));返回复制铣刀图元名 9 I; ^4 ^, \( m2 [3 C, k- y
(command "subtract" a "" o4 "");将圆柱体与铣刀复制件布尔差运算 9 E2 x0 l  `4 F; e
) : P# Z7 {# E2 l$ I6 q- t( P
  F! l# `! E6 {; y( B
3.仿真程序流程 ! h5 m0 R0 o& v0 @. k5 Q( Z

9 I; r7 E6 M& n0 R/ q( }我们采用主控程序调用仿真车削子程序,或调用仿真铣削子程序的方法实现加工动态仿真。仿真效果渲染如图4和图5所示。
; i6 Q  M5 u: J7 [& E
. e' d7 Y& x. @0 D  Q5 Bhttp://www.ourjx.com/attachment/godhelp/20051126105296277805_chinacnw_com.jpg% P2 @, I7 `% ]' q  x8 Q% m7 `

# V: ]2 r" N, C- l, p1 Q; t- a: n4 ^图4 车削螺纹仿真
: Q! h+ _* x* C& e! Z6 B9 m4 @/ g- V6 A) i. E. S* K
http://www.ourjx.com/attachment/godhelp/200511261052916277806_chinacnw_com.jpg
* p7 Y( ?9 M4 _$ ^0 H: U/ X2 ^: i: `& f  F
图5 铣削丝杠仿真 四、结束语
  t5 X+ ], T  m5 x, F, ^! j3 a
8 k2 S( e( N3 \三维动态仿真技术,是现代制造业不可缺少的技术之一。螺纹加工仿真原理可直接演示零件表面的成形过程,检验零件表面的加工质量,也可用于其他零件加工仿真。基于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 | 显示全部楼层 来自: 中国台湾
能否請樓主提供一下源碼
4 c3 j2 ^, u$ v) l. z4 k# v( i好讓大家學習學習好嗎?
发表于 2010-9-25 11:49:41 | 显示全部楼层 来自: 中国北京
楼主的图片全是XX,我也没看明白什么意思,汗
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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