框选图形全变成绿色,然后变成块。小问题
如题。感谢大佬出手相助。就是保留原图? 作用于和客户邮件对比,方便检查。 图形!?
那类? 单纯的LINE/Circle/Arc/...or !??
byalyer/byblock?
您得先上样例(Dwg) ... Andyhon 发表于 2019-11-7 20:34
图形!?
那类? 单纯的LINE/Circle/Arc/...or !??
byalyer/byblock?
就是寻常的线,圆,圆弧之类的。没有标注,没有块。谢谢长老的提醒了。 就是框选把线,圆,圆弧统一变成绿色。然后把变成绿色的图变成块。原先的图不动,只是把原先的图改变了颜色然后变块。 (defun c:tt5 ()
(setq ss (ssget ))
(command "CHANGE" ss "" "p" "c" 3 "")
(emkunameblk ss (list 0 0))
)
(defun emkunameblk (ss pt / i name)
(entmake (list '(0 . "block") '(2 . "*U") '(70 . 1) (cons 10 pt)))
(repeat (setq i (sslength ss)) (entmake (cdr (entget (ssname ss (setq i (1- i)))))))
(setq name (entmake '((0 . "ENDBLK"))))
(command "_.erase" ss "")
(entmake (list '(0 . "INSERT") (cons 2 name) (cons 10 pt)))
name
) start4444 发表于 2019-11-8 12:06
(defun c:tt5 ()
(setq ss (ssget ))
(command "CHANGE" ss "" "p" "c" 3 "")
看代码没毛病。但还有个问题,这样的话不就把原图改了嘛?原图可以不动它吗?这样对比好ok之后我直接删了块就可以出图了。劳烦大佬改下阔以吗?拜谢。 start4444 发表于 2019-11-8 12:06
(defun c:tt5 ()
(setq ss (ssget ))
(command "CHANGE" ss "" "p" "c" 3 "")
我还以为一次只能给一个呢。大佬有空时可以帮我改一下吗? 保留原图
(command "_.erase" ss "")去掉该行