锁定除当前层外的所有层
你好我搜索了一个autolisp,它可以锁定除我正在使用的当前层之外的所有层,但我找不到。
现在我必须锁定所有层,然后通过单击当前层的对象来解锁该层。
如果可以的话,请你帮我写一封。
非常感谢你。 看一看
(defun C:LOCKALL (/ cmdecho)
(setq cmdecho (getvar 'cmdecho))
(setvar 'cmdecho 0)
(command "_.-LAYER" "_LOck" "*" "_Unlock" (getvar "CLAYER") "")
(setvar 'cmdecho cmdecho)
(princ)
)
(defun C:UNLOCKALL (/ cmdecho)
(setq cmdecho (getvar 'cmdecho))
(setvar 'cmdecho 0)
(command "_.-LAYER" "_Unlock" "*" "")
(setvar 'cmdecho cmdecho)
(princ)
) 它工作得很好。
谢谢你,斯特凡。 一些版本要求验证以锁定当前层
所以也许:
(command "_.LAYER" "_LOck" (strcat "~" (getvar "CLAYER")) "")
-大卫 谢谢你,大卫,我会把这段代码放在手边以备将来使用。 为什么不直接使用layiso? 因为我需要使用那里的所有层在它们上面绘制道路红线描述。
这就是layiso的[锁定和淡入]设置的目的。用lisp做这件事没什么错,AutoCAD的优点是至少有三种方法可以做任何事情。
这在很多方面都是好的和坏的
实际上,我更喜欢layiso方法,因为淡入淡出,但我认为您也可以通过锁定层来实现这一点。
页:
[1]