明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3542|回复: 18

[求助]改颜色

  [复制链接]
发表于 2008-9-21 18:51:00 | 显示全部楼层 |阅读模式

 在坛子上搜了很多改颜色的贴子,看了很多,还是写不出改颜色的LSP程序来,特向各位请教!

改颜色有两个命令。一是用COMMAND的,另一个是VLA的。好像VLA运算速度快点吧。。不知是不是这样。望各位指教!

vla-get-color这个可以取得对象颜色。但我有一点不明白的,我用SSGET取得对象后,不能直接用vla-get-color取得对象颜色,会出错,WHY?

还有一个问题,如何对对象颜色与要改的颜色作一个对比?

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

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

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

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

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

也不知道如何让它循环?

回复 支持 1 反对 0

使用道具 举报

发表于 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 ...

大神 厉害
 楼主| 发表于 2008-9-21 19:57:00 | 显示全部楼层
没有人晓得啊?
 楼主| 发表于 2008-9-22 09:44:00 | 显示全部楼层

怎么这么久还没有人知道啊?

发表于 2008-9-22 09:57:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2008-9-22 12:30:00 | 显示全部楼层
楼主的大哥,要怎样才能对选集里的所有改颜色呢?
发表于 2008-9-22 16:00:00 | 显示全部楼层

;;; command并不一定慢!

(defun c:chColor (/ col ss n)
  (if (and (setq ss  (ssget))
           (setq col (acad_colordlg 7))
      )
    (repeat (setq n (sslength ss))
      (vla-put-color (vlax-ename->vla-object (ssname ss (setq n (1- n)))) col)
    )
  )
)

发表于 2008-9-22 16:02:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-9-22 20:08:00 | 显示全部楼层
acad_colordlg 7这句是什么意思呀
 楼主| 发表于 2008-9-22 22:23:00 | 显示全部楼层

谢谢6楼的大哥。我试试去。!

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

经过试用,楼主的程序是弹出CAD颜色对话框来选色的。
在对话框里,如果我按一下ESC键,就会返回NIL
不知能不能加入对ESC键的处理?就是如果按一下ESC键,会提示键入颜色号。
不知这样怎么实现?

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

本版积分规则

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

GMT+8, 2024-11-15 06:46 , Processed in 0.201104 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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