这个功能实际上不难,希望楼主能多自己研究下。
提供纯lisp的方法如下:
选图元改其所在图层的颜色,可为任意色。。。
;;;选图元改层色
(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)
)
zyhandw 发表于 2012-12-24 10:28
这个应该很简单吧,先试试这个是不是你要的!命令为lay2red
@尘缘一生 不好意思,好多年的小程序了,找不到源码了 尘缘一生 发表于 2018-6-29 10:33
选图元改其所在图层的颜色,可为任意色。。。
页:
1
[2]