新项目
好吧,你们这些人渣....这比底层居民高一点,因为你们对水生生态系统缺乏足够的了解,我们稍后会讨论什么是生态系统,现在这并不重要。重要的是,我需要编写一个程序,该程序将连续打开4000个图形,分布在不同的文件夹中,然后删除并替换或重新定义嵌套块,然后删除或重命名现有层,最后清除任何无关信息并保存图形。我已经有了一个良好的开端,该程序将打开和关闭指定文件夹中的所有图形,但我想知道的是:
我是否应该尝试在程序中重新定义块,或者为了广泛的可用性,我是否应该制作一个表单,询问要替换什么块,并让用户从硬盘驱动器中选择一个现有的块。无论如何,我需要这是运行程序后免提。由于VBA可以跨越多种绘画,它将是我的语言选择。
**** Hidden Message ***** 最快、更简单的方法是将块名硬编码到程序中
如果您有来源,您可以随时在以后更改它们。 Keith,你进入过ObjectDBX吗?我知道它可以从vba编写,听起来只要你不需要选择集,你就可以做到这一点。我想我有一个给我的文件是ODX。我会发布它,以便您查看。 这是我的想法,但我也在考虑这是一个可以使用一次还是多次的程序
这是我的基础:
Sub GeneratePreview()
Dim CurrentDwg As AcadDocument
Dim File As Variant
Dim Folder As String
ThisDrawing.SetVariable "Acadlspasdoc", 0
'the ReturnFolder command is externally defined and pops up a window alowing the user to browse for a folder
Folder = ReturnFolder.ReturnFolder("File location to generate previews: ")
File = Dir(Folder & "\*.DWG")
While File""
Set CurrentDwg = Application.Documents.Open(Folder & "\" & File)
CurrentDwg.Activate
Application.ZoomExtents
CurrentDwg.Close True
Set CurrentDwg = Nothing
File = Dir
Wend
ThisDrawing.SetVariable "Acadlspasdoc", 1
End Sub
我现在正在考虑一种打开子文件夹及其图形的方法,尽管当时我并不担心
随着我的进步,我将发布更多信息。 看看这里。这是为ODX编写的,用于更新多个图形中的块。我从未使用过它,但它可能会给你一个如何编写代码的想法。您需要设置对ObjectDBX类型1.0的引用。2004年找不到,但我知道2002年有。我喜欢ODX的一点是,你不能打开图纸来更新它们。我听说它更快。对我来说很有意义。 谢谢,我来看看。
页:
[1]