allpurpose 发表于 2014-6-18 16:42:29

如何用选择集筛选图块

      我有一个文本,里面有好几千个图块,现在需要在里面检索出指定名称的图块,同下面的方法
      Dim blockName As String
      Dim block As AcadBlock

      For Each b As AcadBlock In doc.Blocks
            If b.Name = blockName Then
                block = b
                Exit For
            End If
      Next

枚举起来好慢,
想用选择集过滤的方法选择图块,但有不知道图块的图元类型名称是什么,筛选不出来,不知道哪位达人知道指点指点

allpurpose 发表于 2014-6-18 16:43:53

Dim gpCode(11) As Int16
      'Dim dataValue(1) As Object
      ''指定类型
      'gpCode(0) = 0
      'dataValue(0) = ??'图块的图元类型名称是什么呢?
      ''指定图块名称
      'gpCode(1) = 2
      'dataValue(1) = blockName
      'sset.Select(AcSelect.acSelectionSetAll, , , gpCode, dataValue)

或者还有什么方法可以在几千甚至上万个图块中快速获取指定名称的图块?

efan2000 发表于 2014-6-19 12:51:48

doc.Blocks(blockName)或者doc.Blocks.Item(blockName)
如果块不存在,会产生异常,要注意。

qiush1234 发表于 2015-10-12 15:02:33

兄弟你的问题搞定了没??
页: [1]
查看完整版本: 如何用选择集筛选图块