用菜单中的插入块命令插入的块,如何读块的属性、插入点及比例?
假设有一个块名为ABC的块,用菜单中的插入块命令插入到图形中,用VBA如何按块名找到这个块,然后读取块的属性、插入点及比例? 刚插入的块应该是最后一个实体,可以使用Set BlockRefObj = ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.count-1)来返回,之后就是对块引用进行操作了。使用GetAttributes返回所有的块属性集合,而InsertionPoint是返回插入点,XScaleFactor 、YScaleFactor 、ZScaleFactor分别返回三个方向的比例因子了。 如果不是刚刚插入的块怎么办,能不能根据块名来查找? 可以啊,可以通过过滤器来查找得到块。 能讲清楚一些吗?我实在是搞不懂了!! Sub SelectBlock()Dim ss As AcadSelectionSet
On Error Resume Next
Set ss = ThisDrawing.SelectionSets.Add("mccad")
If Err Then
Set ss = ThisDrawing.SelectionSets("mccad")
ss.Clear
End If
Dim fType(1) As Integer
Dim fData(1) As Variant
fType(0) = 0
fData(0) = "INSERT" '此处为块引用的图元类型
fType(1) = 2
fData(1) = "mccad" '此处为块引用的名称
ss.Select acSelectionSetAll, , , fType, fData
ss.Highlight (True)
MsgBox "亮显的对象为满足条件的图块对象," _
& vbCrLf & vbCrLf & "总数: " & ss.Count, , _
"明经通道VBA示例"
ss.Highlight (False)
End Sub
谢谢版主,万分感谢!!!
页:
[1]