QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
机械传动中,螺纹的应用十分广泛,尤其是在数控设备上更是大量使用滚珠丝杠。对这些螺纹零件,采用CAD/CAM技术进行设计与制造是离不开仿真技术的,本文主要介绍的是基于AutoCAD平台,利用VLISP编程,根据螺纹加工原理、三维实体造型和对象布尔运算等实现螺纹加工三维动态仿真技术。 + _4 H$ O9 x$ V
4 S& X: x( H# n" Y! G$ ?0 X. U
一、基圆柱体造型 & z( f1 t: t' K

( n- o; H! C$ {: x根据国标(GB196—81)规定,三角螺纹的基本尺寸有外径D、中径D2、内径D1、螺距P、基本三角形高度H和牙形角60°。按有关规定,滚珠丝杠公称直径为D,长度为L,滚珠直径为db。将基圆柱体的直径取为D,长度取设计值L,则程序代码如下: ; U1 h" e! g* o" L5 t: \1 ]

  F: {" J: |+ X% W$ ^(setq d (getreal"\n请输入螺纹外径:")
5 n; G! t) R! c8 Z$ L" J: gl (getreal"\n请输入螺纹长度:") 2 L3 N5 j# I/ v
)
, _$ l! _# u: W6 D0 o! r! c; c* X; ?(command "cylinder" (list 0 0 -1) "d" d (* -1 l ) );画圆柱体 ( d6 g, d2 F$ f) y2 U6 I

% M; z4 z5 k& y7 S$ b二、切削刀具造型
5 Y1 t! Y" H+ Z
' D. v3 I7 i: j, A9 K螺纹加工常用车削、铣削等加工方法,下面仅以车削三角螺纹和铣削滚珠丝杠为例来说明。 3 i; a1 H% z/ Q/ }4 @' U

" \* G6 b8 w' C7 a9 s+ J, s0 }, T1. 三角螺纹车刀简化模型 / {% F9 a5 z/ |, u+ L: V' e
" X* V2 }8 ?( h; G6 U9 |
零前角螺纹车刀的创建,如图1所示其代码如下:
1 O- Y: l( _* l( N8 q3 Y  k/ A% }) z9 G
http://www.ourjx.com/attachment/godhelp/200511261052875177801_chinacnw_com.jpg; f7 Z! c5 S% Q" L4 q8 J( Q7 E' b
4 g& @) ~& ?/ i( p
图1 车刀多边形 (setq p1 (list 0 0 0));设当前坐标原点为P1 # {+ [- N3 N, ^4 u' c
(setq p2 (polar p1 0 (/ p 4)))
/ r0 N, }3 S- `. s4 ](setq p3 (polar p2 (/ pi 3 -1) (* 5 h)))
+ O; V& I6 u8 C(setq p4 (polar p3 (/ pi 2 -1) 10)) ; t7 o2 Z, y: W, p" M. W, V! j
(setq p5 (polar p4 pi ( (/ p 4)(* 5 h))))
; R' G8 ?! C7 Y& d$ F7 A(setq p6 (polar p5 (/ pi 2) 10))
5 Y& l  W7 Q5 R4 W9 x9 [;定义车刀多边形p1 p2 p3 p4 p5 p6点的相对坐标
& X) y2 w4 K3 r! ~7 P) R6 D(command "pline" p1 p2 p3 p4 p5 p6 "c" "") ;用多段线形成封闭多边形
: w$ |6 E; [( S$ R(command "extrude" "l" "" -5 "");拉伸形成车刀模型 * y9 j+ ]  Y9 e1 \6 u
(setq e1 (entlast));返回图元名 3 x! r' n2 m# |4 R. h/ u
(command "move" e1 "" "0,0,0" (list (/ p 2 -1) (/ d1 2 -1) 2.5));移动到起刀点
6 B9 I: ], E5 w% ~2 Y
( x% s  e, r( ^( T! y- ~* U1 A3 ~2. 滚珠丝杠圆盘铣刀简化模型 ( a+ `6 W- O* r8 \# k7 c* J

. j$ J6 a. Q# m圆盘铣刀是根据丝杠螺纹槽的法剖面廓形而创建的成形铣刀,为简化计算可用轴向剖面廓形代替,主要代码如下:
) [$ I( l1 K1 i" [- ~3 `- w(setq db (getreal"\n请输入滚珠直径:"));定义铣刀截面多边形各节点P11、P12、P13、P14,如图2所:
% O6 P  G+ X* J  v- x) |2 Y" s/ |$ i9 p7 S2 t7 R
http://www.ourjx.com/attachment/godhelp/200511261052885277802_chinacnw_com.jpg
1 H/ e/ h/ ]: m' G$ }' r) ^/ g7 w
* |- K5 w  [% P: U, m图2 铣刀截面多边形 (setq p11 (polar (list 0 0 0) (/ pi 2) 23.5)) # w0 p% G7 M/ Y3 ]0 w' T! p
(setq p12 (polar p11 0 db))
8 \  P* p) N9 X+ `. |. F# B(setq p13 (polar p12 (/ pi 2 -1) 13.5)) 0 L7 X3 C. b# V4 _: T
(setq p14 (polar p13 (* pi -1) db))
! c8 T( a. U* K3 k) ~- t* y  d, f/ m* y;定义铣刀截面多边形各节点P11、P12、P13、P14
" E( z0 ?& q# }9 |3 W(command "pline" p12 p13 p14 p11 "a" "cl" "") ;用多段线绘制铣刀截面多边形 0 U  @. v5 [8 n$ t6 w
(command "revolve" "l" "" "x" "" );旋转生成铣刀体 ; `* `/ U0 y# ]# S
(setq o1 (entlast));返回图元名 1 D- d" X( H% p+ @! I
(command "ucs" "y" "" "" "color" 1);坐标系绕Y轴转90°,并指定颜色为红色 ; T% _- p' h+ Z- P* K( a8 F0 D
(setq p20 (list 0 0 0));设当前坐标原点为P20
# L6 T8 Z, A5 ~(setq p21 (polar p20 0 3.3)) 8 V5 T4 C' j* S  H) R1 P; I* b
(setq p22 (polar p21 (/ pi 2 ) 5.2)) " K0 z8 M% ~8 a. E
(setq p23 (polar p22 (/ (* 105 pi )180) 1.3)) 7 f1 D% H- ?& H" t: U3 d
(setq p24 (polar p20 (/ pi 2 ) 6))
, [4 m3 M% E- N, k) g) j4 S) z(setq p25 (polar p20 (/ pi 2 ) 5))
( H6 n/ v+ J1 R( n+ \0 B3 G3 E;定义铣刀槽截面多边形各节点P20、P21、P22、P23、P24及基点P25,如图3所示:
  ~# N( _8 W* f0 [9 n$ F" v- {/ s9 O# p. U9 _
http://www.ourjx.com/attachment/godhelp/200511261052891277803_chinacnw_com.jpg* r; X0 p+ t) p/ E8 G$ _" ^
4 a1 I) c% O* b
图3 铣刀槽多边形 (command "pline" p20 p21 p22 p23 "a" p24 "l" "c" "");用多段线生成铣刀截面多边形 2 p4 I* e& y* |
(command "extrude" "l" "" (* 2 db) "");拉伸形成刀槽体 ) C7 C# v8 d' O) M0 }
(setq o2 (entlast));返回该图元名 / Z+ w. X' ]. _3 x/ p- O
(command "move" o2 "" p25 (list 0 -25 -1));以基点P25移动刀槽体到指定点 9 |$ y1 C$ u. d; a  |  ?! x3 x
(command "array" o2 "" "p" p21 20 "" "" );将刀槽体环形矩阵20个 % M! Q& |% x! H: Q
(setq ss (ssget "x" '((62 . 1))));以红色为过滤器创建选择集ss
7 u* y7 Q! F4 b* w5 v' h5 v7 a7 D(command "subtract" o1 "" ss "");将铣刀体与刀槽体进行布尔差运算生成铣刀简化模型 3 j' {3 F4 x0 t  Q+ Q& B+ D
(setq o3 (entlast));返回该图元名 6 t% q1 h1 E" \. w9 Z3 S7 `
(command "rotate" o3 "" p21 5);铣刀旋转5°
; h+ l- f9 a- q  A(command "move" o3 ""
& q/ C  ?: a, N( ]# u3 b(list 0 0 0) (list 0 (* -1 ( 25 (/ (- d db) 2))) 0));将铣刀移动到切削位置 * j" {# a6 t! e* f0 @( m. R* h/ d
. K8 _; r- M- k7 A9 D/ i
三、螺纹加工三维仿真
  O& a- q) e1 d8 B. x  m' G" `7 l# ?7 _6 g
