ReMark 发表于 2022-7-6 23:57:39

虽然它们可以执行相同的操作,但它们的书写方式不同,这就解释了两者之间的差异之一。
 
您熟悉在宏中使用下划线、分号、星号和反斜杠等特殊字符吗?

tombu 发表于 2022-7-7 00:02:28

 
在命令行上,请注意,“LOck”中突出显示的“LO”之所以大写是有原因的。尝试:
^C^C-layer LO

^C^C-layer LOck
由于可以通过多种方式选择层命令的选项,包括在命令行上用鼠标拾取选项或从选项列表中选择选项,因此我只有宏
这很方便。

ReMark 发表于 2022-7-7 00:06:44

我怀疑宏中的“lo”实际上必须是大写的,因为在命令行中用小写字母输入确实有效。
 
例如,下面的宏用于冻结除当前层外的所有层,使用小写“f”进行冻结效果很好。
 
^c^c_层;f、 *;;

samifox 发表于 2022-7-7 00:08:07

简单地说
 
命令:-图层LO(enter)(enter)效果很好
宏:^C^C--层LO(空格)(空格)不工作

ReMark 发表于 2022-7-7 00:10:17

这是正确的。有些命令在命令函数中无法像在命令行中那样工作。我不知道为什么会这样。
 
为什么不直接使用“图层隔离”命令?
 
或者这个lisp例程由论坛成员斯特凡BMR。。。
 

 
锁定除当前层外的所有层。

samifox 发表于 2022-7-7 00:16:11

隔离将锁定未选择的层,而我需要执行相反的操作

tombu 发表于 2022-7-7 00:18:12

 
尝试删除^C^C,这可能会取消选择。对不起,我没有测试这些,只是猜测!
-layer LOck

ReMark 发表于 2022-7-7 00:20:51

^C^C取消任何当前正在运行的命令。我怀疑它会取消在提示用户选择对象时使用窗口作为选项的功能。

samifox 发表于 2022-7-7 00:24:12

 
不,不是。在命令行中键入与在宏中执行不同,
autocad认为
-layer LOck在宏结束后终止,而其未终止。

tombu 发表于 2022-7-7 00:26:49

在选定行上测试此宏:
它将锁定预选对象的层。
页: 1 [2]
查看完整版本: 脚本中的命令表现为dif