svorgodne 发表于 2022-7-5 18:25:55

在打开的图形之间切换

我需要切换到5之间的特定打开图纸。
 
我知道名字和路径
它已经打开了
 
我使用了VLA-ACTIVATE函数,但它打开了文件的一个副本,在末尾添加了冒号和一个数字。我运行该函数时,它会打开一个新的副本,增加冒号后面的数字。
 
有没有办法切换到当前AutoCAD任务中以前打开的特定图形,并在那里运行命令,然后返回调用该函数的文件?
 
提前感谢

Tharwat 发表于 2022-7-5 18:38:16

我使用键盘按钮通过按两个按钮Ctrl+tab逐步浏览图形

svorgodne 发表于 2022-7-5 18:44:07

是的。我以为我在考虑所有的可能性。我知道这是可能的。但这并不能解决我的问题。我正在寻找一个特定的例程,按照我解释的做,因为我想让事情自动进行。
 
无论如何谢谢你

Tharwat 发表于 2022-7-5 18:51:18

添加打开图形的完整名称,如代码所示。
 

(defun c:Test nil
(vlax-for doc (vla-get-Documents (vlax-get-acad-object))
   (if (eq (vla-get-fullname doc) <complete_path_of_opened_drawing> )
   (vla-put-windowstate doc acmax)
   (vla-put-windowstate doc acmin)
   )
)
(princ)
)
(vl-load-com)

svorgodne 发表于 2022-7-5 18:57:46

非常感谢,这正是我想要的
 
.-)

Tharwat 发表于 2022-7-5 19:05:03

杰出的不客气。

Argo 发表于 2022-7-5 19:10:30

你好
 
我试过使用这个代码,
 
它似乎在不打开图形的情况下最小化了两个窗口。知道为什么会这样吗。我正在文件名中使用\\

Tharwat 发表于 2022-7-5 19:14:28

 
 
如果在文件名上尝试findfile函数,它会返回什么?

Argo 发表于 2022-7-5 19:22:47

如果我在命令行中使用该行
 
与我输入的内容相同。
 
基本上我的代码是
 
(defun c:SwitchDWG nil
(vlax-for doc (vla-get-Documents (vlax-get-acad-object))
   (if (eq (vla-get-fullname doc) Default )
   (vla-put-windowstate doc acmax)
   (vla-put-windowstate doc acmin)
   )
)
(princ)
)
(vl-load-com)
 
默认切换到文件路径:\\USER\\TEST。dwg通过替换文本vba代码我在excel中有。我已确认加载时文件中存在路径,因为我在执行vba代码时逐步执行了该代码,并注意到autocad加载时路径在那里。
 
如果在我运行switchdwg列表时有帮助,我不会得到任何错误或任何东西,因此它看起来似乎在工作。

tombu 发表于 2022-7-5 19:32:18

尝试:
(defun SwitchDWG (drawing)
(vlax-for doc (vla-get-Documents (vlax-get-acad-object))
   (if (eq (vla-get-fullname doc) drawing )
   (vla-put-windowstate doc acmax)
   (vla-put-windowstate doc acmin)
   )
)
(princ)
)
(vl-load-com)

试试看
(SwitchDWG "S:\\USER\\TEST.dwg")
在功能区面板中,我有宏来打开和激活许多图形和模板。
例子:
5
 
我将SwitchWindows功能区菜单按钮添加到快速访问工具栏中,使打开的图形之间的切换变得尽可能容易。
页: [1]
查看完整版本: 在打开的图形之间切换