QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
goto3d 说: 此次SW竞赛获奖名单公布如下,抱歉晚了,版主最近太忙:一等奖:塔山817;二等奖:a9041、飞鱼;三等奖:wx_dfA5IKla、xwj960414、bzlgl、hklecon;请以上各位和版主联系,领取奖金!!!
2022-03-11
全站
goto3d 说: 在线网校新上线表哥同事(Mastercam2022)+虞为民版大(inventor2022)的最新课程,来围观吧!
2021-06-26
查看: 3087|回复: 7
收起左侧

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

[复制链接]
发表于 2006-12-2 13:45:37 | 显示全部楼层 |阅读模式

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

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

x
机械传动中,螺纹的应用十分广泛,尤其是在数控设备上更是大量使用滚珠丝杠。对这些螺纹零件,采用CAD/CAM技术进行设计与制造是离不开仿真技术的,本文主要介绍的是基于AutoCAD平台,利用VLISP编程,根据螺纹加工原理、三维实体造型和对象布尔运算等实现螺纹加工三维动态仿真技术。
+ x2 T. l) E0 Y/ B" A0 J/ S1 ?) e7 ^
一、基圆柱体造型
2 ~7 t; ]0 @+ Z2 }1 U* B
0 K$ ~0 V. C7 C根据国标(GB196—81)规定,三角螺纹的基本尺寸有外径D、中径D2、内径D1、螺距P、基本三角形高度H和牙形角60°。按有关规定,滚珠丝杠公称直径为D,长度为L,滚珠直径为db。将基圆柱体的直径取为D,长度取设计值L,则程序代码如下: 4 K/ T4 c& {: ^
! B, W8 c: f+ L2 i8 X
(setq d (getreal"\n请输入螺纹外径:")
0 h6 T! r/ ?+ @$ S( w  U7 P; ]l (getreal"\n请输入螺纹长度:") : n) }; j) L$ w9 H  G( n; y3 B
)
0 F+ d1 b" K8 G(command "cylinder" (list 0 0 -1) "d" d (* -1 l ) );画圆柱体 # I( X  {3 ]3 z2 h

! U. E0 Z. `1 ]  }  r; m6 s' K$ K( i二、切削刀具造型   l  _( P" j0 R! A0 b  |

& _  y7 W- r0 R0 |( X* T螺纹加工常用车削、铣削等加工方法,下面仅以车削三角螺纹和铣削滚珠丝杠为例来说明。 ( c: E5 X, k( ^- N3 k+ X

2 m/ i- ^: ^$ _1. 三角螺纹车刀简化模型 - j; B; z+ y5 @" A2 e% Q

3 a/ n, d4 a6 h零前角螺纹车刀的创建,如图1所示其代码如下: 9 P( b& B' k" g) W+ ^' q
* q* K$ v0 j7 n7 `% Z1 ]! x4 B
http://www.ourjx.com/attachment/godhelp/200511261052875177801_chinacnw_com.jpg$ \' Q) ?# c& d0 {9 J; V5 L

