[求助]改颜色
<p> 在坛子上搜了很多改颜色的贴子,看了很多,还是写不出改颜色的LSP程序来,特向各位请教!</p><p>改颜色有两个命令。一是用COMMAND的,另一个是VLA的。好像VLA运算速度快点吧。。不知是不是这样。望各位指教!</p><p>vla-get-color这个可以取得对象颜色。但我有一点不明白的,我用SSGET取得对象后,不能直接用vla-get-color取得对象颜色,会出错,WHY?</p><p>还有一个问题,如何对对象颜色与要改的颜色作一个对比?</p> <p>楼上的大哥,能不能让它不断循环,直到获得正确有效值数才跳出!</p><p>(<= 0 col 256)这句好像没作用!</p><p>应该对所输的进行判断。对负值和在0-256范围外的值进行拒绝!</p><p>(initget 4)加了这个可以拒绝负值,但0-256的不知道怎么判断?</p><p>也不知道如何让它循环?</p> 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 ...
大神 厉害:handshake 没有人晓得啊? <p>怎么这么久还没有人知道啊?</p> 楼主的大哥,要怎样才能对选集里的所有改颜色呢? <p>;;; command并不一定慢!</p><p>(defun c:chColor (/ col ss n)<br/> (if (and (setq ss (ssget))<br/> (setq col (acad_colordlg 7))<br/> )<br/> (repeat (setq n (sslength ss))<br/> (vla-put-color (vlax-ename->vla-object (ssname ss (setq n (1- n)))) col)<br/> )<br/> )<br/>)</p> acad_colordlg 7这句是什么意思呀 <p>谢谢6楼的大哥。我试试去。!</p> <p>经过试用,楼主的程序是弹出CAD颜色对话框来选色的。<br/>在对话框里,如果我按一下ESC键,就会返回NIL<br/>不知能不能加入对ESC键的处理?就是如果按一下ESC键,会提示键入颜色号。<br/>不知这样怎么实现?</p>
页:
[1]
2