QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
机械传动中,螺纹的应用十分广泛,尤其是在数控设备上更是大量使用滚珠丝杠。对这些螺纹零件,采用CAD/CAM技术进行设计与制造是离不开仿真技术的,本文主要介绍的是基于AutoCAD平台,利用VLISP编程,根据螺纹加工原理、三维实体造型和对象布尔运算等实现螺纹加工三维动态仿真技术。
) g/ x% {1 V& r& N
. ^% u! `7 M# {; `3 d5 _+ s6 Y一、基圆柱体造型 * h& m  K* R  C& @1 a' e: J& K

: \8 w" }" e. |; e; c% @- l9 _: E根据国标(GB196—81)规定,三角螺纹的基本尺寸有外径D、中径D2、内径D1、螺距P、基本三角形高度H和牙形角60°。按有关规定,滚珠丝杠公称直径为D,长度为L,滚珠直径为db。将基圆柱体的直径取为D,长度取设计值L,则程序代码如下:
- I7 f! V, f$ |& R# K% P
( N; y5 f4 J3 ?2 o6 Z2 P" l(setq d (getreal"\n请输入螺纹外径:")
; A, E3 n* u4 g% e- P7 L7 }+ T7 wl (getreal"\n请输入螺纹长度:")
  G5 e+ C4 H( M; t* k6 R! J)
3 d1 t( F( g+ ]7 e  V9 ]; j8 y(command "cylinder" (list 0 0 -1) "d" d (* -1 l ) );画圆柱体
: \3 c/ r3 W+ d
$ ^+ ~; w% r/ ^0 f5 i  e" S/ Z9 y二、切削刀具造型 : L/ |3 R  V  ]2 f- ]: r
( {9 N4 u0 q) K& B3 F/ T- _. F
螺纹加工常用车削、铣削等加工方法,下面仅以车削三角螺纹和铣削滚珠丝杠为例来说明。
7 p; C" [2 V- j; s) ?, U
" G7 D: `( o* Y0 G9 U0 r1. 三角螺纹车刀简化模型 5 B$ _3 s# _9 J* {) l, a

* y/ w; s/ h9 J" d8 T2 t零前角螺纹车刀的创建,如图1所示其代码如下: 4 _6 J5 t- M2 ]. O* P1 Q

0 F/ P6 A/ c. ~http://www.ourjx.com/attachment/godhelp/200511261052875177801_chinacnw_com.jpg8 U: O) C8 F' t. P, U! n8 }* [3 N
. H# `4 p7 a$ g/ v- I
图1 车刀多边形 (setq p1 (list 0 0 0));设当前坐标原点为P1 , ^" e9 v. o8 U3 }8 X! U: h1 m+ M
(setq p2 (polar p1 0 (/ p 4)))
7 s/ l3 [! ~, g# K( I(setq p3 (polar p2 (/ pi 3 -1) (* 5 h)))
6 }+ `) k. y* J( R$ t' ]/ B(setq p4 (polar p3 (/ pi 2 -1) 10))
& Z4 O4 ]% b. _(setq p5 (polar p4 pi ( (/ p 4)(* 5 h)))) $ K; P; v( \1 e( R
(setq p6 (polar p5 (/ pi 2) 10))
5 I: v/ y+ z  r* z% v% w;定义车刀多边形p1 p2 p3 p4 p5 p6点的相对坐标 2 `! ~" c+ x# |3 q3 o. ?5 m
(command "pline" p1 p2 p3 p4 p5 p6 "c" "") ;用多段线形成封闭多边形 * Z3 }6 J! K* X& ~3 g
(command "extrude" "l" "" -5 "");拉伸形成车刀模型
) X8 i( q+ c! v- t(setq e1 (entlast));返回图元名 0 f6 R! X0 I/ w
(command "move" e1 "" "0,0,0" (list (/ p 2 -1) (/ d1 2 -1) 2.5));移动到起刀点
% c0 A5 Q' y3 i+ a) z% e
+ ^: ?- R! A+ E0 |% m2. 滚珠丝杠圆盘铣刀简化模型 & R7 J3 p  H! ?: p3 d. b* I
) y+ Q0 \& ~2 n; {+ i
圆盘铣刀是根据丝杠螺纹槽的法剖面廓形而创建的成形铣刀,为简化计算可用轴向剖面廓形代替,主要代码如下: * D1 s" F) K- x' _3 c/ X/ f- [, c
(setq db (getreal"\n请输入滚珠直径:"));定义铣刀截面多边形各节点P11、P12、P13、P14,如图2所:
! h: t0 C% i) s0 g# T$ [
+ l8 w9 ]+ w7 R/ R, ehttp://www.ourjx.com/attachment/godhelp/200511261052885277802_chinacnw_com.jpg# b2 a, b; y+ c% }/ f" y6 d. t
  I- p. ~" f8 O/ y% E
