(defun C:dwx ()
(setq osmode 0)
(setq p1 (getpoint "\n基点:"))
(setq a (getreal "\n大径:"))
(cond ((= a 1) (setq h 4.0) (setq d 3.0) (setq l 10.0) (setq c 0.2))
((= a 2) (setq h 4.0) (setq d 3.0) (setq l 10.0) (setq c 0.2))
((> a 2) (setq h 5.0) (setq d 5.0) (setq l 12.0) (setq c 0.4))
( princ "\n没有此值")
)
(setq p2 (polar p1 (* pi 2) (- (/ d 2) 0.5))
p3 (polar p2 (* pi 0.25) 0.707107)
p4 (polar p3 (* pi 0.5) (- l h 0.5))
p5 (polar p4 pi (/ (- d a) 2))
p6 (polar p5 (* pi 0.5) (- h c))
p7 (polar p6 (* pi 0.583333) (* 1.035276 c))
p8 (polar p1 (* pi 0.5) l)
p14(polar p1 pi (- (/ d 2) 0.5))
p13 (polar p14 (* pi 0.75) 0.707107)
p12 (polar p13 (* pi 0.5) (- l h 0.5))
p11 (polar p12 (* pi 2) (/ (- d a) 2))
p10 (polar p11 (* pi 0.5) (- h c))
p9 (polar p10 (* pi 0.416667) (* 1.035276 c))
p15 (polar p4 pi (/ (- d a) 6))
p16 (polar p6 (* pi 1.5) (* h 0.5) )
p17 (polar p10 (* pi 1.5) (* h 0.5) )
p18 (polar p12 (* pi 2) (/ (- d a) 6))
)
我把程序中的给点用line 调试了一下(如 line p2 p14 ,line p2 p3 p4),都没有问题,可是当我把p2到p14的点全部连起来的时候,图形却很乱,那位仁兄帮忙一下!!