将图元改到00不打印图层
(DEFUN C:将图元改到00不打印图层 ()
; (princ "\nselect object:")
(setq 选择集 (ssget ));选择集的集合,其实是图元名集合
;改色值为1
;;(COMMAND "CHANGE" 选择集 "" "PROPERTIES" "C" "1" "")
;(setq hig 10)
;;(if (= hig nil) (setq hig 3.0))
(setq 新图层点对 (cons 8 "00不打印"))
(setq 图元总数 (sslength 选择集))
(setq 第几个 0 )
(while (< 第几个 图元总数)
(setq 图元名 (ssname 选择集 第几个))
(setq 图元组码 (entget 图元名))
; (setq 图元类型 (assoc '0 图元组码))
; (setq 图元类型 (cdr 图元类型))
; (if (= 图元类型 "TEXT")(progn
(setq 旧图层点对 (assoc '8 图元组码))
(setq 图元组码 (subst 新图层点对 旧图层点对 图元组码))
(entmod 图元组码)
; ))
(setq 第几个 (+ 第几个 1))
)
)
支持一下,辛苦了 挺好,半成品的 考虑不完整,没考虑块,不考虑块的没那么麻烦
(defun c:test (/ ss n)
(repeat (setq N (sslength (setq ss (ssget))))
(vla-put-layer
(vlax-ename->vla-object (ssname SS (setq N (1- N))))
"00不打印"
)
)
)
页:
[1]