- (defun c:asdf ( / s1 ss tt gr n layers color )
- (setq s1 (entsel "\n请选择参考层:"))
- (if s1
- (progn
- (setq ss (ssget (list (assoc 8 (entget (car s1))))))
- (if ss
- (progn
- (SSSETFIRST ss ss)
- (INITGET "c l")
- (setq gr (GETKWORD "\n请选择操作:改颜色(C),改图层名(L)..."))
- (cond
- ((or (= gr "c") (= gr "C"))
- (if (setq tt (getint "\n请输入修改的颜色:"))
- (repeat (setq n (sslength ss))
- (vla-put-color (vlax-ename->vla-object (ssname ss (setq n (1- n)))) tt)
- )
- )
- )
- ((or (= gr "L") (= gr "l"))
- (if (setq tt (getstring "\n请输入修改的图层名:"))
- (progn
- (setq layers (vla-get-layers (vla-get-ActiveDocument (vlax-get-acad-object))))
- (vlax-for n layers (if (= (vla-get-name n) (cdr (assoc 8 (entget (car s1))))) (setq color (vla-get-color n))))
- (if (null (TBLSEARCH "layer" tt)) (vla-put-color (vla-add (vla-get-layers (vla-get-ActiveDocument (vlax-get-acad-object))) tt) color))
- (repeat (setq n (sslength ss))
- (vla-put-layer (vlax-ename->vla-object (ssname ss (setq n (1- n)))) tt)
- )
- )
- )
- )
- )
- )
- )
- )
- )
- )
|