找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3547|回复: 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 | 显示全部楼层
;;;-----------彈簧的程式----------  
3 |" H. l6 U9 Q# ?(defun c:spring(/)  % k/ d8 r( Y0 t0 U9 I+ Q/ d
(setq p1(getpoint "基點:"))  ! Y1 B7 X5 C5 L" }% Y
(setq r(getreal "平均半徑:"))  
2 [6 A  x* v+ N5 J, v% D0 |  X(setq d0(getreal "直徑:"))  
* w) ^9 G/ r! ?* r/ z(setq disp(getreal "節距:"))  
( [9 S3 T0 Y) Q3 l(setq n0(getint "工作圈數:"))  * y) p/ Y5 _0 Y) C% W
(setq n(getint "細化段數(16/20/24/28/32/36/40/48/52/56/60/100):"))  
6 F( P7 u. K) d0 A. B(setq n1(* 1.25 n)) ;支撐圈細化段數  / v  U3 U$ H3 ]8 r7 z# I. W8 V3 U
(setq n1(fix n1))  
1 D* |- ]- n# ]- Y4 b- e(setq n2(* n0 n)) ;工作圈細化段數  
4 n# s+ D1 X# e) ?4 ?(setq delta(/ (* 2.0 pi) n)) ;單位轉角  8 E/ M& `8 c; P/ X& `- i# m) t0 R9 D
(setq j(/ disp n)) ;工作圈軸向位移量  
$ L6 C, w6 ~' Z& K6 A$ g(setq j0(/ d0 n)) ;支撐圈軸向位移量  " P$ C9 m; w* P( B" b7 G5 R1 |
(setq bb(caddr p1))  , w' `) v4 p6 C3 _: E- N
(setq ang 0)  
7 @1 D5 c8 _) R9 a(setq jj 0)  8 u  J  E. x' L6 J+ v' F' K/ w* y
(command "ucs" "o" p1)  : T2 n3 b* Q: u, P0 f( Z' S7 C
(setq pt1(list r 0 0))  
8 P1 d" h9 O) x' l/ m. w+ U(command "3dpoly" pt1)  # T8 y  h9 ~6 t$ B0 }/ v( I
(repeat n1 ;繪製下支撐圈  , v9 n# J8 ]# h" X0 \& `
(setq jj(+ jj 1))  8 p& b3 }: c) E% l
(setq ang(+ delta ang))  
, a$ M0 v+ V3 v& T(setq pt(list (* r (cos ang)) (* r (sin ang)) (* j0 jj)))  
  O4 i$ k( A; O7 B(command pt)  
2 c& y3 F0 P/ W9 s! W)  ) p1 K+ e# t1 s! t
(setq p2(list 0 0 (* j0 jj)))  ; o6 {, W7 v; b* k: I
(setq g1(* j0 jj)) ;下支撐圈高度  
  k& d% T8 `/ m7 B9 a; B(setq jj 0)  
6 e! ?4 Q+ y: n6 C(repeat n2 ;繪製工作圈  
# Y3 M6 b+ m0 H# K- b(setq jj(+ jj 1))  
& R0 Z  E. y. y(setq ang(+ delta ang))  
4 w; Y! Y* M  n; k: y; ]8 ~(setq pt(list (* r (cos ang)) (* r (sin ang)) (+ g1 (* j jj))))  + N% t' F1 a: d2 D# v+ B1 u+ O8 H
(command pt)  
: |& f, r' n/ d8 v) |- r# g)  
  [2 m8 ]+ ?- B6 u) B' B- W# D+ e(setq p3(list 0 0 (* j jj)))  
6 e" [# n2 \( D  N7 s(setq g2(* j jj)) ;工作圈高度  
; e  ], T, q0 {0 Z3 O* x(setq jj 0)  : T; m9 u! J3 s8 D
(repeat n1 ;繪製上支撐圈  
: B5 _7 A- [3 J7 k5 ~) l% i/ }. F8 Z* F(setq jj(+ jj 1))  
+ }! u/ K1 |% i% @. e5 @5 c( P(setq ang(+ delta ang))  
- H9 {  j8 i! s3 S2 d) g(setq pt(list (* r (cos ang)) (* r (sin ang)) (+ g1 g2 (* j0 jj))))  
7 H& T. G) o& }( u9 F(command pt)  # V6 R8 k8 }8 l4 B# y- w, P9 B
)  2 i2 x2 m+ G" t
(setq g3(* j0 jj)) ;上支撐圈高度  
" K5 u7 D8 T2 l7 D, J(command "")  9 P6 Z$ O/ y4 q3 @
(setq e1(entlast))  
0 |: D: ]+ n7 e6 U- w6 a(command "ucs" "x" "") ;拉伸彈簧  
, P! J. j: B8 r* b: Z- f9 z2 `(command "circle" pt1 (/ d0 2))  4 D/ g3 j6 m, i4 `- {' a  q
(setq e2(entlast))  
8 d: z0 [1 o( U" @, S) m(command "extrude" e2 "" "p" e1)  3 [  G: T: _+ l3 J' x* {$ ^
(setq e3(entlast))  1 t3 a1 N$ }: t' a: }$ s
(setq pt2(list r (/ d0 4) 0)) ;磨平  
/ j: a) j9 o/ Q2 H( [3 Z(setq py(+ g1 g2 g3 (- 0 (/ d0 4))))  , C  T5 z/ U) P! F$ \
(setq pt3(list (- 0 r) py 0))  
$ s, C3 g  T' u3 g+ X(command "slice" e3 "" "zx" pt2 pt3)  
3 c# F3 v3 Z+ C& l4 G+ Z" s(command "slice" e3 "" "zx" pt3 pt2)  
, c' \4 w, y. [* V6 S, W3 M(command "ucs" "w")  ' p. I9 g& t8 `; I

; R% J/ ^* F% w6 `/ U2 p)  
; e" J; p% Y: u  Q$ U, m;;;---------end----------彈簧程式結束!; x1 h! O% ~2 D. A/ @# Y, ]7 m
兄台把這個程序載入CAD就可以繪製3D彈簧了
发表于 2009-5-25 01:54:18 | 显示全部楼层
以前一直没搞出来,有机会试试,谢啦
发表于 2012-5-15 08:46:30 | 显示全部楼层
求螺纹??
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2025-6-20 02:10 , Processed in 0.056037 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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