明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 757|回复: 6

发个随机改颜色的代码——娱乐用

[复制链接]
发表于 2025-4-11 11:34:50 | 显示全部楼层 |阅读模式
本帖最后由 183017064 于 2025-4-29 14:29 编辑
  1. ;; 自定义颜色命令
  2. (defun c:C1 () (setcolor 6))     ; 洋红
  3. (defun c:C2 () (setcolor 1))     ; 红色
  4. (defun c:C3 () (setcolor 2))     ; 黄色
  5. (defun c:C4 () (setcolor 3))     ; 绿色
  6. (defun c:C5 () (setcolor 4))     ; 青色
  7. (defun c:C6 () (setcolor 5))     ; 蓝色
  8. (defun c:C7 () (setcolor 11))    ; 棕色
  9. (defun c:C8 () (setcolor 190))   ; 紫色
  10. (defun c:CC () (setcolor 256))   ; 随层


  11. ;;; ======================================================
  12. (defun setcolor (colorcode / color-palette color-name ss cnt ent)
  13.     ;; 颜色名称对照表
  14.     (setq color-palette
  15.         '(
  16.             (1 . "红色")     (2 . "黄色")     (3 . "绿色")
  17.             (4 . "青色")     (5 . "蓝色")     (6 . "洋红")
  18.             (11 . "棕色")    (190 . "紫色")   (256 . "随层")
  19.         )
  20.     )
  21.    
  22.     ;; 获取颜色名称
  23.     (setq color-name
  24.         (if (setq temp (assoc colorcode color-palette))
  25.             (cdr temp)
  26.             "未知颜色"
  27.         )
  28.     )
  29.    
  30.     ;; 显示颜色设置提示
  31.     (princ
  32.         (strcat
  33.             "\n当前颜色: "
  34.             color-name
  35.             " (代码 "
  36.             (itoa colorcode)
  37.             ")"
  38.         )
  39.     )
  40.    
  41.     ;; 实体选择
  42.     (if (setq ss (ssget))
  43.         (progn
  44.             (setq cnt 0)
  45.             (repeat (sslength ss)
  46.                 (setq ent (ssname ss cnt))
  47.                 (entmod
  48.                     (append
  49.                         (entget ent)
  50.                         (list (cons 62 colorcode))
  51.                     )
  52.                 )
  53.                 (setq cnt (1+ cnt))
  54.             )
  55.             ;; 显示修改结果
  56.             (princ
  57.                 (strcat
  58.                     "\n成功修改 "
  59.                     (itoa cnt)
  60.                     " 个实体颜色为 "
  61.                     color-name
  62.                 )
  63.             )
  64.         )
  65.         ;; 空选择提示
  66.         (princ "\n未选择任何实体,颜色已设置但未应用")
  67.     )
  68.     (princ) ; 静默退出
  69. )

  70. ;;; ======================================================
  71. (princ "\n颜色快捷命令加载成功 (C1-C8/CC)")
  72. (princ)

  1. (defun RandomColor (/ ent color-list) ; 随机颜色命令
  2.     (setq color-list '(
  3.         40    ;
  4.         201   ;
  5.         11    ;
  6.         110   ;
  7.         160   ;
  8.         212   ;
  9.     )) ; 预置颜色
  10.     (while (setq ent (car (entsel "\n选实体: ")))
  11.         (entmod            ; 关键修改语句
  12.             (append
  13.                 (entget ent)
  14.                 (list (cons 62 (nth (rem (getvar "MILLISECS") (length color-list)) color-list)))

  1. (defun RandomColorall (/ ent) ; 随机颜色命令
  2.     (while (setq ent (car (entsel "\n选实体: ")))
  3.         (entmod
  4.             (append
  5.                 (entget ent)
  6.                 (list (cons 62 (1+ (rem (getvar "MILLISECS") 255))))
  7.             )
  8.         )
  9.     )
  10.     (princ)
  11. )
作为一个子程序用,当选用一个元素作为基准的话,可以清楚的表达一下。实用性可有可无,添加一点制图的趣味性。(PS:个人认为)

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2025-4-11 15:29:19 | 显示全部楼层
都试了,前者在color-list中随机颜色,后者在1~255中随机颜色。
回复 支持 反对

使用道具 举报

发表于 2025-4-11 17:23:07 | 显示全部楼层
感谢大佬分享
回复 支持 反对

使用道具 举报

发表于 2025-4-12 09:04:47 | 显示全部楼层
感谢大佬分享
回复 支持 反对

使用道具 举报

发表于 2025-4-12 10:16:57 | 显示全部楼层
娱乐性,还能兼做入门学习用!
回复 支持 反对

使用道具 举报

发表于 2025-4-12 21:05:56 | 显示全部楼层
谢谢大佬分享
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-4-13 20:35:53 | 显示全部楼层
jkop 发表于 2025-4-12 10:16
娱乐性,还能兼做入门学习用!

我也没想那么多,就是想,当我们选择一个元素作为基准的时候,能不能清楚一点。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-4-30 14:35 , Processed in 0.181769 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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