(defun c:zqzq (/ ip d len dlist pitch)
(command "ucs" "w")
(load "util")
(graphscr)(command "osnap" "off")
(if (and (setq ip '(0 0 0)
l (getreal "\nInput len : ")
)
)
(progn
(zqzq ip l)
)
)
(princ)
)
(defun zqzq (ip l / )
(zqzq01 ip l)
(setq e1 (entlast))
(zqzq02 ip l)
(setq e2 (entlast))
(command "union" e1 e2 "")
(princ)
)
;;;
(defun zqzq01 (ip l / )
(setq pi/2 (/ pi 2.0)
l/3 (/ l 3.0)
l/6 (/ l 6.0)
l/8 (/ l 8.0)
l/20 (/ l 20.0)
l/30 (/ l 30.0)
l/40 (/ l 40.0)
l/50 (/ l 50.0)
l/60 (/ l 60.0)
l/70 (/ l 70.0)
p0 (polar ip 0.0 l/6)
p1 (polar p0 pi/2 l/6)
p2 (polar p1 pi l/3)
p3 (polar p2 (* 1.5 pi) l/3)
p4 (polar p3 0.0 l/3)
)
(command "pline" p1 p2 p3 p4 p1 "")
(command "extrude" (entlast) "" l/20 "")
(command "cylinder" ip (* 0.23 l) l/20)
(command "ucs" "o" (list (+ 0 l/8) (+ 0 l/8) (+ 0 l/20)))
(command "cylinder" '(0 0 0) l/30 l/60)
(setq e1 (entlast))
(command "ucs" "o" (list 0 0 (+ 0 l/60)))
(setq ip2 '(0 0 0)
a30 (dtr 30.0)
a60 (dtr 60.0)
p5 (polar ip2 0.0 l/40)
p6 (polar ip2 a60 l/40)
)
(command "polygon" 6 "e" p5 p6)
(command "extrude" (entlast) "" l/60 "")
(setq e2 (entlast))
(command "ucs" "y" "")
(setq b0 '(0 0 0)
b1 (polar b0 pi l/60)
b2 (polar b1 pi/2 l/50)
c (* (- l/40 l/50) (tan a30))
b4 (polar b1 pi/2 l/40)
b3 (polar b4 0.0 c)
)
(command "pline" b2 b3 b4 "c")
(command "revolve" (entlast) "" b0 b1 "")
(command "subtract" e2 "" (entlast) "")
(command "union" e1 (entlast) "")
(setq bolt (entlast))
(command "ucs" "w")
(command "ucs" "o" (list 0 0 (+ 0 l/20)))
(command "mirror" bolt "" '(0 0) '(0 1) "" "")
(command "mirror" bolt "" '(0 0) '(1 0) "" "")
(command "mirror" bolt "" '(0 0) '(-1 1) "" "")
(princ)
)
;;;
(defun zqzq02 (ip l / )
(command "ucs" "w")
(setq l/10 (/ l 10.0))
l/20 (/ l 20.0)
(command "ucs" "o" (list 0 0 (+ 0 l/10)))
(setq l/45 (/ l 45.0)
)
(command "cylinder" '(0 0 0) l/20 l/20)
(command "ucs" "o" (list 0 0 (+ 0 l/20)))
(command "ucs" "x" "")
)
- Jun 13 Mon 2005 11:13
Lisp
全站熱搜
留言列表
禁止留言