想求助一下,怎么提取图层颜色
本帖最后由 WWYYBB1015 于 2019-7-6 10:10 编辑vla-get-color 的函数介绍说,属性适用的对象为:所有Drawing对象, AttributeRef,Group.为啥图层名不行
还是说,图层名只是字符串,不代表图层,还望知道的指点一下.
代码如下:
(setq obj (vlax-ename->vla-object (car (entsel))))
(setq obj_col (vla-get-color obj))
(if (= obj_col 256)
(setq obj_color (vla-get-color (vla-get-layer obj)))
(setq obj_color obj_col)
)
(assoc 62(entget(tblobjname "LAYER" "剖面线"))) LPACMQ 发表于 2019-7-6 10:30
(assoc 62(entget(tblobjname "LAYER" "剖面线")))
好的,我试一下
刚才查到,vla-item layobj lay 可以把图层改为VL图层名,这个也许也行 LPACMQ 发表于 2019-7-6 10:30
(assoc 62(entget(tblobjname "LAYER" "剖面线")))
可以了,谢谢,要仔细理解一下tblobjname这个函数了 (setq obj (vlax-ename->vla-object (car (entsel))))
(cdr (assoc 62 (tblsearch "layer" (VLA-GET-LAYER OBJ)))) 本帖最后由 USER2128 于 2019-7-6 10:57 编辑
;;;用这个简单些
(setq ent (tblobjname "layer"(cdr (assoc 8 (entget (car (entsel)))))))
(setq color (vla-get-color (vlax-ename->vla-object ent)))
Andyhon 发表于 2019-7-6 10:40
(setq obj (vlax-ename->vla-object (car (entsel))))
(cdr (assoc 62 (tblsearch "layer" (VLA-GET-LAYER ...
谢谢,突然觉得tblsearch 等价于 tblobjname获得的图元然后用entget提取 USER2128 发表于 2019-7-6 10:41
;;; 提取对象所在图层的颜色
谢谢鼓励,我是想做个按层显示隐藏的插件,目前用的钢结构工具箱,想只要其中的这个功能,目前还在研究中 WWYYBB1015 发表于 2019-7-6 10:48
谢谢,突然觉得tblsearch 等价于 tblobjname获得的图元然后用entget提取
好的,谢谢提示
页:
[1]