neteasy 发表于 2003-9-14 20:17:00

用菜单中的插入块命令插入的块,如何读块的属性、插入点及比例?

假设有一个块名为ABC的块,用菜单中的插入块命令插入到图形中,用VBA如何按块名找到这个块,然后读取块的属性、插入点及比例?

efan2000 发表于 2003-9-14 20:55:00

刚插入的块应该是最后一个实体,可以使用Set BlockRefObj = ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.count-1)来返回,之后就是对块引用进行操作了。使用GetAttributes返回所有的块属性集合,而InsertionPoint是返回插入点,XScaleFactor 、YScaleFactor 、ZScaleFactor分别返回三个方向的比例因子了。

neteasy 发表于 2003-9-14 21:34:00

如果不是刚刚插入的块怎么办,能不能根据块名来查找?

mccad 发表于 2003-9-14 21:36:00

可以啊,可以通过过滤器来查找得到块。

neteasy 发表于 2003-9-15 12:05:00

能讲清楚一些吗?我实在是搞不懂了!!

mccad 发表于 2003-9-15 20:19:00

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

neteasy 发表于 2003-9-16 21:25:00

谢谢版主,万分感谢!!!
页: [1]
查看完整版本: 用菜单中的插入块命令插入的块,如何读块的属性、插入点及比例?