54256 发表于 2013-8-11 17:07:27

如何改变指定层的颜色

目前我用了个笨办法

(command "-layer" "s" lay_name "c" lay_color "" "")

要改变当前的层,有没有好一点的方法

lsjj 发表于 2013-8-11 17:23:07

簡單明瞭,不好嗎?
還是因為用了command就代表笨方法?

54256 发表于 2013-8-11 18:51:03

第一个,速度有点慢
第二个,运行前要把当前层记下来,运行好后再改回去

54256 发表于 2013-8-11 19:40:21

第三个,对冻结对象没法操作

lsjj 发表于 2013-8-12 07:30:39

第一,慢?
第二,您沒掌握用法
第三,您確定?

54256 发表于 2013-8-12 08:32:16

lsjj 发表于 2013-8-12 07:30 static/image/common/back.gif
第一,慢?
第二,您沒掌握用法
第三,您確定?

我在a层,要改b、c、d……等层的颜色,目前的方法是设置当前层为b、c、d……等层,再改颜色,如果对象层是冻结的,则先解冻,再改色,但是当前层的话,就冻结不回去了,用entmod无法改变层的数据

七七0707 发表于 2013-8-12 08:37:17

本帖最后由 七七0707 于 2013-8-12 08:39 编辑

54256 发表于 2013-8-12 08:32 static/image/common/back.gif
我在a层,要改b、c、d……等层的颜色,目前的方法是设置当前层为b、c、d……等层,再改颜色,如果对象层是 ...
请参照第二条来!
(command "-layer""c"lay_color   lay_name"" "")

yfs719 发表于 2013-8-12 08:49:48

(command "layerP")

Andyhon 发表于 2013-8-12 09:01:16

...用entmod无法改变层的数据... !?
Ref:
http://forums.augi.com/showthread.php?91563-Help-with-this-color-change-LISP-routine

llsheng_73 发表于 2014-12-11 18:56:23

(entmod(append(vl-remove-if'(lambda(x)(=(car x)62))(entget(tblobjname"layer""1")))'((62 . 1))))
(entmod(subst'(62 . 1)(assoc 62(entget(tblobjname"layer""1")))(entget(tblobjname"layer""1"))))
页: [1]
查看完整版本: 如何改变指定层的颜色