QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
机械传动中,螺纹的应用十分广泛,尤其是在数控设备上更是大量使用滚珠丝杠。对这些螺纹零件,采用CAD/CAM技术进行设计与制造是离不开仿真技术的,本文主要介绍的是基于AutoCAD平台,利用VLISP编程,根据螺纹加工原理、三维实体造型和对象布尔运算等实现螺纹加工三维动态仿真技术。
0 \  S# V  a- L$ T7 g) ~5 W6 o. z/ n4 ^: a
一、基圆柱体造型
( S% ?# l2 U; s/ _/ ?- b2 m. P: L7 m5 W2 M% x3 Y% d# S& [% Q+ R
根据国标(GB196—81)规定,三角螺纹的基本尺寸有外径D、中径D2、内径D1、螺距P、基本三角形高度H和牙形角60°。按有关规定,滚珠丝杠公称直径为D,长度为L,滚珠直径为db。将基圆柱体的直径取为D,长度取设计值L,则程序代码如下: 9 ~* x- W4 I$ |6 @! W% n1 e/ C
0 R; W& `$ M5 D) ~
(setq d (getreal"\n请输入螺纹外径:")
8 `2 f7 J) H& |) p4 ol (getreal"\n请输入螺纹长度:") 5 s, ?7 k% h& G& g2 Y8 |$ f
) 7 e7 D8 [! q0 E
(command "cylinder" (list 0 0 -1) "d" d (* -1 l ) );画圆柱体 / d5 G2 S* l1 ~7 M; m
, @/ }! @$ V7 s# y, f* `: t5 t
二、切削刀具造型
$ k. q9 k2 j& q8 F0 o8 G8 s) p7 V8 ^8 {9 C+ ^
螺纹加工常用车削、铣削等加工方法,下面仅以车削三角螺纹和铣削滚珠丝杠为例来说明。
; s) n2 i9 x0 k5 x, o; n
* A; F4 W9 _0 j( l  w5 H1. 三角螺纹车刀简化模型 7 D5 X9 {( C4 ]) w" y4 f

: m/ o6 {2 R* W+ J4 Q零前角螺纹车刀的创建,如图1所示其代码如下: - _2 W* ~, m: t) l) y: n
- P! y; ?: _0 j- e0 |! e
http://www.ourjx.com/attachment/godhelp/200511261052875177801_chinacnw_com.jpg' \  L+ z4 l" u% r- n! Q
/ ~+ L# C: I- t4 u: n6 @! N; j
图1 车刀多边形 (setq p1 (list 0 0 0));设当前坐标原点为P1 * h6 S0 w4 V* B6 Y# R: q3 _( T
(setq p2 (polar p1 0 (/ p 4)))
0 o' c1 N( P9 u! a& g(setq p3 (polar p2 (/ pi 3 -1) (* 5 h)))
) J: S% d4 R! D: U(setq p4 (polar p3 (/ pi 2 -1) 10)) 6 R0 @0 r- Z/ n+ |' }. c
(setq p5 (polar p4 pi ( (/ p 4)(* 5 h)))) " I, t7 J. a+ J( _; {% z7 Y
(setq p6 (polar p5 (/ pi 2) 10))   M: n8 n& f* U( [* T
;定义车刀多边形p1 p2 p3 p4 p5 p6点的相对坐标
( {- s6 p' [6 e# V(command "pline" p1 p2 p3 p4 p5 p6 "c" "") ;用多段线形成封闭多边形 2 q; W% V2 i! e# o- A8 ?: {
(command "extrude" "l" "" -5 "");拉伸形成车刀模型 : Y* {" ?$ z1 ?1 h6 y
(setq e1 (entlast));返回图元名 4 o, }0 N! B7 f9 V/ q; n
(command "move" e1 "" "0,0,0" (list (/ p 2 -1) (/ d1 2 -1) 2.5));移动到起刀点
- s8 ^- c( R/ e2 j& g/ I) @3 V) |. B* B% r; W1 M
2. 滚珠丝杠圆盘铣刀简化模型 , ?8 ^+ ~6 W  l# w

, w! P( y; O) ^! \& m# y/ n圆盘铣刀是根据丝杠螺纹槽的法剖面廓形而创建的成形铣刀,为简化计算可用轴向剖面廓形代替,主要代码如下:
" Y, ]3 G1 Q9 I& b(setq db (getreal"\n请输入滚珠直径:"));定义铣刀截面多边形各节点P11、P12、P13、P14,如图2所: * Q  B) R% s5 z: h& x( z) k% A) J* x

- D  S1 i. N, m8 L4 mhttp://www.ourjx.com/attachment/godhelp/200511261052885277802_chinacnw_com.jpg# H/ e& o5 ^3 `9 ]
1 p3 n; I; s% z( @# u. M, k- @
图2 铣刀截面多边形 (setq p11 (polar (list 0 0 0) (/ pi 2) 23.5)) 1 S: q* R4 p+ J
(setq p12 (polar p11 0 db))
4 d6 K9 }* F' w: j: u; k( [2 M(setq p13 (polar p12 (/ pi 2 -1) 13.5))
% y9 G* J7 |2 V3 e" x$ R! U1 w(setq p14 (polar p13 (* pi -1) db))
& q) a0 A+ v  _6 N;定义铣刀截面多边形各节点P11、P12、P13、P14
# `# M  B% T* R" K! N(command "pline" p12 p13 p14 p11 "a" "cl" "") ;用多段线绘制铣刀截面多边形 # _4 d8 P' U7 P2 q
(command "revolve" "l" "" "x" "" );旋转生成铣刀体 ; v+ J, {; V& r
(setq o1 (entlast));返回图元名
  o1 K- g* F1 f/ |(command "ucs" "y" "" "" "color" 1);坐标系绕Y轴转90°,并指定颜色为红色
( F% N. j) U$ D7 R/ t(setq p20 (list 0 0 0));设当前坐标原点为P20
: E' b) h6 r/ H. [2 a, Y  B% b. \(setq p21 (polar p20 0 3.3))   z3 Q; V% t7 Q
(setq p22 (polar p21 (/ pi 2 ) 5.2))
! \! n) }1 w5 e$ N9 f(setq p23 (polar p22 (/ (* 105 pi )180) 1.3))
9 s  c" J: v) N, L; r1 l(setq p24 (polar p20 (/ pi 2 ) 6))
8 y/ E( Z5 D$ r- Z6 p" @(setq p25 (polar p20 (/ pi 2 ) 5)) % D& F% N# l4 d
;定义铣刀槽截面多边形各节点P20、P21、P22、P23、P24及基点P25,如图3所示:
  D: l" K6 G! `- ?# j9 h- H( F; j( B& P3 U. W
http://www.ourjx.com/attachment/godhelp/200511261052891277803_chinacnw_com.jpg) q. b3 u8 s  u+ {* K# n  E
, s  X) q0 L. [. \5 d6 R, }4 W- D
图3 铣刀槽多边形 (command "pline" p20 p21 p22 p23 "a" p24 "l" "c" "");用多段线生成铣刀截面多边形
) W" O8 U1 ?2 U0 z3 c; ^(command "extrude" "l" "" (* 2 db) "");拉伸形成刀槽体 ) V4 c: g4 S7 B0 Y% c9 @  w
(setq o2 (entlast));返回该图元名 4 `1 \1 R* [. P7 `: ^3 K
(command "move" o2 "" p25 (list 0 -25 -1));以基点P25移动刀槽体到指定点
0 n9 r- c+ U4 X; _(command "array" o2 "" "p" p21 20 "" "" );将刀槽体环形矩阵20个 , o0 F- F. d! p: E6 J
(setq ss (ssget "x" '((62 . 1))));以红色为过滤器创建选择集ss
8 r. a( n1 j9 t& B6 ~(command "subtract" o1 "" ss "");将铣刀体与刀槽体进行布尔差运算生成铣刀简化模型 ( {$ A  @9 x, {( m
(setq o3 (entlast));返回该图元名
4 x. D# Y& v8 y! m! L0 R7 f(command "rotate" o3 "" p21 5);铣刀旋转5° % |4 r7 p8 ^- q9 \, Y
(command "move" o3 "" " F* N2 n, C# U5 \
(list 0 0 0) (list 0 (* -1 ( 25 (/ (- d db) 2))) 0));将铣刀移动到切削位置 , G3 Y0 u; X+ ~# |0 s; V

" B* L3 T7 ~2 E; L* u" o三、螺纹加工三维仿真 % L! y2 u% O0 h' x2 b) W

3 w9 x) N1 H( v1 f5 [1.车削螺纹仿真原理
5 j# `( X2 e& e( S9 g4 k. j$ C9 E& ?
8 J* S4 O2 O/ O/ A3 o$ v# E4 M  ]螺旋线的数学模型是:
; [: X) \! f/ S( ?+ i: k9 I3 ~http://www.ourjx.com/attachment/godhelp/200511261052897277804_chinacnw_com.jpg7 z2 w2 a# k( ~4 ~! ~
其中,p为螺距,θ为瞬时角,r为基圆半径。基圆柱体每旋转一个步距角△θ,车刀平行于圆柱体轴线进给一个量△Z,将车刀复制件与圆柱体布尔差运算,再进行下一个循环。
2 F8 r' X  u* Q5 H  v; E主要代码如下:   Z9 D! A' O4 N1 ?' E& w$ J0 J/ s
6 W3 d- _$ w" K3 a6 l0 w
(command "ucs" "y" "" "" "color" 3);坐标系绕Y轴转动90°,指定颜色为蓝色 1 ]% v7 J! h1 x0 p7 s
(setq k (* (/ ( l 2) p )2 pi));设定循环次数
! _$ B- m) _3 J; ?3 U(while (<= i k);循环条件 # }+ q# d6 W& T5 ?: X
(setq pt1 (list 0 0 (* v i -1)));设移动起点坐标 0 l7 P0 D3 q$ s1 p" Z" R
(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
& o9 r6 R: C6 {% }& p% k5 V; v- F2 f(setq i ( i 0.1));给循环变量一个增量角
8 }* y2 E/ h( {" ^8 I* _: e(setq pt2 (list 0 0 (* v i -1)));设移动目标点坐标
" t7 e/ U# k! V0 m: e0 j" r' z(command "move" e1 "" pt1 pt2);使车刀移动一个进给量
  S* U5 M: u2 o# r& ^" R(command "copy" e1 "" "0,0,5" "0,0,5");在原位复制车刀
  k1 c; N' k# Q; q$ M(setq e2 (entlast));返回复制车刀图元名
1 A/ d. y. g' L' [- m5 T(command "subtract" a "" e2 "");将圆柱体与车刀复制件布尔差运算 0 u/ ]0 @6 @: J5 u* S/ E& ^
);循环体
7 r; m' P* D4 J6 w2 X9 i+ F
! @! W+ J. z4 ?) b: X2.铣削滚珠丝杠仿真原理
) `4 s$ W- b+ D9 x& e- k# o' [8 a3 X9 z) f
基圆柱体每旋转一个步距角,将沿其轴线进给一个量。铣刀位置不动,将其复制件与基柱体进行布尔差运算,再进行下一个循环。
8 i  G. f. {( v4 ~
/ ?) _. q- L8 R$ U" j其主要代码与螺纹车削相近,核心代码如下: - H. e( H+ F; G0 ^# N

! ^# I( V' G, {7 X* F. u% S, y(while (<= i k) 8 X0 k; ?! k3 i: b) O
(setq pt1 (list 0 0 (* v i )));设移动起点坐标 ! q6 u8 p3 ]" G
(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角 / g2 m% j/ z$ Q' R5 ?- S
(setq i ( i 0.1));给循环变量一个增量角
: ~7 f$ F! i, S; l4 Q8 o0 ](setq pt2 (list 0 0 (* v i )));设移动目标点坐标
- C5 e+ `9 s) I8 E! d, F' [$ p(command "move" a "" pt1 pt2);圆柱体移动一个进给量
& h% T8 r! \2 l: d4 N, q, z+ _(command "copy" o3 "" "0,0,5" "0,0,5");在原位复制铣刀 ( j" n2 A! O9 Y) G$ R  D) A
(setq o4 (entlast));返回复制铣刀图元名 7 |) q1 D) ~1 h2 |( S
(command "subtract" a "" o4 "");将圆柱体与铣刀复制件布尔差运算 4 i( {3 C5 M. a. F7 C3 R. l
) + T6 ]4 y3 o$ Q" L
% U& J* X5 i2 r& n: k! |6 K  [2 S
3.仿真程序流程
4 m5 U7 }: H! T1 {$ Z1 \8 R" \
) V7 G; @8 O3 X% q4 c1 ?) y我们采用主控程序调用仿真车削子程序,或调用仿真铣削子程序的方法实现加工动态仿真。仿真效果渲染如图4和图5所示。 ) s  U8 {  \, s+ D9 k
* d" t; e4 \) Z; N& G
http://www.ourjx.com/attachment/godhelp/20051126105296277805_chinacnw_com.jpg
* o+ x0 A( n( ^' ~4 l6 M3 _) R$ X3 }2 d( a
图4 车削螺纹仿真 ; m& q9 W0 X4 A) ^, O! [' z6 e% t
* Q+ V5 j; g0 j2 ~3 l+ [
http://www.ourjx.com/attachment/godhelp/200511261052916277806_chinacnw_com.jpg
1 N! K. R+ ]! X% a) I4 \4 b; S2 {7 T4 b" [$ |+ [
图5 铣削丝杠仿真 四、结束语 2 b" }# v9 s& q# r! p  r
' [- U1 @9 w; [9 p# k7 C
三维动态仿真技术,是现代制造业不可缺少的技术之一。螺纹加工仿真原理可直接演示零件表面的成形过程,检验零件表面的加工质量,也可用于其他零件加工仿真。基于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 | 显示全部楼层 来自: 中国台湾
能否請樓主提供一下源碼
8 z: }- ^- V) J  l好讓大家學習學習好嗎?
发表于 2010-9-25 11:49:41 | 显示全部楼层 来自: 中国北京
楼主的图片全是XX,我也没看明白什么意思,汗
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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