批量将选中圆替换为块~
(defun C:RM6 (/ ss i n ename edata pt)(setq ss (ssget '((0 . "CIRCLE"))))
(if ss
(progn
(setq i -1 n (sslength ss))
(while (< (setq i (1+ i)) n)
(setq ename (ssname ss i))
(setq edata (entget ename))
(setq pt (cdr (assoc 10 edata)))
(command "insert" "M6" pT 1 1 0)
(entdel ename)))))
批量将选中圆替换为块~ 前题是图纸要存在那个M6的块`~!
请高手指正下,如果UCS 移坐标了, 替换的块就和圆心偏很远~~~~~~~
(defun c:tt (/ ss i s1 pt)
(if (setq ss (ssget '((0 . "CIRCLE"))))
(progn
(setq i -1)
(while (setq s1 (ssname ss (setq i (1+ i))))
(setq pt (cdr (assoc 10 (entget s1))))
(command "insert" "M6" (trans pt 0 1) 1 1 0)
)
)
)
(princ)
) 我每次看到中国运动员就很想喊 本帖最后由 jianlin521 于 2012-6-3 01:06 编辑
谢谢版主`!可是改了之后,原来的圆没有替换,还是留在那里了`~~ 在 (command ...) 下
(entdel s1); add ... 希望院长,以后多发这样的真源码!!!! 院长的源码很猥琐~~,都不能用 的 (defun C:T2 (/ BLOCK E ELIST N PT SS)
(princ "\n圆替换成块 作者: 蔡建伟 QQ:9518608 2013年12月11日")
(setq BLOCK "TEST");_块名
(if (setq SS (ssget '((0 . "CIRCLE"))))
(repeat (setq N (sslength SS))
(setq E (ssname SS (setq N (1- N))))
(setq ELIST (entget E))
(setq PT (cdr (assoc 10 ELIST)))
(command ".-INSERT" BLOCK "_NON" PT 1 1 0)
(entdel E) ;_删除原圆
)
)
(princ)
) 真的有用啊 要是插入的是属性块,程序就出现BUG了
页:
[1]
2