乐筑天下

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

[编程交流] 在VB中保存图形。网

[复制链接]

48

主题

1073

帖子

1043

银币

后起之秀

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

铜币
238
发表于 2022-7-6 22:20:58 | 显示全部楼层 |阅读模式
我们的图形使用递增数字命名。
 
我有一个VBA例程,它打开下一个连续图形,首先增加图纸编号,直到找到最后一张图纸,然后在将图纸重置为0后打开下一个序列号。当我构造文件名并通过SendCommand将其提供给AutoCAD时,所有这些都在VBA中运行良好。如果存在下一个文件,则打开图形而不显示对话框,如果不存在,则显示“打开文件”对话框。其优点是,在实际打开下一个文件或显示对话框之前,AutoCAD会处理所有“是否要保存更改”位。
 
现在我将这个例程转移到VB。网有没有等效的SendCommand,或者我必须从头开始构建一切?如果我必须构建所有内容,我如何打开一个我知道存在的文件而不使用对话框?最后,现在,检查图纸是否已更改的最佳方法是什么。检查DBMOD=0仍然是最好的方法吗?
回复

使用道具 举报

29

主题

519

帖子

477

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-6 22:27:39 | 显示全部楼层
我正要去度周末,但你可以试试“…使用SendCommand方法,它是AcadApplication的ActiveDocument属性的一个成员。”摘自Autodesk免费下载的《AutoCAD.NET开发者指南》。
 
祝你周末愉快。
 
B
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 22:30:21 | 显示全部楼层
 
这个VBA的(COM的)SendCommand()的NET等价物是Document。SendStringToExecute()。。。从文档中可以看出这一点:访问AutoCAD命令行
 
但是,您仍然可以使用VB中的COM。NET,因此如果愿意,您仍然可以调用SendCommand()。上面的链接应该有助于澄清差异。
 
打开图形(使用.NET API)时,请考虑DocumentManager。Add()方法。。。同样,从文档中:创建并打开图形
 
至于检查图形是否已修改,我也使用DBMOD。
 
干杯
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

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

铜币
238
发表于 2022-7-6 22:37:24 | 显示全部楼层
显然我需要花更多的时间阅读。。。。
 
看来下周我有几件事要做。
再次感谢你们两位。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 22:39:22 | 显示全部楼层
 
你和我都是,我的朋友,你和我都是!
 
请不要误解我的时间不够,因为我是你的全部-我不是,我向你保证。。。在尝试响应之前,我个人通常需要阅读文档(或对象浏览器)。对开发如此陌生的少数好处之一是,我不断学习新事物(太多了,无法将其全部分类,但仍然如此)。
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

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

铜币
238
发表于 2022-7-6 22:43:38 | 显示全部楼层
我甚至没有想过。正如我在另一个线程中暗示的那样,我必须说明我所有的时间,并且它们必须被预定到项目中。我一个月只有几个小时的学习时间,不会让经前综合症(PMs)感到不安,所以进步很慢,这里和那里的一些提示会产生奇迹。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 22:48:26 | 显示全部楼层
 
可悲的是,我所有的发展(无论是学习还是实践)都是在我自己的时间里完成的。
 
 
 
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

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

铜币
238
发表于 2022-7-6 22:52:04 | 显示全部楼层
今天是旧的一天!我有几分钟的空闲时间来尝试让我的“打开下一个数字文件”例行程序工作。我决定这是前进的道路。
除了一些(许多)逻辑错误外,我还重建了文件名并检查它是否存在,然后
  1. acDocMgr.Open(strFileName, False)

告诉我无法在SDI模式下打开文件。
 
有人知道我应该如何在SDI中打开文件吗?
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 22:58:21 | 显示全部楼层
也许可以改用SendStringToExecute()。。。首先检查活动文档的DBMOD,如果需要,调用Save,然后调用Open提供新文档的文件路径*未经测试*
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 23:00:00 | 显示全部楼层
看起来另一个可怜的家伙也有同样的问题。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-5-25 16:40 , Processed in 0.332767 second(s), 72 queries .

© 2020-2025 乐筑天下

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