关于特性匹配和使用RGB颜色
不知道有没有办法在LISP里边用给定的RGB颜色去绘制一个东西,那怕一个点,或者把某个图元的颜色改为指定的RBG颜色?由于不爱读书,这个问题困扰我好久,最后实在没办法了,不得不先把RGB颜色给CECOLOR这个系统变量,随便画一个点构成特性匹配的源,接下来我去运行特性匹配,基本特性里边只选颜色后提前结束该命令。再接下来我把需要修改颜色的图元找出来构成一个选择集,再调用特性匹配命令,虽然变相的解决了问题,但实在不是个味,最头痛的是我不得不弹出的那个特性设置的对话框,不知道怎么才可以不让它弹出来,可以直接给特性匹配指定要匹配哪些特性?
可以试试420组码。
使用RGB的实体,在控制颜色的62组码后面会出现一个420组码,次数62组码就不起作用了,系统会自动分配,420组码是一个十进制数值,这个值就是RGB的十六进制值转换而来。
本帖最后由 llsheng_73 于 2013-3-30 11:25 编辑
ll_j 发表于 2013-3-30 09:59 static/image/common/back.gif
可以试试420组码。
使用RGB的实体,在控制颜色的62组码后面会出现一个420组码,次数62组码就不起作用了,系 ...
试了一下,确实很有用RGB:R,G,B里边的R,G,B这三个色值计算出那个十进制数实际上就是r*256*256+g*256+b不用去换算16进制再来算成十进制,算了半天才弄清楚这个关系
但是觉得matchprop命令后边有个"s"选项,不知道怎么样才可以在命令中不写那个”s“选项,却可以用别的方法指定要进行匹配的特性,比如想要只匹配颜色和线型,但又不想处它弹那个对话框出来,之所以这样想,个人总是觉得用一个matchprop命令去统一修改一大堆图元的几个指定的特性,可能比一个个图元去修改它们的各个特性所对应的组码来得要快
RGB只有在少数时候是用十进制表示的,多数时候是用十六进制表示为一个六位的字符串。
matchprop命令是个复杂的命令,那些设置选项似乎并没有什么变量可以单独设置,所以如果一定要用这个命令,也就没有好的方法解决这个对话框问题。
其实,多数情况下还是建议少用或不用cad的命令作为函数,有几个原因,其一是一些参数无法设置(就比如matchprop),其二是有些命令的参数数目受其他命令或变量控制(比如text和style),其三是使得程序的Undo处理复杂化。
如果注意程序的结构,使用其它函数来处理图元并不比使用命令来得慢,这是因为,命令同样要一个一个处理,只是这些过程看不见,而且,命令都有复杂的兼容性及容错处理,这些也是需要消耗时间的。 ll_j 发表于 2013-3-30 13:02
RGB只有在少数时候是用十进制表示的,多数时候是用十六进制表示为一个六位的字符串。
matchprop命令是个复 ...
行,能不用CAD命令我尽可能不用它了,谁知道它什么时候又把哪个命令改一下呢:-[
页:
[1]