属性刷怎么能判断多重属性块之类?
本帖最后由 cq4920 于 2020-11-5 19:59 编辑(defun c:DA (/ aa bb ss objlay n)
(vl-load-com)
(setq aa (nentsel "选取源图元或:<源图层>"))
(if (= nil (type aa))
(progn;;修改图元图层
(setq aa (nentsel "选取源图层上的一个图元:"))
(setq bb (nentsel "选取被修改图层上的一个图元:"))
(setq en1(entget(car aa)))
(setq en2(entget(car bb)))
(command "_.change" (ssget "x" (list (cons 8 (cdr(assoc 8 en2 ))))) "" "p" "la" (cdr(assoc 8 en1 )) "")
)
(progn
(setq ss (mc-ssget (strcat "\n选取被修改图元特性或:<图层>") "S" '((0 . "*"))))
;(setq ss (ssget))
(if (= nil (type ss))
(progn;;修改图元图层
(setq ss (mc-ssget (strcat "\n选取被修改图层的图元") "S" '((0 . "*"))))
(setq objlay (vla-get-layer (vlax-ename->vla-object (car aa))))
(setq n 0)
(while (< n (sslength ss))
(vla-put-layer (vlax-ename->vla-object (ssname ss n)) objlay)
(setq n (1+ n))
)
)
(command "MATCHPROP"aa ss "");;修改图元特性
))
)
(princ)
)
在选取到特殊块的时候,提示错误,如合能过滤特殊块 或直接提示不可选取块
页:
[1]