乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 9|回复: 9

[编程交流] 在打开的图形之间切换

[复制链接]

55

主题

118

帖子

65

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
273
发表于 2022-7-5 18:25:55 | 显示全部楼层 |阅读模式
我需要切换到5之间的特定打开图纸。
 
我知道名字和路径
它已经打开了
 
我使用了VLA-ACTIVATE函数,但它打开了文件的一个副本,在末尾添加了冒号和一个数字。我运行该函数时,它会打开一个新的副本,增加冒号后面的数字。
 
有没有办法切换到当前AutoCAD任务中以前打开的特定图形,并在那里运行命令,然后返回调用该函数的文件?
 
提前感谢
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 18:38:16 | 显示全部楼层
我使用键盘按钮通过按两个按钮Ctrl+tab逐步浏览图形
回复

使用道具 举报

55

主题

118

帖子

65

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
273
发表于 2022-7-5 18:44:07 | 显示全部楼层
是的。我以为我在考虑所有的可能性。我知道这是可能的。但这并不能解决我的问题。我正在寻找一个特定的例程,按照我解释的做,因为我想让事情自动进行。
 
无论如何谢谢你
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 18:51:18 | 显示全部楼层
添加打开图形的完整名称,如代码所示。
 
  1. (defun c:Test nil
  2. (vlax-for doc (vla-get-Documents (vlax-get-acad-object))
  3.    (if (eq (vla-get-fullname doc) [color=red]<complete_path_of_opened_drawing>[/color] )
  4.      (vla-put-windowstate doc acmax)
  5.      (vla-put-windowstate doc acmin)
  6.    )
  7. )
  8. (princ)
  9. )
  10. (vl-load-com)
回复

使用道具 举报

55

主题

118

帖子

65

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
273
发表于 2022-7-5 18:57:46 | 显示全部楼层
非常感谢,这正是我想要的
 
.-)
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 19:05:03 | 显示全部楼层
杰出的不客气。
回复

使用道具 举报

6

主题

24

帖子

18

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-5 19:10:30 | 显示全部楼层
你好
 
我试过使用这个代码,
 
它似乎在不打开图形的情况下最小化了两个窗口。知道为什么会这样吗。我正在文件名中使用\\
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 19:14:28 | 显示全部楼层
 
 
如果在文件名上尝试findfile函数,它会返回什么?
回复

使用道具 举报

6

主题

24

帖子

18

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-5 19:22:47 | 显示全部楼层
如果我在命令行中使用该行
 
与我输入的内容相同。
 
基本上我的代码是
 
  1. (defun c:SwitchDWG nil
  2. (vlax-for doc (vla-get-Documents (vlax-get-acad-object))
  3.    (if (eq (vla-get-fullname doc) Default )
  4.      (vla-put-windowstate doc acmax)
  5.      (vla-put-windowstate doc acmin)
  6.    )
  7. )
  8. (princ)
  9. )
  10. (vl-load-com)

 
默认切换到文件路径:\\USER\\TEST。dwg通过替换文本vba代码我在excel中有。我已确认加载时文件中存在路径,因为我在执行vba代码时逐步执行了该代码,并注意到autocad加载时路径在那里。
 
如果在我运行switchdwg列表时有帮助,我不会得到任何错误或任何东西,因此它看起来似乎在工作。
回复

使用道具 举报

17

主题

1274

帖子

25

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
260
发表于 2022-7-5 19:32:18 | 显示全部楼层
尝试:
  1. (defun SwitchDWG (drawing)
  2. (vlax-for doc (vla-get-Documents (vlax-get-acad-object))
  3.    (if (eq (vla-get-fullname doc) drawing )
  4.      (vla-put-windowstate doc acmax)
  5.      (vla-put-windowstate doc acmin)
  6.    )
  7. )
  8. (princ)
  9. )
  10. (vl-load-com)

试试看
  1. (SwitchDWG "S:\\USER\\TEST.dwg")

在功能区面板中,我有宏来打开和激活许多图形和模板。
例子:
  1. 5

 
我将SwitchWindows功能区菜单按钮添加到快速访问工具栏中,使打开的图形之间的切换变得尽可能容易。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-12 19:53 , Processed in 1.056074 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表