找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 869|回复: 1

[每日一码] 指定一个LAYOUT名字并激活它

[复制链接]

已领礼包: 19个

财富等级: 恭喜发财

发表于 2016-9-9 18:49:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 Lisphk 于 2016-9-9 18:52 编辑

  1. (vl-load-com)
  2. (defun currtab (lname / adoc acapp)
  3.   (or
  4.     acapp
  5.     (setq acapp (vlax-get-acad-object))
  6.   )
  7.   (or
  8.     adoc
  9.     (setq adoc (vla-get-activedocument acapp))
  10.   )
  11.   (if (not (vl-catch-all-error-p (setq res (vl-catch-all-apply
  12.                                                                (function
  13.                                                                          (lambda
  14.                                                                            ()
  15.                                                                            (vla-item
  16.                                                                                      (vla-get-layouts adoc) lname
  17.                                                                            )
  18.                                                                          )
  19.                                                                )
  20.                                            )
  21.                                  )
  22.            )
  23.       )
  24.     (progn
  25.       (vla-put-activelayout adoc (vla-item (vla-get-layouts adoc) lname))
  26.       t
  27.     )
  28.     nil
  29.   )
  30. )


  31. ;; Usage
  32. (defun c:tt (/ lname)                       
  33.   (if (/= "" (setq lname (getstring t "\nEnter layout name you want to set current: ")))
  34.     (if (not (currtab lname))
  35.       (alert "Layout does not exist")
  36.     )
  37.   )
  38.   (princ)
  39. )

下面代码,按空格,循环激活每个LAYOUT

  1. (defun c:tt (/ adoc)
  2.   (vl-load-com)
  3.   (setvar "TILEMODE" 1)
  4.   (vlax-for l (vla-get-layouts (setq adoc (vla-get-activedocument
  5.                                                                   (vlax-get-acad-object)
  6.                                           )
  7.                                )
  8.               ) (getkword (strcat "\nPress Spacebar for layout '"
  9.                                   (vla-get-name l) "' "
  10.                           )
  11.                 ) (vla-put-activelayout adoc l)
  12.   )                                       ; end vlax-for
  13.   (princ "\n<<< No more layouts, goodbuy... >>> ")
  14.   (princ)
  15. )



论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1094个

财富等级: 财源广进

发表于 2021-9-29 07:40:10 | 显示全部楼层
感谢分享指定一个LAYOUT名字并激活它
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-6-18 16:21 , Processed in 0.162557 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表