4 |. ~! m+ Z. G# G! S. L# K图1 车刀多边形 (setq p1 (list 0 0 0));设当前坐标原点为P1 ! \$ i4 o3 B3 \" T& q  H% C3 M( n
(setq p2 (polar p1 0 (/ p 4)))
+ s$ O" a+ {3 \# j7 x9 A(setq p3 (polar p2 (/ pi 3 -1) (* 5 h))) ! M: b, X8 i8 F' f0 T
(setq p4 (polar p3 (/ pi 2 -1) 10)) : F9 Y/ u9 N+ o/ C9 i
(setq p5 (polar p4 pi ( (/ p 4)(* 5 h)))) 4 v2 ^% B( D; k4 q* a/ P, i
(setq p6 (polar p5 (/ pi 2) 10)) - W4 I8 i0 A8 Y0 M# L* P$ q
;定义车刀多边形p1 p2 p3 p4 p5 p6点的相对坐标 3 D. }. C; v+ i0 `$ g0 l
(command "pline" p1 p2 p3 p4 p5 p6 "c" "") ;用多段线形成封闭多边形
$ @# L+ A) |- S$ @7 d7 h5 y(command "extrude" "l" "" -5 "");拉伸形成车刀模型 5 [3 D; B% d# I5 C! T
(setq e1 (entlast));返回图元名
) t. B; N4 E0 N0 q(command "move" e1 "" "0,0,0" (list (/ p 2 -1) (/ d1 2 -1) 2.5));移动到起刀点 & j, }& Y" j' {9 c+ W4 j; w

5 N6 ^1 S6 q% z0 W" J2. 滚珠丝杠圆盘铣刀简化模型 6 |; }3 D! ~7 r8 t4 O) U/ \
) U5 C0 K- ~  y( w3 E
圆盘铣刀是根据丝杠螺纹槽的法剖面廓形而创建的成形铣刀,为简化计算可用轴向剖面廓形代替,主要代码如下:
! _0 z( `9 Y9 Z: \/ _(setq db (getreal"\n请输入滚珠直径:"));定义铣刀截面多边形各节点P11、P12、P13、P14,如图2所:
# b6 d1 C% k# {  H8 x$ }( @7 w( h% }6 \' z
http://www.ourjx.com/attachment/godhelp/200511261052885277802_chinacnw_com.jpg
, _2 p6 a# s8 h( x+ D
- C- l6 `' I* Q8 {' C图2 铣刀截面多边形 (setq p11 (polar (list 0 0 0) (/ pi 2) 23.5)) 4 G" T) f; A2 n
(setq p12 (polar p11 0 db))
( ~  T1 z9 F* n" [(setq p13 (polar p12 (/ pi 2 -1) 13.5))
) @  U- w, {/ P- w8 \" q0 x# A(setq p14 (polar p13 (* pi -1) db)) 9 ^& P% G% E, e
;定义铣刀截面多边形各节点P11、P12、P13、P14 9 W* y9 U6 O) Y! [1 x: _1 N
(command "pline" p12 p13 p14 p11 "a" "cl" "") ;用多段线绘制铣刀截面多边形
' z0 \. o* I: A$ v- d(command "revolve" "l" "" "x" "" );旋转生成铣刀体 & s; V$ O6 p2 z3 y4 B" n5 o/ B
(setq o1 (entlast));返回图元名 ! w! k1 s1 G1 ]8 p' e- K: v
(command "ucs" "y" "" "" "color" 1);坐标系绕Y轴转90°,并指定颜色为红色 / S* a; l. f* Z# k
(setq p20 (list 0 0 0));设当前坐标原点为P20
; D- ^. @" e* z& G* M(setq p21 (polar p20 0 3.3))
0 b- S4 u, C6 Q(setq p22 (polar p21 (/ pi 2 ) 5.2))
$ m) b, }6 u# w8 u: g8 l) [9 N. e(setq p23 (polar p22 (/ (* 105 pi )180) 1.3))
/ E8 g# M1 P& a) \( G" P(setq p24 (polar p20 (/ pi 2 ) 6)) 8 b& x& k1 _  \- j% m* [1 f
(setq p25 (polar p20 (/ pi 2 ) 5))
. q% i2 D5 T6 T8 E;定义铣刀槽截面多边形各节点P20、P21、P22、P23、P24及基点P25,如图3所示: 2 B5 m" G- g" p; m9 f' L( t

7 O+ J  ~3 f* L7 {' a3 k/ \http://www.ourjx.com/attachment/godhelp/200511261052891277803_chinacnw_com.jpg
( M1 i2 {+ S# R' @& r8 k8 K. `# o( x
图3 铣刀槽多边形 (command "pline" p20 p21 p22 p23 "a" p24 "l" "c" "");用多段线生成铣刀截面多边形
. {8 T4 T- m2 r; z3 o(command "extrude" "l" "" (* 2 db) "");拉伸形成刀槽体
4 n$ }7 [' Z3 ^$ d" `/ B(setq o2 (entlast));返回该图元名 6 h! {$ _5 @9 q) R: H
(command "move" o2 "" p25 (list 0 -25 -1));以基点P25移动刀槽体到指定点 ; D* U7 e. ?7 Z9 V9 ?( I2 b
(command "array" o2 "" "p" p21 20 "" "" );将刀槽体环形矩阵20个
! v* |+ Y& y0 k$ F( n# \7 a(setq ss (ssget "x" '((62 . 1))));以红色为过滤器创建选择集ss
7 [- ?' |  U$ d! c2 a  }(command "subtract" o1 "" ss "");将铣刀体与刀槽体进行布尔差运算生成铣刀简化模型 ; I0 m+ \- t# p' Q3 H
(setq o3 (entlast));返回该图元名
) R: e9 A' G. N; K6 ~) S(command "rotate" o3 "" p21 5);铣刀旋转5° % f% ?7 a( E. M, E7 ^
(command "move" o3 ""
/ y& b& b# U2 G0 M0 m(list 0 0 0) (list 0 (* -1 ( 25 (/ (- d db) 2))) 0));将铣刀移动到切削位置 8 r1 ~, k* D/ v7 `
3 R, V+ V; @2 K. Z) k6 A' b8 N
三、螺纹加工三维仿真
' N7 M4 l8 j, ?+ l( g. G5 X: `' ~
1.车削螺纹仿真原理 % T$ w' k6 O+ q2 R- u4 d9 r6 y: f

/ c6 G- O. ?, h& w4 ?3 A. c# t+ k5 G4 U0 w螺旋线的数学模型是:
4 Z1 ]$ }! c( q# yhttp://www.ourjx.com/attachment/godhelp/200511261052897277804_chinacnw_com.jpg8 S; X+ l( ^2 B  R, V  i, l1 a
其中,p为螺距,θ为瞬时角,r为基圆半径。基圆柱体每旋转一个步距角△θ,车刀平行于圆柱体轴线进给一个量△Z,将车刀复制件与圆柱体布尔差运算,再进行下一个循环。 ' ?0 n+ m5 k9 E; K2 _
主要代码如下: # _8 e$ b  p5 E% Z, ]( F" G

7 [0 A* b, X' l9 D/ c(command "ucs" "y" "" "" "color" 3);坐标系绕Y轴转动90°,指定颜色为蓝色 ; f( q  m/ J5 Q
(setq k (* (/ ( l 2) p )2 pi));设定循环次数 5 y: {5 J0 d8 K3 N  M: v5 O
(while (<= i k);循环条件 ! F% l: s7 q( \
(setq pt1 (list 0 0 (* v i -1)));设移动起点坐标
) _5 _6 h! Q* G& Y# i(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
  K0 y, j( y) m6 R/ {, g+ d(setq i ( i 0.1));给循环变量一个增量角
* A: B5 U* ~, [. f% y(setq pt2 (list 0 0 (* v i -1)));设移动目标点坐标
; T& }& z/ R# X3 H8 m  J. ^(command "move" e1 "" pt1 pt2);使车刀移动一个进给量
# ^- I5 l* e+ m(command "copy" e1 "" "0,0,5" "0,0,5");在原位复制车刀 : T  t) v" p$ ]7 l' ?/ P
(setq e2 (entlast));返回复制车刀图元名
4 s$ ?; Q4 @* |9 g1 i+ o% _(command "subtract" a "" e2 "");将圆柱体与车刀复制件布尔差运算 " q1 k) Y) t& S( a! |) h& @$ z$ q
);循环体
, |! M# y2 @2 m, |! o; _' j# z0 i
; n# w" _& `" c+ A# E$ H  y5 `: ]2.铣削滚珠丝杠仿真原理
- `3 g  s! r( U: t4 Q# Q0 m" ~+ Z$ [9 {( A
基圆柱体每旋转一个步距角,将沿其轴线进给一个量。铣刀位置不动,将其复制件与基柱体进行布尔差运算,再进行下一个循环。
* N; f; w/ z; s! W2 D- p7 Z' h  t0 y& a) V  ?, X* F/ H( }
其主要代码与螺纹车削相近,核心代码如下:
3 j7 J: ^" m! j+ n1 N) k+ s$ F( n8 @+ P4 \: @4 l# _
(while (<= i k)
; d0 N* ~8 f" N5 o$ \- a, M(setq pt1 (list 0 0 (* v i )));设移动起点坐标
$ K' r# F' S+ w/ o, \(command "rotate" a "" "0,0,0" (/ (* 0.1 180) pi));圆柱体绕原点转一个步距角
' C7 ^2 |) P1 Q7 A+ U(setq i ( i 0.1));给循环变量一个增量角 3 g! W. B; h8 V' A2 O; X
(setq pt2 (list 0 0 (* v i )));设移动目标点坐标
" H' u; y- W# b(command "move" a "" pt1 pt2);圆柱体移动一个进给量
1 s: n" z2 M6 e0 k(command "copy" o3 "" "0,0,5" "0,0,5");在原位复制铣刀 # j; \6 g3 `" H  K, _5 b0 l
(setq o4 (entlast));返回复制铣刀图元名 ! F9 \3 r5 }/ }9 B4 W
(command "subtract" a "" o4 "");将圆柱体与铣刀复制件布尔差运算
9 q) F( i  ?7 U5 H+ W7 r) ) }7 X( s) X8 U" a' f" l

