Lee Mac 发表于 2022-7-6 12:36:32

沃尔夫冈,
 
如果纯粹想通过选择对象冻结层,可以采用以下两种方法:
 
5
显然,也可以进行检查,以说明所选层是否为当前层,但这给了您想法。
 
此外,请记住,还有现有的“layfrz”命令。
 

wkplan 发表于 2022-7-6 12:38:57

 
哎呀,我没有想到express工具。。。
 
李,谢谢你抽出时间!
正如Ipseifert所注意到的那样,您在#7中的建议不适用于我,layerstate getnames不适用于acad2009之前的版本。
 
您向我展示的两种方法比我的命令方法maybee优雅一点,我发现了vla put freeze部分,但对于舒尔,我从未想过更改层组码#70!
(看起来很奇怪,使用entmod冻结层)
 
对我来说,不需要检查所选对象是否在当前层:这只会发送到一个简单的控制台消息,但程序仍在循环中。
 
无论如何,我把这当成了一堂学习课,而不是浪费时间。
 
当做
沃尔夫冈

Lee Mac 发表于 2022-7-6 12:42:36

不客气,沃尔夫冈
 
大多数内容可以使用DXF数据或通过Visual LISP进行修改-图层、视图、打印样式都有各自的DXF数据,以及等效的Visual LISP属性和方法。
 
在层的情况下,70组DXF代码是位编码的,因此我们必须使用LOGOR和logand等函数来修改其值。
 
作为一个更好的例子,下面是Stig Madsen的一篇好文章:
 
7
页: 1 [2]
查看完整版本: 如何访问Layerstatus