snowfly220 发表于 2009-4-22 21:37:00

Blockref的查找问题

<p>&nbsp;&nbsp;我要查找特定名称的块,找到这个块在图形中的所有实例,也就是BlockReference对象</p><p>&nbsp; 刚开始是用thisdrawing.modelspace.layout.item(n)一个个查找。。但是发现当图形大的时候需要太长时间</p><p>&nbsp; 我发现BlockReference的访问方法有一个Block.Item(n),应该是可以从block对象下面索引到</p><p>&nbsp; 我获得blocks对象然后得到特定的block对象..当尝试使用block.item获取blockreference时发现获取到的不是块的实例..而是组成该块的图元..</p><p>&nbsp;&nbsp;请问各位老大,是否可以通过Block.item()获得块的实例?应该怎么做?如果不行怎么用最快的方法遍历各图元...</p><p>&nbsp; 万分感谢...&nbsp; </p>

sailorcwx 发表于 2009-4-22 22:09:00

<p>通过过滤器创建选集</p>

雪山飞狐_lzh 发表于 2009-4-22 22:25:00

Sub tt()<br/>On Error Resume Next<br/>Dim ss As AcadSelectionSet<br/>ThisDrawing.SelectionSets("Test").Delete<br/>Set ss = ThisDrawing.SelectionSets.Add("Test")<br/>Dim ft(1) As Integer, fd(1)<br/>ft(0) = 0: fd(0) = "Insert"<br/>ft(1) = 2: fd(1) = "MyBlockName"<br/>ss.Select acSelectionSetAll, , , ft, fd<br/>For Each obj In ss<br/>Debug.Print obj.Handle<br/>Next obj<br/>End Sub<br/>
页: [1]
查看完整版本: Blockref的查找问题