# ?6 @9 M- x. g3.仿真程序流程 - i2 A+ u( s8 m5 E* E& Z8 I
$ g. C. @$ d5 |; V- @
我们采用主控程序调用仿真车削子程序,或调用仿真铣削子程序的方法实现加工动态仿真。仿真效果渲染如图4和图5所示。
( O1 _4 k- `) F  g, o- c& {9 V) I' P& N- @% `9 A
http://www.ourjx.com/attachment/godhelp/20051126105296277805_chinacnw_com.jpg* U/ h' J1 P4 Y' D/ i. l0 M) F" R8 T
# j8 X. g* e3 n" M. {* |8 G( y, q+ G
图4 车削螺纹仿真 # a" N( k9 \( }8 ], i

8 A# q* H7 d0 I* lhttp://www.ourjx.com/attachment/godhelp/200511261052916277806_chinacnw_com.jpg9 R  B' M  }- f9 v
6 ]4 h6 i5 I" o3 b
图5 铣削丝杠仿真 四、结束语 3 W+ P# h. a3 e- R0 Q

/ i+ J5 a4 R# i2 n* w7 Z/ G三维动态仿真技术,是现代制造业不可缺少的技术之一。螺纹加工仿真原理可直接演示零件表面的成形过程,检验零件表面的加工质量,也可用于其他零件加工仿真。基于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 x* l' t9 K; _: \' T好讓大家學習學習好嗎?
发表于 2010-9-25 11:49:41 | 显示全部楼层
楼主的图片全是XX,我也没看明白什么意思,汗
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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