图2 铣刀截面多边形 (setq p11 (polar (list 0 0 0) (/ pi 2) 23.5)) 6 b" C# Y! a: Q
(setq p12 (polar p11 0 db))
: U$ [" ^" a; k/ g2 h* ]0 `& t(setq p13 (polar p12 (/ pi 2 -1) 13.5))
0 W! [8 u1 w+ H( f+ V4 b$ \4 S(setq p14 (polar p13 (* pi -1) db)) % V8 T) O  C9 o  E" n+ @
;定义铣刀截面多边形各节点P11、P12、P13、P14
. V1 H& v8 L. O1 D) B(command "pline" p12 p13 p14 p11 "a" "cl" "") ;用多段线绘制铣刀截面多边形 , ~( m7 d) G* {* @9 F: O* |0 t
(command "revolve" "l" "" "x" "" );旋转生成铣刀体
9 c2 e  Z3 v6 {/ Z5 B" s/ n; h(setq o1 (entlast));返回图元名 1 A7 K: u% \  `, }( M* D' s
(command "ucs" "y" "" "" "color" 1);坐标系绕Y轴转90°,并指定颜色为红色 9 R) @' Y: r" N$ u
(setq p20 (list 0 0 0));设当前坐标原点为P20
0 [5 a& u5 r8 Y: i(setq p21 (polar p20 0 3.3)) ' |  }  d1 }6 b
(setq p22 (polar p21 (/ pi 2 ) 5.2))
2 t. V. S1 K5 h3 T' I: J3 k' H(setq p23 (polar p22 (/ (* 105 pi )180) 1.3))
" ^5 W0 ]+ t* h0 c* f# i(setq p24 (polar p20 (/ pi 2 ) 6)) - I1 Q( u. X% a. s
(setq p25 (polar p20 (/ pi 2 ) 5)) 0 u+ Z- V, H! K0 m# T
;定义铣刀槽截面多边形各节点P20、P21、P22、P23、P24及基点P25,如图3所示: % ^* e& T% i. P, U2 E  m  ?
5 R; G. Z" _: ~' W2 ~
http://www.ourjx.com/attachment/godhelp/200511261052891277803_chinacnw_com.jpg
8 [5 i$ m& s' g  `7 v6 j2 x
3 L3 s8 K& M' ?% c图3 铣刀槽多边形 (command "pline" p20 p21 p22 p23 "a" p24 "l" "c" "");用多段线生成铣刀截面多边形
! C% U; V. y2 [& q5 m9 a(command "extrude" "l" "" (* 2 db) "");拉伸形成刀槽体
% Q1 Y2 T+ ]5 e9 M% I8 {# E* n4 g(setq o2 (entlast));返回该图元名
% k& W: t& p& F" L$ o; H7 s(command "move" o2 "" p25 (list 0 -25 -1));以基点P25移动刀槽体到指定点
. K2 b* [# F: u9 u7 Q(command "array" o2 "" "p" p21 20 "" "" );将刀槽体环形矩阵20个 ; h. P' \( w& D4 b# U! g3 j, k
(setq ss (ssget "x" '((62 . 1))));以红色为过滤器创建选择集ss . t" F" K0 ?) W/ [+ A! t4 u' V0 Y
(command "subtract" o1 "" ss "");将铣刀体与刀槽体进行布尔差运算生成铣刀简化模型
* B5 ?9 K: ^3 _3 r(setq o3 (entlast));返回该图元名 1 h9 ]2 c9 Z8 s' }" L
(command "rotate" o3 "" p21 5);铣刀旋转5°
. g! e  n- ~2 K9 L(command "move" o3 "" 8 o  L  a; h( w% \" l" ?! Z
(list 0 0 0) (list 0 (* -1 ( 25 (/ (- d db) 2))) 0));将铣刀移动到切削位置
# Y! y- \; X) c% [: ~: p2 y/ w& P, |9 _! S1 G2 u% p" N5 K
三、螺纹加工三维仿真 & Y) l, K7 `" z' l2 \1 P

3 Q. r! w, A1 v+ L9 w. B0 g1.车削螺纹仿真原理 : H# L' S6 Q+ y
; e; k) u2 f5 p- Q! t" O; q
螺旋线的数学模型是:7 `% {/ v  x% o; _. J* B( P6 B
http://www.ourjx.com/attachment/godhelp/200511261052897277804_chinacnw_com.jpg3 ~/ P/ ?5 B0 N# ?+ [
其中,p为螺距,θ为瞬时角,r为基圆半径。基圆柱体每旋转一个步距角△θ,车刀平行于圆柱体轴线进给一个量△Z,将车刀复制件与圆柱体布尔差运算,再进行下一个循环。 ; g5 R" l) [9 L( z+ f6 u
主要代码如下:
7 ^+ Z& s* q3 V- ~; X; u6 B8 N" b9 ^9 A; z5 w- [, D( h  V
(command "ucs" "y" "" "" "color" 3);坐标系绕Y轴转动90°,指定颜色为蓝色 $ h# N0 _5 H# U" ^6 r: i- c
(setq k (* (/ ( l 2) p )2 pi));设定循环次数
# T+ f7 k# W: C% o+ M* O(while (<= i k);循环条件 - Q4 c- E& X2 Q+ L
(setq pt1 (list 0 0 (* v i -1)));设移动起点坐标 5 v$ w4 l2 \$ b
(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
! Q1 ~) \  G! M- D' F; w5 V3 z(setq i ( i 0.1));给循环变量一个增量角 . ^5 a8 z% _6 R1 v( z
(setq pt2 (list 0 0 (* v i -1)));设移动目标点坐标 7 j: U$ |3 L6 l) j( U- J4 \
(command "move" e1 "" pt1 pt2);使车刀移动一个进给量 % q9 B5 S; H& l0 J9 j/ @2 q  F
(command "copy" e1 "" "0,0,5" "0,0,5");在原位复制车刀 ! q( B" X( J# i9 l* g  l
(setq e2 (entlast));返回复制车刀图元名
5 Y$ U0 Q1 \8 j' i(command "subtract" a "" e2 "");将圆柱体与车刀复制件布尔差运算
# E3 Q1 ?- w* \  o, S& i);循环体 4 w! z3 j$ z! t+ ^
; J7 @2 z  E! L+ n% N6 N9 h
2.铣削滚珠丝杠仿真原理 2 c' [) h" G# F2 S2 I. g, O

( T$ a! l4 {& \8 X, E0 c基圆柱体每旋转一个步距角,将沿其轴线进给一个量。铣刀位置不动,将其复制件与基柱体进行布尔差运算,再进行下一个循环。
$ t9 w& f& |1 Z4 ]. T- M0 Y0 R, z, m; T; ]) W
其主要代码与螺纹车削相近,核心代码如下: ' q/ s% y; n4 j" X2 }' X) @5 o+ W: N

+ c  q8 n$ l* x; H5 g: w(while (<= i k) + h, Z6 s4 U2 L8 b/ f5 c/ E
(setq pt1 (list 0 0 (* v i )));设移动起点坐标
3 i* M# z3 J" Z( T# M# Z/ V( V(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
8 Y6 ]+ ~9 w* y# i; O( J(setq i ( i 0.1));给循环变量一个增量角
: @* y2 }/ L8 ~3 {) @(setq pt2 (list 0 0 (* v i )));设移动目标点坐标
0 {  @  {1 K- O6 R+ F(command "move" a "" pt1 pt2);圆柱体移动一个进给量
* ?1 F$ H. P/ _" \(command "copy" o3 "" "0,0,5" "0,0,5");在原位复制铣刀
% Q3 o; J* w. ~4 y! [(setq o4 (entlast));返回复制铣刀图元名
1 O& t" P7 h8 r! n, _9 X0 w(command "subtract" a "" o4 "");将圆柱体与铣刀复制件布尔差运算
  p. i/ m1 h! \* n% t3 H( H) . }. g% g% r0 \& U
8 c8 ], K; M6 @3 Y: S- P
3.仿真程序流程
* `( \& e( {/ M4 ]+ {' e8 e+ ]- T6 W. ?. {
我们采用主控程序调用仿真车削子程序,或调用仿真铣削子程序的方法实现加工动态仿真。仿真效果渲染如图4和图5所示。
7 W9 X/ K2 J- d  U8 T
/ h5 b* S% d( L& h; J0 [http://www.ourjx.com/attachment/godhelp/20051126105296277805_chinacnw_com.jpg
% k4 v; ^# t) M$ Z8 @
- B2 W/ V5 \* w( g图4 车削螺纹仿真
8 z8 v% \3 _: e: Z
2 h- {% t: q. x- ?7 {+ X$ Ghttp://www.ourjx.com/attachment/godhelp/200511261052916277806_chinacnw_com.jpg4 j* \6 Z- t+ A

+ _+ M% Z: m" e图5 铣削丝杠仿真 四、结束语 & F& K' [9 r: |5 @8 i% D
% @: H% k: f! H1 H) E, Y# E% j
三维动态仿真技术,是现代制造业不可缺少的技术之一。螺纹加工仿真原理可直接演示零件表面的成形过程,检验零件表面的加工质量,也可用于其他零件加工仿真。基于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 | 显示全部楼层 来自: 中国台湾
能否請樓主提供一下源碼
$ q* l& L& m4 b$ O% s. `1 q好讓大家學習學習好嗎?
发表于 2010-9-25 11:49:41 | 显示全部楼层 来自: 中国北京
楼主的图片全是XX,我也没看明白什么意思,汗
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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