找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3594|回复: 5

CAD2004画三维螺纹

[复制链接]
发表于 2009-4-21 14:37:55 | 显示全部楼层 |阅读模式
我听我一个朋友说以前他用过CAD2004里面有个命令输进去可以出来螺纹的,请大家帮忙,谢谢
回复

使用道具 举报

发表于 2009-4-21 15:16:51 | 显示全部楼层
你是指07版以上的autocad吧,04版没有这个功能的。
 楼主| 发表于 2009-4-22 07:15:08 | 显示全部楼层
我那个朋友不会骗我吧,他说原来学的时候画过,是照书上的一个指令,可惜他那本书掉了,07是可以用螺旋线的,不过还是谢谢你,以后有问题还有请教
发表于 2009-4-26 12:43:54 | 显示全部楼层
;;;-----------彈簧的程式----------  
4 Z( B5 {; W' N6 p(defun c:spring(/)  
/ }, T9 y, }+ R! H; u(setq p1(getpoint "基點:"))  * p2 m/ t* T9 {" F
(setq r(getreal "平均半徑:"))  7 T- ]. H, T. h7 J4 M5 e
(setq d0(getreal "直徑:"))  3 T0 b5 n, _4 ^9 n( d8 M
(setq disp(getreal "節距:"))  6 S4 B. X0 X  N0 r/ v7 Q7 _
(setq n0(getint "工作圈數:"))  ) T+ c6 @6 j5 z5 j6 z# c
(setq n(getint "細化段數(16/20/24/28/32/36/40/48/52/56/60/100):"))  
6 j0 O) q/ f! y6 j: o(setq n1(* 1.25 n)) ;支撐圈細化段數  * \7 `! J; K7 r% ?
(setq n1(fix n1))  
  ^* |: D% [! G& g5 u& N6 \(setq n2(* n0 n)) ;工作圈細化段數  
/ R7 q# V" L% ^' o0 [(setq delta(/ (* 2.0 pi) n)) ;單位轉角  ' w" t8 x4 P6 V: e2 f! P
(setq j(/ disp n)) ;工作圈軸向位移量  
! p  d3 Y, m6 b* f; \$ _3 q(setq j0(/ d0 n)) ;支撐圈軸向位移量  " G7 a& Z3 T; l4 l9 i, J- A
(setq bb(caddr p1))  7 _* f" V3 V# ]1 x0 H
(setq ang 0)  
( M* A- L/ }3 J' |0 j. A7 A4 z: i(setq jj 0)  * o/ j& R8 p4 c! y
(command "ucs" "o" p1)    y* o! i( C$ t; z. T7 h4 L
(setq pt1(list r 0 0))  ; a" k# z: @8 e5 V+ L
(command "3dpoly" pt1)  
2 j+ P9 X# p7 C/ U7 R(repeat n1 ;繪製下支撐圈  ; ~9 I. E7 ]: ]; Z2 E8 j4 ?0 g7 |
(setq jj(+ jj 1))  
# P# D8 w1 `3 Z2 ]8 |6 Y(setq ang(+ delta ang))  $ ~8 q6 M9 d$ k- A# n! t
(setq pt(list (* r (cos ang)) (* r (sin ang)) (* j0 jj)))  
1 f0 @( {) ]9 }3 c(command pt)  9 |0 @% P5 ?! ~& A. a3 Y2 S2 _
)  
$ r& I8 D1 z/ K+ T$ H, s" h8 t& s( G' X(setq p2(list 0 0 (* j0 jj)))  $ D9 P$ C3 r# U& L
(setq g1(* j0 jj)) ;下支撐圈高度  ' Q7 ~$ K2 B$ C2 Y
(setq jj 0)  2 p/ l1 g5 ~: s7 B6 W( J
(repeat n2 ;繪製工作圈  
* `, x9 O2 k& H, o(setq jj(+ jj 1))  ; J3 J, M) c0 z" b& x: ?) K
(setq ang(+ delta ang))  3 B$ F8 j+ l: n% v4 v
(setq pt(list (* r (cos ang)) (* r (sin ang)) (+ g1 (* j jj))))  ' L7 N( j1 o! g- b1 N
(command pt)  # }2 k& \# k+ {; f% O: @2 ]
)  0 X% e! Y# Y/ T/ j" O/ E" V6 Z6 ]( A
(setq p3(list 0 0 (* j jj)))  
+ E' q# k) J; }3 Q, b% \6 ](setq g2(* j jj)) ;工作圈高度  
  L: P' i& ^) t/ c; B% {(setq jj 0)  
" Y/ m; h+ r$ }# h4 n$ L/ I(repeat n1 ;繪製上支撐圈  
* V$ D0 E. t9 u+ d+ P, o(setq jj(+ jj 1))  
& |* G* |& {, A( W9 \  X(setq ang(+ delta ang))  : m$ L8 F$ S1 O+ g( W; `  C/ m
(setq pt(list (* r (cos ang)) (* r (sin ang)) (+ g1 g2 (* j0 jj))))  8 S. h- g2 L2 |0 n; @2 L
(command pt)  
& K2 ?, z1 G. T; b: U5 p; i)  
# G* y  h- `- h- V& h0 ]1 V4 C(setq g3(* j0 jj)) ;上支撐圈高度  8 n7 ^* {( p- T( J
(command "")  
9 \- L7 R4 ^7 U+ z& {(setq e1(entlast))  
) U4 Y' p+ T3 d. C9 X/ q(command "ucs" "x" "") ;拉伸彈簧  
* H2 V! F" T! H. ?(command "circle" pt1 (/ d0 2))  
# ]9 s9 x2 Q4 d. q" m, K(setq e2(entlast))  
6 y+ y0 i& x/ I$ M3 g(command "extrude" e2 "" "p" e1)  / j) c* r! r& k) x8 c2 }
(setq e3(entlast))  & J6 ^) U5 Q% W3 c1 E: n
(setq pt2(list r (/ d0 4) 0)) ;磨平  
% j# P3 X/ v' x3 D3 f( V(setq py(+ g1 g2 g3 (- 0 (/ d0 4))))  
1 `9 i  H& o1 L3 y: ~(setq pt3(list (- 0 r) py 0))  
& K& n* b! Y2 @2 N, H6 N: i: W(command "slice" e3 "" "zx" pt2 pt3)  6 B0 ~$ `' n$ ?" B( g4 P0 l3 I
(command "slice" e3 "" "zx" pt3 pt2)    q. F: O4 ?" p% ~, }( t" S
(command "ucs" "w")  5 h! @% r# \: T6 {4 `
6 H  ?+ U. l2 G
)  ' ~; g' ^- ], Y/ R
;;;---------end----------彈簧程式結束!
8 g. F* d) G0 U" y兄台把這個程序載入CAD就可以繪製3D彈簧了
发表于 2009-5-25 01:54:18 | 显示全部楼层
以前一直没搞出来,有机会试试,谢啦
发表于 2012-5-15 08:46:30 | 显示全部楼层
求螺纹??
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-8-6 22:58 , Processed in 0.063284 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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