fedd 发表于 2009-1-13 15:47:00

[求助]如何画椭圆弧

<p>我要画的是一个椭圆封头,有一个半椭圆的图形,我怎么也画不出来。顺便请教,如何知道command是如何调用CAD里面的各种命令啊,有什么规律可循吗?下面是我下的代码,非常感谢!!</p><p>(defun c:tt()<br/>(setvar "cmdecho" 0)<br/>(setq b(getreal "请输入封头壁厚:"))<br/>(setq cp(getpoint "请选封头中心:"))<br/>(setq cp1(getpoint "请选封头中心右边的端点(内壁):"))<br/>(setq r1(distance cp cp1))<br/>(setq r2(+ r1 25))<br/>(setq cp3(polar cp 0 r2))<br/>(setq cp2(polar cp pi r1))<br/>(setq cp4(polar cp pi r2))<br/>(setq cc(polar cp (/ pi 2) 25))<br/>(setq cc1(polar cp1 (/ pi 2) 25))<br/>(setq cc2(polar cp2 (/ pi 2) 25))<br/>(setq cc3(polar cp3 (/ pi 2) 25))<br/>(setq cc4(polar cp4 (/ pi 2) 25))<br/>(setvar "clayer" "2细线层")<br/>(command "line" cp1 cc1 "")<br/>(command "line" cp2 cc2 "")<br/>(command "line" cp3 cc3 "")<br/>(command "line" cp4 cc4 "")<br/>(command "ELLIPSE" a cc2 cc1 r1)<br/>(princ)<br/>)</p>

ZZXXQQ 发表于 2009-1-13 21:16:00


(defun c:tt()
(setvar "cmdecho" 0)
(setq b(getreal "请输入封头壁厚:"))
(setq cp(getpoint "请选封头中心:"))
(setq cp1(getpoint "请选封头中心右边的端点(内壁):"))
(setq r1 (distance cp cp1))
(setq r2 (+ r1 b))
(setq cp3(polar cp 0 r2))
(setq cp2(polar cp pi r1))
(setq cp4(polar cp pi r2))
(setq cc(polar cp (/ pi 2) 25))
(setq cc1(polar cp1 (/ pi 2) 25))
(setq cc2(polar cp2 (/ pi 2) 25))
(setq cc3(polar cp3 (/ pi 2) 25))
(setq cc4(polar cp4 (/ pi 2) 25))
(setvar "clayer" "2细线层")
(command "line" cp1 cc1 "")
(command "line" cp2 cc2 "")
(command "line" cp3 cc3 "")
(command "line" cp4 cc4 "")
(command "ELLIPSE" "_a" cc1 cc2 (/ r1 2) cc1 cc2)
(command "ELLIPSE" "_a" cc3 cc4 (+ (/ r1 2) b) cc3 cc4)
(princ)
)

fedd 发表于 2009-1-14 13:33:00

<strong><font face="Verdana" color="#da2549">ZZXXQQ,谢谢,非常感谢!给你拜个早年~~~</font></strong>

chenzf 发表于 2009-1-15 20:57:00

非常感谢,自己搞了几天没有搞出来,下了,参考
页: [1]
查看完整版本: [求助]如何画椭圆弧