请问如何遍历多个图纸空间(paperspace)?
本帖最后由 20060510412 于 2015-3-29 17:14 编辑我想使用vba遍历dwg文件里面的所有对象,遇到了一个问题:
如果是遍历模型空间里面的对象比较简单,如下:
For Each ent In objDBX.ModelSpace
如果是遍历图纸空间里面的对象,起初我是用的这一句:
For Each ent In objDBX.PaperSpace
后来发现这样是有问题的:因为我的图纸里面有多个图纸空间,而上面这句代码遍历的只是当前被激活的图纸空间,请问应该如何遍历所有的图纸空间呢?
For Each MyLayout In ThisDrawing.Layouts
If MyLayout.ModelType = False Then
ThisDrawing.ActiveLayout = MyLayout
'do event
End If
Next
Public Sub ss()
Dim objB As AcadBlock, obj1 As AcadObject
For Each objB In ThisDrawing.Blocks
Debug.Print objB.Name
For Each obj1 In objB
Debug.Print Space(6); obj1.ObjectName
Next obj1
Next objB
End Sub
zzyong00 发表于 2015-3-29 20:06 static/image/common/back.gif
太感谢了!这个问题困扰了我好久,一直不知道怎么解决。 zzyong00 发表于 2015-3-29 20:06
如果要遍历每个空间的同时,激活这些空间为active,怎么操作?
页:
[1]