ftmm 发表于 2024-7-4 17:29:42

请问cad如何保存当前图层锁定,冻结状态(但是不包含图层颜色)

请问lisp如何保存当前锁定,冻结状态(但是不包含图层颜色,线型)

希望直接拖进去直接改一样的冻结锁定状态,
图纸图层一样,但是图纸颜色,线型不一样。

vitalgg 发表于 2024-7-4 19:24:07


图层状态管理器 命令: layersettings或 layerstate
善用输入输出


你有种再说一遍 发表于 2024-7-4 17:59:40

本帖最后由 你有种再说一遍 于 2024-7-4 18:01 编辑

没啥好讨论的吧,做不就得了...你也没提问啊?
用vla-get遍历图层表,获取图层表记录,然后读取它的状态咯

然后vla-put设置咯

ftmm 发表于 2024-7-5 09:16:50

vitalgg 发表于 2024-7-4 19:24
图层状态管理器 命令: layersettings或 layerstate
善用输入输出

明白了谢谢。

ftmm 发表于 2024-7-5 09:29:59

你有种再说一遍 发表于 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) "")
)
)

e2002 发表于 2024-7-5 14:37:16

目前AI的lisp代码基本上是一种看起来不错,但仔细看一下,就问题一堆的状态。
页: [1]
查看完整版本: 请问cad如何保存当前图层锁定,冻结状态(但是不包含图层颜色)