XTdwynij 发表于 2019-11-7 19:59:49

框选图形全变成绿色,然后变成块。小问题

如题。感谢大佬出手相助。

start4444 发表于 2019-11-7 19:59:50

就是保留原图?

XTdwynij 发表于 2019-11-7 20:03:53

作用于和客户邮件对比,方便检查。

Andyhon 发表于 2019-11-7 20:34:53

图形!?
那类? 单纯的LINE/Circle/Arc/...or !??
byalyer/byblock?

您得先上样例(Dwg) ...

XTdwynij 发表于 2019-11-7 20:39:13

Andyhon 发表于 2019-11-7 20:34
图形!?
那类? 单纯的LINE/Circle/Arc/...or !??
byalyer/byblock?


就是寻常的线,圆,圆弧之类的。没有标注,没有块。谢谢长老的提醒了。

XTdwynij 发表于 2019-11-7 20:51:05

就是框选把线,圆,圆弧统一变成绿色。然后把变成绿色的图变成块。原先的图不动,只是把原先的图改变了颜色然后变块。

start4444 发表于 2019-11-8 12:06:26

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

XTdwynij 发表于 2019-11-8 13:00:23

start4444 发表于 2019-11-8 12:06
(defun c:tt5 ()
        (setq ss (ssget ))
        (command "CHANGE" ss "" "p" "c" 3 "")


看代码没毛病。但还有个问题,这样的话不就把原图改了嘛?原图可以不动它吗?这样对比好ok之后我直接删了块就可以出图了。劳烦大佬改下阔以吗?拜谢。

XTdwynij 发表于 2019-11-9 00:13:35

start4444 发表于 2019-11-8 12:06
(defun c:tt5 ()
        (setq ss (ssget ))
        (command "CHANGE" ss "" "p" "c" 3 "")


我还以为一次只能给一个呢。大佬有空时可以帮我改一下吗?

crtrccrt 发表于 2019-11-9 06:24:56

保留原图
(command "_.erase" ss "")去掉该行
页: [1] 2 3
查看完整版本: 框选图形全变成绿色,然后变成块。小问题