选图元改其所在图层的颜色,可为任意色。。。
 - ;;;选图元改层色
- (defun c:test (/ en ent lay layent a c-num)
- (command "_.undo" "_begin")
- (setq en (car (entsel "\n选择要修改图层颜色的代表对象:")));_选择对象
- (setq ent (entget en));_对象图元表
- (setq lay (cdr (assoc 8 ent)));_获取对象图层名
- (setq layent (entget (tblobjname "LAYER" lay)));_获取图层图元表
- (if (setq a (assoc 340 layent)) ;_如果存在真彩色
- (setq layent (vl-remove a layent)) ;_删除真彩色表
- )
- (setq c_num(acad_colordlg 1 t))
- (setq layent (subst (cons 62 c_num) (assoc 62 layent) layent));_图层颜色改为目标色
- (entmod layent);_更新图层
- (entupd (cdr (assoc -1 layent)))
- (command "_.undo" "_end")
- (princ)
- )
|