如何通过输入数字快捷键快速修改布局视口中所选对象所在图层的视口颜色?


网友答: 试试这个,改变视口内所选物体的涂层颜色
  1. (defun c:TT5 (/ ss index lay ent ffg colour)
  2.   (setvar "cmdecho" 0)
  3.   (setq ffg (getvar "TILEMODE"))
  4.   (if (= ffg 0)
  5.     (progn
  6.       (command "_.MSPACE")
  7.       (prompt "\n请选择要改变颜色物体所在的图层<退出>:")
  8.       (setq ss (ssget))
  9.       (if (/= ss nil)
  10.     (progn
  11.       (setq index 0)
  12.       (setq colour (getint "请输入要变成的颜色号<1-255>例如:/ <9>:"))
  13.       (if (= colour nil)
  14.         (setq colour 9)
  15.       ) ;_ 结束if
  16.       (repeat (sslength ss)
  17.         (setq ent (ssname ss index))
  18.         (setq lay (cdr (assoc 8 (entget ent))))
  19.         (command "_.vplayer" "C" colour lay "" "")
  20.         (setq index (+ index 1))
  21.       );_ 结束repeat
  22.     );_ 结束progn
  23.     (progn
  24.       (princ "\n未选到物体。")
  25.     );_ 结束progn
  26.       );_ 结束if
  27.     );_ 结束progn
  28.     (progn
  29.       (princ "\n请转到图纸空间视口内再使用本命令。")
  30.     );_ 结束progn
  31.   );_ 结束if
  32.   (command "_.PSPACE")
  33.   (setvar "cmdecho" 1)
  34.   (princ)
  35. )


网友答: (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)
  )
)

网友答:
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
试试这个,改变视口内所选物体的涂层颜色

正确,就是这样的。谢谢
  • 上一篇:有没有好办法对动态图块块名用ssget选择过滤?
  • 下一篇:没有了