brbright 发表于 2015-4-23 14:52:50

[详细注释]使用CTAB系统变量和layoutlist函数完成模型、布局空间切换

本帖最后由 brbright 于 2015-4-23 14:56 编辑

源码我是从国外的论坛找到的,注释是我个人编写的,在这里和大家一起分享。

;;;;使用CTAB系统变量和layoutlist函数完成模型、布局空间切换

;;;;以所有布局(layout)空间中的视窗全锁全开为例
;;--------------------------------------------------------

;;视窗全锁MVLO
(defun c:MVLO (/ THISTAB VPLST)
;;储存当前空间名,若为模型空间,返回"Model"。
;;用于程序结束时返回当前空间。
(setq THISTAB (getvar "CTAB"))
;;使用layoutlis函数返回所有布局名称列表,然后使用foreach对每一个布局(储存在LAYOUT变量)进行操作
(foreach LAYOUT (layoutlist)
    ;;切换布局,分别切换每一个布局名
    (setvar "CTAB" LAYOUT)
    ;;获得切换后布局中所有的视窗
    (setq vplst (ssget "x" (list (cons 0 "viewport"))))
    ;;调用mview命令锁定所有视窗
    (command "mview" "LOCK" "on" VPLST "")
)
;;返回程序开始前的空间。
(setvar "CTAB" THISTAB)
(princ)
)

;;视窗全开MVUL
;;程序注释请参照MVLO,仅调用mview时有变化
(defun c:MVU (/ THISTAB VPLST)
(setq THISTAB (getvar "CTAB"))
(foreach LAYOUT (layoutlist)
    (setvar "CTAB" LAYOUT)
    (setq vplst (ssget "x" (list (cons 0 "viewport"))))
    (command "mview" "LOCK" "off" VPLST "")
)
(setvar "CTAB" THISTAB)
(princ)
)

USER2128 发表于 2015-4-24 07:53:19

支持楼主!!!

aihuyujian 发表于 2015-4-24 12:11:54

不知道具体有什么作用

donghuidong2003 发表于 2015-4-24 12:20:28

支持源码

dingtiedt 发表于 2015-7-27 21:20:33

大力支持!!!!

练习 发表于 2020-11-20 15:13:40

感谢源码,急需呀!

zst1978 发表于 2022-9-27 22:43:17

谢谢大神啊

cchessbd 发表于 2022-11-18 07:45:11

感谢感谢,太方便了!

LuckyClover 发表于 2023-4-28 19:40:15

牛的,感谢大表哥分享
页: [1]
查看完整版本: [详细注释]使用CTAB系统变量和layoutlist函数完成模型、布局空间切换