只需一步,快速开始
在坛子上搜了很多改颜色的贴子,看了很多,还是写不出改颜色的LSP程序来,特向各位请教!
改颜色有两个命令。一是用COMMAND的,另一个是VLA的。好像VLA运算速度快点吧。。不知是不是这样。望各位指教!
vla-get-color这个可以取得对象颜色。但我有一点不明白的,我用SSGET取得对象后,不能直接用vla-get-color取得对象颜色,会出错,WHY?
还有一个问题,如何对对象颜色与要改的颜色作一个对比?
使用道具 举报
楼上的大哥,能不能让它不断循环,直到获得正确有效值数才跳出!
(<= 0 col 256)这句好像没作用!
应该对所输的进行判断。对负值和在0-256范围外的值进行拒绝!
(initget 4)加了这个可以拒绝负值,但0-256的不知道怎么判断?
也不知道如何让它循环?
caoyin 发表于 2008-9-22 16:00 ;;; command并不一定慢!(defun c:chColor (/ col ss n) (if (and (setq ss (ssget)) &nb ...
caoyin 发表于 2008-9-24 09:17 本帖最后由 作者 于 2008-9-24 12:48:25 编辑 (defun c:chColor (/ col ss n) (if &nbs ...
怎么这么久还没有人知道啊?
;;; 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) ) ))
谢谢6楼的大哥。我试试去。!
经过试用,楼主的程序是弹出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.