1.车削螺纹仿真原理 ' h8 c" P' f# C, P/ q
7 B+ f& Q0 B7 w8 d/ L5 S3 Z& L
螺旋线的数学模型是:- y! R( g2 I" B3 l. Y
http://www.ourjx.com/attachment/godhelp/200511261052897277804_chinacnw_com.jpg
! c4 z' J) d2 v4 e* }0 j其中,p为螺距,θ为瞬时角,r为基圆半径。基圆柱体每旋转一个步距角△θ,车刀平行于圆柱体轴线进给一个量△Z,将车刀复制件与圆柱体布尔差运算,再进行下一个循环。 2 F: c. s% p. Q( }" w1 R
主要代码如下:
% R& s3 M. i4 T* y- |: K4 n* m5 c" P% y6 Z) f( `! E2 I
(command "ucs" "y" "" "" "color" 3);坐标系绕Y轴转动90°,指定颜色为蓝色
) ^9 J( P) \5 P* B(setq k (* (/ ( l 2) p )2 pi));设定循环次数
0 Z+ v7 K. m! Z. |( x. P# q(while (<= i k);循环条件
& Y- ~( R3 i8 @0 O# I! B(setq pt1 (list 0 0 (* v i -1)));设移动起点坐标
- b6 J+ ?3 z, w2 A# m0 @(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角 2 z( P4 G$ x7 W+ }" N' u3 h9 {
(setq i ( i 0.1));给循环变量一个增量角
+ W( d2 G5 M* P- a! `8 n* y8 U(setq pt2 (list 0 0 (* v i -1)));设移动目标点坐标 3 @( }* }5 f' L2 H3 a( N* _6 i2 o5 G
(command "move" e1 "" pt1 pt2);使车刀移动一个进给量 " [" w. F0 ?) {; x4 t. J2 I/ @
(command "copy" e1 "" "0,0,5" "0,0,5");在原位复制车刀 . l! ]/ m: q8 m( x
(setq e2 (entlast));返回复制车刀图元名 $ H/ [7 V9 o- y4 n- Q: s
(command "subtract" a "" e2 "");将圆柱体与车刀复制件布尔差运算 / A0 S- j& r; K6 Q2 D
);循环体 ' n1 ]% S) v1 s& s( `1 G7 e( h
( N- S# P8 W5 z6 K
2.铣削滚珠丝杠仿真原理 1 q  ^+ U7 o* P$ h

4 Z' F8 c6 I) n5 U9 {基圆柱体每旋转一个步距角,将沿其轴线进给一个量。铣刀位置不动,将其复制件与基柱体进行布尔差运算,再进行下一个循环。
; r( x! u4 ^3 p3 o! {' F, n+ t: b6 V
( X# R* Q. V$ J0 M3 Z其主要代码与螺纹车削相近,核心代码如下: " u' D; J) T+ `7 u- k4 o

$ P5 x4 _6 ^0 s, ^% ~: f(while (<= i k)
! b; x0 g+ g6 r" t(setq pt1 (list 0 0 (* v i )));设移动起点坐标 , G8 Q5 R/ u8 I
(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角 , G2 X. K* t4 \2 V
(setq i ( i 0.1));给循环变量一个增量角
  {1 ~' n( k- K$ B4 Y6 S(setq pt2 (list 0 0 (* v i )));设移动目标点坐标 6 c3 \: d+ V) v7 O4 f/ g
(command "move" a "" pt1 pt2);圆柱体移动一个进给量
/ I; i8 K# V8 d* A/ M(command "copy" o3 "" "0,0,5" "0,0,5");在原位复制铣刀 ( D- _! N% Z/ v2 z5 |- ~* Z3 ^
(setq o4 (entlast));返回复制铣刀图元名
9 o& W3 V& E. N(command "subtract" a "" o4 "");将圆柱体与铣刀复制件布尔差运算 / z/ }: }7 I( |
) * N' r; S# u: n1 n7 `

# Q6 B4 z" Z( R- J5 c( i' X3 D3.仿真程序流程 . d4 W9 p3 c2 b% i: y) e

1 s, e4 b% |# R& m4 N我们采用主控程序调用仿真车削子程序,或调用仿真铣削子程序的方法实现加工动态仿真。仿真效果渲染如图4和图5所示。 * t( w+ I3 s* d# V# A
1 p+ e" Y# k7 t6 Z
http://www.ourjx.com/attachment/godhelp/20051126105296277805_chinacnw_com.jpg
0 i1 W3 A9 h: F0 t2 r! ]
3 c1 v: X3 m- c! h图4 车削螺纹仿真   ~  W+ U% z: F8 `" k$ ^9 f

" w- l* z/ R, r9 Khttp://www.ourjx.com/attachment/godhelp/200511261052916277806_chinacnw_com.jpg
9 |7 f, f8 }: @8 ^! [+ b& t- \/ R: e
图5 铣削丝杠仿真 四、结束语 + ~* a' y% c+ g' n

" x  \3 a; t/ U: I6 D& B- ]2 I; m三维动态仿真技术,是现代制造业不可缺少的技术之一。螺纹加工仿真原理可直接演示零件表面的成形过程,检验零件表面的加工质量,也可用于其他零件加工仿真。基于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 | 显示全部楼层 来自: 中国台湾
能否請樓主提供一下源碼
3 P( e$ Q* b0 B' F好讓大家學習學習好嗎?
发表于 2010-9-25 11:49:41 | 显示全部楼层 来自: 中国北京
楼主的图片全是XX,我也没看明白什么意思,汗
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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