ReMark 发表于 2022-7-6 07:46:42

对打开/关闭图层的选项出现在多个位置。

Tharwat 发表于 2022-7-6 07:50:39

我的第一篇帖子对你来说仍然有效,你可能需要了解一点Autolisp,知道如何以你想要的正确方式处理它们

BlackBox 发表于 2022-7-6 07:51:10

也许OP对对象反应器提供的功能感兴趣(只是不太知道该要求什么),例如,如果它被锁定(一旦加载),这将允许近乎即时的层解锁。
 
无论是在绘图打开时加载,还是通过“打开”命令调用,都可以指定所需的层(通过选择或文本字符串输入),并为每个层启动一个对象反应器,从而防止更改层的锁定状态(读取立即在反应器加载时恢复原始锁定状态)。
 
可以通过包含的“关闭”命令禁用此功能。
 
... 只是一个猜测。

ReMark 发表于 2022-7-6 07:54:51

为什么这个功能如此重要?似乎不寻常。

rodrigo_sjc_sp 发表于 2022-7-6 07:59:21

Tharwat,可以更改代码使图层始终处于打开状态吗?

Tharwat 发表于 2022-7-6 08:02:55

 
在以下彩色字符串(蓝色)中添加所需的层名称。
 

(defun c:layer-on (/ layername e)
;;; Tharwat 05. Nov. 2012 ;;;
(setq layername "Layer")
(if (and (tblsearch "LAYER" layername)
          (minusp
            (cdr
            (assoc 62
                     (setq e (entget (tblobjname "LAYER" layername)))
            )
            )
          )
   )
   (entmod
   (subst
       (cons
         62
         (abs (cdr (assoc 62 e)))
       )
       (assoc 62 e)
       e
   )
   )
   (princ "\n layer is already ON .")
)
(princ)
)

ReMark 发表于 2022-7-6 08:05:32

如何防止某人借用lisp例程并将图层状态更改为Off?有志者事竟成。

rodrigo_sjc_sp 发表于 2022-7-6 08:08:09

谢谢你,塔瓦:D

Tharwat 发表于 2022-7-6 08:12:43

 
并非所有时候逻辑思想都能带来更好的技巧,尽管这里没有什么独特之处。
 
 
随时欢迎你

BlackBox 发表于 2022-7-6 08:13:21


(defun c:FOO () (command "._-layer" "on"))
页: 1 [2]
查看完整版本: 如何阻止“打开图层”