请问cad如何保存当前图层锁定,冻结状态(但是不包含图层颜色)
请问lisp如何保存当前锁定,冻结状态(但是不包含图层颜色,线型)希望直接拖进去直接改一样的冻结锁定状态,
图纸图层一样,但是图纸颜色,线型不一样。
图层状态管理器 命令: layersettings或 layerstate
善用输入输出
本帖最后由 你有种再说一遍 于 2024-7-4 18:01 编辑
没啥好讨论的吧,做不就得了...你也没提问啊?
用vla-get遍历图层表,获取图层表记录,然后读取它的状态咯
然后vla-put设置咯
vitalgg 发表于 2024-7-4 19:24
图层状态管理器 命令: layersettings或 layerstate
善用输入输出
明白了谢谢。 你有种再说一遍 发表于 2024-7-4 17:59
没啥好讨论的吧,做不就得了...你也没提问啊?
用vla-get遍历图层表,获取图层表记录,然后读取它的状态咯
这是问ai的,但是代码提示语法错误,请问错在哪里?
(defun get-layer-states ()
;"获取所有图层的锁定状态"
(setq layer-states '())
(foreach layer (tblnames "LAYER")
(setq layer-states (cons (list layer (tblsearch "LAYER" layer) (getvar "CLAYER"))) layer-states))
layer-states
)
(defun restore-layer-states (layer-states)
;"恢复图层的锁定状态"
(foreach state layer-states
(setvar "CLAYER" (car state))
(command "_.LAYER" "_SET" (car state) "")
(command "_.LAYER" "_LOCK" (cadr state) "")
)
)
目前AI的lisp代码基本上是一种看起来不错,但仔细看一下,就问题一堆的状态。
页:
[1]