明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1355|回复: 4

[讨论] 关于特性匹配和使用RGB颜色

[复制链接]
发表于 2013-3-30 02:09 | 显示全部楼层 |阅读模式
不知道有没有办法在LISP里边用给定的RGB颜色去绘制一个东西,那怕一个点,或者把某个图元的颜色改为指定的RBG颜色?
由于不爱读书,这个问题困扰我好久,最后实在没办法了,不得不先把RGB颜色给CECOLOR这个系统变量,随便画一个点构成特性匹配的源,接下来我去运行特性匹配,基本特性里边只选颜色后提前结束该命令。再接下来我把需要修改颜色的图元找出来构成一个选择集,再调用特性匹配命令,虽然变相的解决了问题,但实在不是个味,最头痛的是我不得不弹出的那个特性设置的对话框,不知道怎么才可以不让它弹出来,可以直接给特性匹配指定要匹配哪些特性?
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-3-30 09:59 | 显示全部楼层
可以试试420组码。
使用RGB的实体,在控制颜色的62组码后面会出现一个420组码,次数62组码就不起作用了,系统会自动分配,420组码是一个十进制数值,这个值就是RGB的十六进制值转换而来。
 楼主| 发表于 2013-3-30 11:12 | 显示全部楼层
本帖最后由 llsheng_73 于 2013-3-30 11:25 编辑
ll_j 发表于 2013-3-30 09:59
可以试试420组码。
使用RGB的实体,在控制颜色的62组码后面会出现一个420组码,次数62组码就不起作用了,系 ...

试了一下,确实很有用RGB:R,G,B里边的R,G,B这三个色值计算出那个十进制数实际上就是r*256*256+g*256+b不用去换算16进制再来算成十进制,算了半天才弄清楚这个关系

但是觉得matchprop命令后边有个"s"选项,不知道怎么样才可以在命令中不写那个”s“选项,却可以用别的方法指定要进行匹配的特性,比如想要只匹配颜色和线型,但又不想处它弹那个对话框出来,之所以这样想,个人总是觉得用一个matchprop命令去统一修改一大堆图元的几个指定的特性,可能比一个个图元去修改它们的各个特性所对应的组码来得要快
发表于 2013-3-30 13:02 | 显示全部楼层
RGB只有在少数时候是用十进制表示的,多数时候是用十六进制表示为一个六位的字符串。
matchprop命令是个复杂的命令,那些设置选项似乎并没有什么变量可以单独设置,所以如果一定要用这个命令,也就没有好的方法解决这个对话框问题。
其实,多数情况下还是建议少用或不用cad的命令作为函数,有几个原因,其一是一些参数无法设置(就比如matchprop),其二是有些命令的参数数目受其他命令或变量控制(比如text和style),其三是使得程序的Undo处理复杂化。
如果注意程序的结构,使用其它函数来处理图元并不比使用命令来得慢,这是因为,命令同样要一个一个处理,只是这些过程看不见,而且,命令都有复杂的兼容性及容错处理,这些也是需要消耗时间的。
 楼主| 发表于 2013-3-31 14:40 来自手机 | 显示全部楼层
ll_j 发表于 2013-3-30 13:02
RGB只有在少数时候是用十进制表示的,多数时候是用十六进制表示为一个六位的字符串。
matchprop命令是个复 ...

行,能不用CAD命令我尽可能不用它了,谁知道它什么时候又把哪个命令改一下呢:-[
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-3 02:23 , Processed in 0.130564 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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