明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: cj52000

[讨论] 如何快速更改图形颜色(随机显示)?

[复制链接]
发表于 2022-12-14 12:09 | 显示全部楼层

图层数量不能超过256

  1. (defun c:tt(/ ss i col aobj b e )
  2. (vl-load-com)
  3.   (tblnext "layer" t )
  4.   (setq  laycol 1 ent (ssget))
  5.   (command "change" ent "" "p" "c" "bylayer" "")
  6. (while
  7.   (setq enda (tblnext "layer" ))
  8.   (setq layer (cdadr ENDA))  
  9.         (N5-changelayercolor layer laycol )     
  10.   (setq    laycol (+ 1 laycol))
  11.   (princ )        
  12. )
  13. )

  14. (DEFUN N5-changelayercolor(layer co)
  15.     (vla-put-color (vla-Item (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) layer) co)
  16.     )


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2022-12-15 13:35 | 显示全部楼层
cq4920 发表于 2022-12-13 21:45
对本身没有定义颜色的图元需要加一个判断,如果一般都没颜色定义,那就干脆直接在表中添加(62 . 颜色) ...

"对本身没有定义颜色的图元需要加一个判断"是不必要的,完全可以不管图元本来有没有62组,也不需要替换,直接append到后边就行了,但不是所有组都可以这么搞
(entmod(append(entget  e)'((62 . 1))))
发表于 2023-3-25 04:36 | 显示全部楼层
支持下不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-2 16:08 , Processed in 0.890922 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表