Ming131564 发表于 2023-1-18 13:45:51

请问大神、怎么获取到视口内所有未冻结图层的集合啊

Nico 发表于 2023-4-18 21:19:43

这个好 正是想要的功能

ferious 发表于 2023-4-20 16:56:49

感谢,效果如动图,不过好像用不了?能帮忙搞好?

magicheno 发表于 2023-8-25 00:17:35

flowerson 发表于 2019-10-9 14:42
用LWPOLYLINE来做视口的怎么办?

我也遇到这个问题了,好多是LWPOLYLINE做的视口,没法解决呢

magicheno 发表于 2023-11-12 23:38:50

大佬这个图层表可以支持通配符么

jkop 发表于 2024-5-6 18:13:26

用于解冻视口图层,刚好有需要。

小毛草 发表于 2024-5-10 10:34:59

;;;按功能在指定视口中冻结特定图层
(defun C:DDT (/ DjKeyN DjKey VP)
(princ "\n*** 选择视口前,请保持视口中有效图层开启 ***")
(if (= (getvar "tilemode") 0)
    (progn
      (initget 7 "1 2 3 4")
      (setq Key (getkword "\n需要设置的视口功能: 1-平面布置图 / 2-地面铺装平面图 / 3-天花布置平面图 / 4-立面图"))
      (cond
      ((= Key "1") (setq DjKey "*0-TF-*,*0-DM-*,*FC-Hatch*")) ;_平面布置图
      ((= Key "2") (setq DjKey "*0-TF-*,*0-PM-固定家具*,*DOOR-NAME*,*PUB_TEXT*,*DOOR*,*LVTRY*,*DOOR-NAME*,*PUB_HATCH*,*PUB_SYMB*,*AREA*,*PUB_SYMB*,*WINDOW_GROUND*,*DOTE*")) ;_地面铺装平面图
      ((= Key "3") (setq DjKey "*0-DM-*,*0-PM-固定家具*,*DOOR-NAME*,*PUB_TEXT*,*stair*,*DOOR*,*LVTRY*,*DOOR-NAME*,*PUB_HATCH*,*PUB_SYMB*,*AREA*,*WINDOW_GROUND*,*DOTE*,*FC-Hatch*")) ;_天花布置平面图
      ((= Key "4") (setq DjKey "*填充*,*HATCH*,*ELEV*,*IDEN*,*LEAD*,*SYMB*")) ;_立面图
      )
      (if (setq VP (entsel "\n选择要冻结图层的视口:"))
(FreezLayInVPCmd (car VP) DjKey)
      )
    )
    (princ "\n该命令仅允许在布局空间有效运行!")
)
(princ)
)
;;;支持通配符
(defun FreezLayInVPCmd (Ven Lst / ENT)
(if (and (= (getvar "tilemode") 0) (= (getvar "cvport") 1)) ;_判断鼠标是否在布局空间
    (progn
      (setq ENT (cdr (assoc 69 (entget Ven))))
      (command "_.MSPACE") ;_切换到模型空间
      (setvar "cvport" ENT)
      (command "_.vplayer" "F" LST "" "") ;_在模型空间中操作,冻结
      (command "_PSPACE") ;_切换到布局空间
    )
    (princ "\n*** 该命令仅允许在布局空间有效运行,请将鼠标切换到布局空间 ***")
)
)
页: 1 [2]
查看完整版本: [源码] 获取指定视口中冻结的图层列表