文件标签与布局标签 循环切换
本帖最后由 nyistjz 于 2022-10-20 19:08 编辑(setq *ACAD* (vlax-get-acad-object))
(setq *DOC* (vla-get-ActiveDocument *ACAD*))
(setq *docs* (vla-get-Documents *ACAD*))
(setq *MSPACE* (vla-get-ModelSpace *DOC*))
;循环切换标签
(defun c:tabup()(tab-loop "l"))
(defun c:tabdown()(tab-loop "r"))
(defun tab-loop (dir / len n obj tab tablist)
(vlax-for layout *docs*
(setq tablist (cons (list (vla-get-Name layout) layout) tablist))
)
(setq tablist (reverse tablist))
(setq tab (assoc (vla-get-Name *doc*) tablist))
(setq n (vl-position tab tablist))
(setq len (length tablist))
(setq n
(cond
((= dir "l")(if (= n 0)(setq n len))(1- n))
((= dir "r")(if (= n (1- len))(setq n -1))(1+ n))
(t nil)
)
)
(vla-activate (cadr (nth n tablist)))
)
;循环切换布局
(defun c:layoutup()(layout-loop "l"))
(defun c:layoutdown()(layout-loop "r"))
(defun layout-loop (dir / count layouts n tab tablist)
(setq layouts (vla-get-layouts *doc*))
(vlax-for layout layouts
(setq tablist (cons (vla-get-Name layout) tablist))
)
(setq tablist (reverse tablist))
(setq n (vl-position (getvar "ctab") tablist))
(setq count (vla-get-count layouts))
(cond
((= dir "l")
(if (= n 0)(setq n count))
(setq tab (nth (1- n) tablist))
)
((= dir "r")
(if (= n (1- count))(setq n -1))
(setq tab (nth (1+ n) tablist))
)
)
(setvar "CTAB" tab)
)
配合附件中的外挂功能键设置会更好用!
本帖最后由 xj6019 于 2022-10-22 19:30 编辑
nyistjz 发表于 2022-10-21 17:04
你这个找了很久没有找到,您可以共享出来吗 ?
论坛有牛逼的定义方式很得劲 可以研究一下
http://bbs.mjtd.com/thread-93319-1-1.html
用上面的方法可以直接把这四个分别定义给上下左右四个方向键,还是很好玩的,有兴趣的,仔细读读上面链接大佬的经验分享!!!
nyistjz 发表于 2022-10-21 17:04
你这个找了很久没有找到,您可以共享出来吗 ?
AutoHotKey就是一个游戏脚本插件,原理是用它的按键外挂改按键方式而已。本来按2-3次的按键,它一键搞定,前期设置有点麻烦。 xiangganglv 发表于 2022-10-20 15:09
知道怎么设置Tab快捷键吗?
理论上就是去cui文件里直接改,
因为键盘快捷键没有新增功能,复制的会跟之前的同步变化,只能牺牲掉1个默认的去改 感谢分享,收藏支持 感谢大佬分享,收藏 感谢大佬分享,收藏 大佬威武 感谢大佬分享! 感谢大佬分享,收藏 不错,配合键盘快捷键更好用 感谢大佬分享,收藏 菜卷鱼 发表于 2022-10-18 16:55
不错,配合键盘快捷键更好用
正解! 感谢分享,{:1_1:}
页:
[1]
2