明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[求助]改颜色

  [复制链接]
发表于 2008-9-23 09:49:00 | 显示全部楼层

(defun c:chColor (/ col ss n)
  (if (and (setq ss  (ssget))
           (or (setq col (acad_colordlg 7))
               (and (setq col (getint "\n指定颜色索引号(0~256): "))
                    (<= 0 col 256)
               )
           )
      )
    (repeat (setq n (sslength ss))
      (vla-put-color (vlax-ename->vla-object (ssname ss (setq n (1- n)))) col)
    )
  )
  (princ)
)

 楼主| 发表于 2008-9-23 18:43:00 | 显示全部楼层

楼上的大哥,能不能让它不断循环,直到获得正确有效值数才跳出!

(<= 0 col 256)这句好像没作用!

应该对所输的进行判断。对负值和在0-256范围外的值进行拒绝!

(initget 4)加了这个可以拒绝负值,但0-256的不知道怎么判断?

也不知道如何让它循环?

回复 支持 1 反对 0

使用道具 举报

发表于 2008-9-24 09:17:00 | 显示全部楼层
本帖最后由 作者 于 2008-9-24 12:48:25 编辑

(defun c:chColor (/ col ss n)
  (if
    (and (setq ss (ssget))
         (progn
           (setq col (acad_colordlg 7))
           (while (not col)
             (if (setq col (getint "\n指定颜色索引号(0~256): "))
               (if (<= 0 col 256)
                 T
                 (progn (setq col nil) (princ "\n需要 0~256 的整数。"))
               )
             )
           )
           col
         )
    )
     (repeat (setq n (sslength ss))
       (vla-put-color
         (vlax-ename->vla-object (ssname ss (setq n (1- n))))
         col
       )
     )
  )
  (princ)
)
 楼主| 发表于 2008-9-24 12:09:00 | 显示全部楼层
谢谢CAOYIN。实在太历害了!
 楼主| 发表于 2008-9-24 12:38:00 | 显示全部楼层

刚刚认真测试了一下,还有一点小毛病。CAD颜色号好像没有小数点的吧?

不知怎么让它只接爱正整数呢?用INITGET可以不?

发表于 2008-9-24 12:50:00 | 显示全部楼层

不需要

(getint "\n指定颜色索引号(0~256): ") 你能得到小数???

 楼主| 发表于 2008-9-24 20:26:00 | 显示全部楼层

自已搞错了。谢谢CAOYIN!

发表于 2019-10-22 10:09:18 | 显示全部楼层
caoyin 发表于 2008-9-22 16:00
;;; command并不一定慢!(defun c:chColor (/ col ss n)&nbsp; (if (and (setq ss&nbsp; (ssget))&nbsp;&nb ...

请请教一下,选择对象为空时,不结束命令,而是直接弹出颜色选定窗口。怎么改啊?
发表于 2021-12-10 10:05:10 | 显示全部楼层
caoyin 发表于 2008-9-24 09:17
本帖最后由 作者 于 2008-9-24 12:48:25 编辑  (defun c:chColor (/ col ss n)&nbsp; (if&nbsp;&nbsp;&nbs ...

大神 厉害
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 07:03 , Processed in 0.167511 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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