在VB中保存图形。网
我们的图形使用递增数字命名。我有一个VBA例程,它打开下一个连续图形,首先增加图纸编号,直到找到最后一张图纸,然后在将图纸重置为0后打开下一个序列号。当我构造文件名并通过SendCommand将其提供给AutoCAD时,所有这些都在VBA中运行良好。如果存在下一个文件,则打开图形而不显示对话框,如果不存在,则显示“打开文件”对话框。其优点是,在实际打开下一个文件或显示对话框之前,AutoCAD会处理所有“是否要保存更改”位。
现在我将这个例程转移到VB。网有没有等效的SendCommand,或者我必须从头开始构建一切?如果我必须构建所有内容,我如何打开一个我知道存在的文件而不使用对话框?最后,现在,检查图纸是否已更改的最佳方法是什么。检查DBMOD=0仍然是最好的方法吗? 我正要去度周末,但你可以试试“…使用SendCommand方法,它是AcadApplication的ActiveDocument属性的一个成员。”摘自Autodesk免费下载的《AutoCAD.NET开发者指南》。
祝你周末愉快。
B
这个VBA的(COM的)SendCommand()的NET等价物是Document。SendStringToExecute()。。。从文档中可以看出这一点:访问AutoCAD命令行
但是,您仍然可以使用VB中的COM。NET,因此如果愿意,您仍然可以调用SendCommand()。上面的链接应该有助于澄清差异。
打开图形(使用.NET API)时,请考虑DocumentManager。Add()方法。。。同样,从文档中:创建并打开图形
至于检查图形是否已修改,我也使用DBMOD。
干杯 显然我需要花更多的时间阅读。。。。
看来下周我有几件事要做。
再次感谢你们两位。
你和我都是,我的朋友,你和我都是!
请不要误解我的时间不够,因为我是你的全部-我不是,我向你保证。。。在尝试响应之前,我个人通常需要阅读文档(或对象浏览器)。对开发如此陌生的少数好处之一是,我不断学习新事物(太多了,无法将其全部分类,但仍然如此)。 我甚至没有想过。正如我在另一个线程中暗示的那样,我必须说明我所有的时间,并且它们必须被预定到项目中。我一个月只有几个小时的学习时间,不会让经前综合症(PMs)感到不安,所以进步很慢,这里和那里的一些提示会产生奇迹。
可悲的是,我所有的发展(无论是学习还是实践)都是在我自己的时间里完成的。
今天是旧的一天!我有几分钟的空闲时间来尝试让我的“打开下一个数字文件”例行程序工作。我决定这是前进的道路。
除了一些(许多)逻辑错误外,我还重建了文件名并检查它是否存在,然后
acDocMgr.Open(strFileName, False)
告诉我无法在SDI模式下打开文件。
有人知道我应该如何在SDI中打开文件吗? 也许可以改用SendStringToExecute()。。。首先检查活动文档的DBMOD,如果需要,调用Save,然后调用Open提供新文档的文件路径*未经测试* 看起来另一个可怜的家伙也有同样的问题。
页:
[1]
2