jianlin521 发表于 2012-6-2 23:35:57

批量将选中圆替换为块~

(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 移坐标了, 替换的块就和圆心偏很远~~~~~~~   

xyp1964 发表于 2012-6-3 00:05:34

(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)
)

uy62226562 发表于 2012-6-3 00:47:52

我每次看到中国运动员就很想喊

jianlin521 发表于 2012-6-3 01:02:41

本帖最后由 jianlin521 于 2012-6-3 01:06 编辑

谢谢版主`!可是改了之后,原来的圆没有替换,还是留在那里了`~~

Andyhon 发表于 2012-6-3 08:22:14

在 (command ...) 下
(entdel s1); add ...

vlisp2012 发表于 2012-6-3 09:33:02

希望院长,以后多发这样的真源码!!!!

asd19400 发表于 2013-4-2 02:19:31

院长的源码很猥琐~~,都不能用 的

asd19400 发表于 2014-9-1 14:19:55

(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)
)

flyws77 发表于 2015-8-8 12:24:09

真的有用啊

ucuc2003 发表于 2015-8-8 15:42:21

要是插入的是属性块,程序就出现BUG了
页: [1] 2
查看完整版本: 批量将选中圆替换为块~