726613 发表于 2013-3-26 21:01:49

寻求《CAD窗口切换.lsp》

在CAD制图中打开多个窗口,是可以用CTRL+TAB来切换,但我觉得用组合键不够快。现本人需要lsp程序来切换,寻求程序高手指点如何编写。

Andyhon 发表于 2013-3-26 21:20:22

Autolisp 进场多年后才有多档模式
到了 Visual Lisp 仍未支援切换
也就是其效力仅及于启用它的工作档(ActiveDrawing / activedocument)
另 Ref: vla-activate ....

richine001 发表于 2013-3-26 22:15:00

同求,确实用CTRL+TAB来切换有点那个

Andyhon 发表于 2013-3-26 22:41:37

找个 iDwgTab2.0.0.5 试试合手否

xshrimp 发表于 2013-3-26 23:06:51

本帖最后由 xshrimp 于 2013-3-26 23:22 编辑

要使用需把这段放在自动加载的程序里面.如 acad.mnl里面

(defun c:test( / acdocs cdwgname doclist dwglst dwgname i val)
    (defun CurDwgList ( / acdocs doclist dwgname i)
      (setq acdocs (vlax-get-property (vlax-get-acad-object) 'Documents))
      (vlax-for i acdocs
        (setq dwgname (vlax-get-property i 'Name))
        (setq doclist (append doclist (list (list dwgname i))))   
      )
      (vlax-release-object acdocs)
       doclist
    )
    (setq dwglst (CurDwgList))
    (setq cdwgname (getvar "dwgname"))
    (if(setq val (cadr(member(assoc cdwgname dwglst)dwglst)))
      (vl-catch-all-apply 'vla-Activate (list (cadr val) ))
      (vl-catch-all-apply 'vla-Activate (list (cadardwglst)))
    )
)

richine001 发表于 2013-3-27 08:53:25

上面的代码还是没定义快捷键哈,不懂哈

自贡黄明儒 发表于 2013-3-27 12:20:37

好象G版用opendcl写了一个

richine001 发表于 2013-3-27 12:46:21

但是不能定义快捷键

jdlfjk 发表于 2013-3-28 13:23:33

把第一行的c:test中的test改成你的快捷键就行了嘛

richine001 发表于 2013-3-28 14:27:58

我意思是第一个窗口Alt+1,第er个窗口Alt+2,
页: [1] 2
查看完整版本: 寻求《CAD窗口切换.lsp》