[阿然][阿然] 09:17:54
怎么给图元修改真彩色?
[阿然][阿然] 09:21:03
(setq color (vlax-create-object "AutoCAD.AcCmColor.19"))这个19应该是对应版本号吧?这个数字有没有办法获得?
[286168051]勤龙 09:22:00
,,,,
[vormittag]桔子 09:27:35
真彩色需要两个组码,62 和420
[caoyin][caoyin] 09:28:07
(atoi (getvar "AcadVer"))
[阿然][阿然] 09:28:10
桔子给举个例子吧
[vormittag]桔子 09:28:27
看高飞鸟的帖子。
[阿然][阿然] 09:28:52
谢谢曹老师
[仲文玉][仲文玉]wygjx 09:29:30
(atof (getvar "ACADVER"))
[soly2006]季鸟 09:29:51
这个更准,
[vormittag]桔子 09:31:07
[阿然][阿然] 09:31:21
多谢柚兄
[vormittag]桔子 09:31:53
[qqimg]oldimg/{F3710241-B851-5EA6-79E8-AAB91970A634}.gif[/qqimg]
[caoyin][caoyin] 09:32:07
[阿然][阿然] 09:32:56
420代表了rgb,那在有420的情况下,62代表什么?
[夏生生][x_s_s_1]生无可恋 09:40:07
62是必须有的,但值不是必要的
[阿然][阿然] 09:40:23
就是说无所谓取什么值?
[vormittag]桔子 09:41:42
不是的,两个值不配合是不行的。不信你把真彩色的图元改一下组码62试试,不会变颜色的。
[阿然][阿然] 09:42:48
那62和420怎么配合?高老师的函数只能算420,那有420的情况下,怎么算62?“
[夏生生][x_s_s_1]生无可恋 09:43:19
;;真彩色的含义
;;(+ (* BLUE 65536) (* GREEN 256) RED)
;;(+ (* 255 65536) (* 255 256) 255)=16777215
[夏生生][x_s_s_1]生无可恋 09:43:58
[qqimg]oldimg/{121ACCE2-B830-3421-928C-C9532D4E504B}.jpg[/qqimg]证明了62的值不是必须的
[阿然][阿然] 09:44:12
晕了
[caoyin][caoyin] 09:44:14
用vla吧
(defun c:tt (/ colobj obj)
(setq ColObj (vla-getinterfaceobject
(vlax-get-acad-object)
(strcat "AutoCAD.AcCmColor." (substr (getvar "AcadVer") 1 2))
)
Obj (vlax-ename->vla-object (car (entsel)))
)
(vla-SetRGB colObj 252 219 161)
(vla-put-TrueColor Obj colObj))
[阿然][阿然] 09:44:38
vla的我会了
[夏生生][x_s_s_1]生无可恋 09:44:52
(vla-SetRGB colObj 252 219 161)这个就比较直观
[caoyin][caoyin] 09:45:00
[vormittag]桔子 09:45:20
CAD索引色和RGB的对应关系我不清楚。
[caoyin][caoyin] 09:45:47
两者不一定可换算
只可近似模拟
[vormittag]桔子 09:46:20
是近似模拟,
[vormittag]桔子 09:46:50
但是如果两个数值不匹配,图元的颜色不会改变的。
[vormittag]桔子 09:47:40
很少用RGB,又不是画山水画,从没研究过。
[夏生生][x_s_s_1]生无可恋 09:48:14
我测试了修改62,对420无影响,且颜色不变
[vormittag]桔子 09:48:59
修改一下420呢?62是不是会自动更新?还是依然不变?
如果62能自动更新,那就无所谓了。
[夏生生][x_s_s_1]生无可恋 09:50:48
62自动更新
[阿然][阿然] 09:50:55
可以直接改420
62随便指定
[夏生生][x_s_s_1]生无可恋 09:51:10
不用去纠结62
[夏生生][x_s_s_1]生无可恋 09:51:41
这里不是麻烦的,麻烦的是填充的渐变色
[阿然][阿然] 09:56:25
恩,指定了420以后,可以不用纠结62的值,但是要有62 |