freddy0663 发表于 2022-7-6 06:30:10

冻结除curre之外的所有层

我是新来的论坛。。。并一直在搜索一个lisp例程,该例程将冻结模型空间(无图纸空间)上的所有层(当前除外),并恢复以前的状态(无解冻所有层),
对不起我的英语
提前感谢

Tharwat 发表于 2022-7-6 06:37:14

将其放入命令行并按enter键。
 

(command "_.-layer" "freeze" "*" "")

Tiger 发表于 2022-7-6 06:42:20

使用LAYISO和LAYUNISO命令进行恢复怎么样?

BlackBox 发表于 2022-7-6 06:47:41

 
首先,欢迎来到CADTutor,freddy0663。
 
我认为你把层和实体混淆了。。。实体存在于模型和图纸(布局)空间中,而图层存在于图层集合/字典对象中(在图形的数据库中),而不是在“选项卡”本身上。

freddy0663 发表于 2022-7-6 06:50:44

介绍
 
对不起,我在学校学过法语。和帮助我的英语语言与互联网翻译(幸运),并拖放从另一个线程。
 
然而,这个问题并没有阻止我。我太喜欢mutch Lisp代码和Autocad程序了。
 
我用李的套路,叫做Fa。lsp(自2010年起)附于下文。
第一个命令冻结除当前层以外的所有层,第二个命令解冻所有层。
 
我搜索类似的lisp以恢复层的相同Previous状态(某些层必须像以前一样冻结)
 
谢谢
冻结所有。lsp

freddy0663 发表于 2022-7-6 06:56:49

至ad
 
我的工作非常多的状态层变化,所以我需要一个快速的工作lisp。

Lee Mac 发表于 2022-7-6 07:01:21

尝试以下两个命令:
 
(defun c:frz ( / d n )
   (while (setq d (tblnext "LAYER" (null d)))
       (if
         (and
               (zerop (logand 1 (cdr (assoc 70 d))))
               (not (member (setq n (cdr (assoc 2 d))) *thaw-list*))
         )
         (setq *thaw-list* (cons n *thaw-list*))
       )
   )
   (command "_.-layer" "_F" "*" "")
   (princ)
)

(defun c:unfrz ( )
   (if *thaw-list*
       (command "_.-layer" "_T"
         (apply 'strcat (mapcar '(lambda ( x ) (strcat "," x)) *thaw-list*))
         ""
       )
   )
   (setq *thaw-list* nil)
   (princ)
)键入frz冻结除当前层外的所有层,键入unfrz恢复以前的状态。

freddy0663 发表于 2022-7-6 07:07:30

谢谢李先生
 
工作完美。
 
非常感谢。
 
永远感谢所有人

Lee Mac 发表于 2022-7-6 07:10:17

不客气,弗雷迪

freddy0663 发表于 2022-7-6 07:16:20

很抱歉
 
我最衷心的感谢你们所有人。
页: [1] 2
查看完整版本: 冻结除curre之外的所有层