(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))
(command "ucs" "o" (list 0 0 (+ 0 l/10)))
(setq l/20 (/ l 20.0)
l/30 (/ l 30.0)
l/180 (/ l 180.0)
)
(command "cylinder" '(0 0 0) l/30 l/20)
(command "ucs" "o" (list 0 0 (+ 0 l/20)))
(command "ucs" "x" "")
(setq pi/2 (/ pi 2.0)
a30 (dtr 30)
a60 (dtr 60)
a135 (dtr 135)
a120 (dtr 120)
k (* l/180 (cos a30))
ri (- l/30 k)
ps '(0 0 0)
pe (polar ps pi/2 l/10)
p0 (polar pe 0.0 ri)
p1a (polar p0 a135 pitch)
p2 (polar p0 pi pitch)
p1b (polar p2 a60 pitch)
p1 (inters p0 p1a p2 p1b)
p3 (polar p2 a120 pitch)
l (- len pitch)

)


)
arrow
arrow
    全站熱搜

    ZZZZZZZZZ9 發表在 痞客邦 留言(0) 人氣()