CAD2004画三维螺纹
我听我一个朋友说以前他用过CAD2004里面有个命令输进去可以出来螺纹的,请大家帮忙,谢谢 你是指07版以上的autocad吧,04版没有这个功能的。 我那个朋友不会骗我吧,他说原来学的时候画过,是照书上的一个指令,可惜他那本书掉了,07是可以用螺旋线的,不过还是谢谢你,以后有问题还有请教 ;;;-----------彈簧的程式----------(defun c:spring(/)
(setq p1(getpoint "基點:"))
(setq r(getreal "平均半徑:"))
(setq d0(getreal "直徑:"))
(setq disp(getreal "節距:"))
(setq n0(getint "工作圈數:"))
(setq n(getint "細化段數(16/20/24/28/32/36/40/48/52/56/60/100):"))
(setq n1(* 1.25 n)) ;支撐圈細化段數
(setq n1(fix n1))
(setq n2(* n0 n)) ;工作圈細化段數
(setq delta(/ (* 2.0 pi) n)) ;單位轉角
(setq j(/ disp n)) ;工作圈軸向位移量
(setq j0(/ d0 n)) ;支撐圈軸向位移量
(setq bb(caddr p1))
(setq ang 0)
(setq jj 0)
(command "ucs" "o" p1)
(setq pt1(list r 0 0))
(command "3dpoly" pt1)
(repeat n1 ;繪製下支撐圈
(setq jj(+ jj 1))
(setq ang(+ delta ang))
(setq pt(list (* r (cos ang)) (* r (sin ang)) (* j0 jj)))
(command pt)
)
(setq p2(list 0 0 (* j0 jj)))
(setq g1(* j0 jj)) ;下支撐圈高度
(setq jj 0)
(repeat n2 ;繪製工作圈
(setq jj(+ jj 1))
(setq ang(+ delta ang))
(setq pt(list (* r (cos ang)) (* r (sin ang)) (+ g1 (* j jj))))
(command pt)
)
(setq p3(list 0 0 (* j jj)))
(setq g2(* j jj)) ;工作圈高度
(setq jj 0)
(repeat n1 ;繪製上支撐圈
(setq jj(+ jj 1))
(setq ang(+ delta ang))
(setq pt(list (* r (cos ang)) (* r (sin ang)) (+ g1 g2 (* j0 jj))))
(command pt)
)
(setq g3(* j0 jj)) ;上支撐圈高度
(command "")
(setq e1(entlast))
(command "ucs" "x" "") ;拉伸彈簧
(command "circle" pt1 (/ d0 2))
(setq e2(entlast))
(command "extrude" e2 "" "p" e1)
(setq e3(entlast))
(setq pt2(list r (/ d0 4) 0)) ;磨平
(setq py(+ g1 g2 g3 (- 0 (/ d0 4))))
(setq pt3(list (- 0 r) py 0))
(command "slice" e3 "" "zx" pt2 pt3)
(command "slice" e3 "" "zx" pt3 pt2)
(command "ucs" "w")
)
;;;---------end----------彈簧程式結束!
兄台把這個程序載入CAD就可以繪製3D彈簧了 以前一直没搞出来,有机会试试,谢啦 求螺纹??
页:
[1]