thtanhao
发表于 2004-1-26 13:52:00
(defun C:vvv (/ s1 n1 n e1 e2 z k a)<BR> (vl-load-com)<BR> (princ<BR> "\n½«ËùѡʵÌåÁ¬³É¶àÒåÏߣ¬²¢ÅÐ¶ÏÆäÊÇ·ñ±ÕºÏ. °æÈ¨ËùÓУºTH.ÑÔÎ÷Ôç¶þ"<BR> )<BR> (setq z (getvar "cmdecho"))<BR> (setvar "cmdecho" 0)<BR> (command "undo" "be")<BR> (setq s1 (ssget))<BR> (setq n1 (sslength s1))<BR> (setq n 0)<BR> (while (< n n1)<BR> (setq e1 (ssname s1 n))<BR> (setq e2 (entget e1))<BR> (if (/= nil e2)<BR> (progn<BR> (setq a (cdr (assoc 0 e2)))<BR> (if (= a "LINE")<BR> (progn (command "pedit" e1 "y" "j" "all" "" "")<BR> (setq k (entlast))
(if (/= (vlax-curve-isClosed k) t)
(command "change" k "" "p" "c" 7 "")<BR> (command "change" k "" "p" "c" 30 "")<BR> )<BR> )<BR> (if (= a "arc")<BR> (progn (command "pedit" e1 "y" "j" "all" "" "")<BR> (setq k (entlast))
(if (/= (vlax-curve-isClosed k) t)
(command "change" k "" "p" "c" 7 "")<BR> (command "change" k "" "p" "c" 30 "")<BR> )<BR> )<BR> )<BR> )<BR> )<BR> )
(setq n (1+ n))<BR> )<BR> (setvar "cmdecho" z)<BR> (command "undo" "e")<BR> (prin1)<BR>)
liuliang
发表于 2004-1-26 14:23:00
直接在命令行里输入不行吗?
liuliang
发表于 2004-1-26 14:25:00
直接在命令行里输入就行了。
LCY-2003
发表于 2004-1-30 16:13:00
各位大虾我很笨,还是没有懂,我用的是CAD2002,能不能再说得仔细一点,在这里先感谢了,