如何通过输入数字快捷键快速修改布局视口中所选对象所在图层的视口颜色?
网友答: 试试这个,改变视口内所选物体的涂层颜色
网友答:
(defun c:55(/ ent)
(setvar "PICKSTYLE" 0)
(if (null (tblsearch "LAYER" "Defpoints"))
(command "-LAYER" "M" "Defpoints" "" "" "")
)
(if (= (getvar "TILEMODE") 0)
(progn
(setq ss (ssget "x" (list '(0 . "VIEWPORT"))))
(command "_chprop" ss "" "c" "bylayer" "la" "Defpoints" "")
(command "-layer" "c" "55" "Defpoints" "s" "0" "")
)
(princ)
)
)网友答:
这么改不对,应该用vplayer命令只改视口内图层的显示颜色,而不是真把图元颜色给改了。网友答: 视口上面有冻结表呀.网友答:
没有明白,能否进一步说明网友答:
我是要修改颜色,任意颜色(0~255)网友答: imini工具箱有类似的功能,只不过是修改模型空间的图元网友答:
因为不打印图层默认为白色,又要显示出来,用颜色区分一下,为 不打印的网友答:
正确,就是这样的。
谢谢
网友答: 试试这个,改变视口内所选物体的涂层颜色

- (defun c:TT5 (/ ss index lay ent ffg colour)
- (setvar "cmdecho" 0)
- (setq ffg (getvar "TILEMODE"))
- (if (= ffg 0)
- (progn
- (command "_.MSPACE")
- (prompt "\n请选择要改变颜色物体所在的图层<退出>:")
- (setq ss (ssget))
- (if (/= ss nil)
- (progn
- (setq index 0)
- (setq colour (getint "请输入要变成的颜色号<1-255>例如:/ <9>:"))
- (if (= colour nil)
- (setq colour 9)
- ) ;_ 结束if
- (repeat (sslength ss)
- (setq ent (ssname ss index))
- (setq lay (cdr (assoc 8 (entget ent))))
- (command "_.vplayer" "C" colour lay "" "")
- (setq index (+ index 1))
- );_ 结束repeat
- );_ 结束progn
- (progn
- (princ "\n未选到物体。")
- );_ 结束progn
- );_ 结束if
- );_ 结束progn
- (progn
- (princ "\n请转到图纸空间视口内再使用本命令。")
- );_ 结束progn
- );_ 结束if
- (command "_.PSPACE")
- (setvar "cmdecho" 1)
- (princ)
- )
(setvar "PICKSTYLE" 0)
(if (null (tblsearch "LAYER" "Defpoints"))
(command "-LAYER" "M" "Defpoints" "" "" "")
)
(if (= (getvar "TILEMODE") 0)
(progn
(setq ss (ssget "x" (list '(0 . "VIEWPORT"))))
(command "_chprop" ss "" "c" "bylayer" "la" "Defpoints" "")
(command "-layer" "c" "55" "Defpoints" "s" "0" "")
)
(princ)
)
)网友答:
alexmai 发表于 2025-10-22 11:39
(defun c:55(/ ent)
(setvar "PICKSTYLE" 0)
(if (null (tblsearch "LAYER" "Defpoints"))
这么改不对,应该用vplayer命令只改视口内图层的显示颜色,而不是真把图元颜色给改了。网友答: 视口上面有冻结表呀.网友答:
你有种再说一遍 发表于 2024-5-12 14:35
视口上面有冻结表呀.
没有明白,能否进一步说明网友答:
你有种再说一遍 发表于 2024-5-12 14:35
视口上面有冻结表呀.
我是要修改颜色,任意颜色(0~255)网友答: imini工具箱有类似的功能,只不过是修改模型空间的图元网友答:
kozmosovia 发表于 2025-10-22 11:42
这么改不对,应该用vplayer命令只改视口内图层的显示颜色,而不是真把图元颜色给改了。
因为不打印图层默认为白色,又要显示出来,用颜色区分一下,为 不打印的网友答:
yyz123121 发表于 2025-10-23 14:34
试试这个,改变视口内所选物体的涂层颜色
正确,就是这样的。
谢谢