HandleToObject(Handle)能否实现,让块里面的一个实体变色?
<P>目的:有一个块是由两个实体组成,选择这个块,就可以得到这个块的handle.</P><P>能否通过这个块的handle获得,块里面一个实体的handle,并让它变色?</P>
<P></P> <P><STRONG>请教该如何获取当前图形块中所含的每一个物体</STRONG></P>
<P><A href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=31302" target="_blank" >http://bbs.mjtd.com/forum.php?mod=viewthread&tid=31302</A></P>
<P><STRONG>在这个帖子中,MCCAD解答是:</STRONG></P>
<P>
<TABLE class=tablebody2 style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" width="90%" border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 9pt; LINE-HEIGHT: 12pt" width="100%"> <B></B><BR>首先需要用HasAttributes属性判断图块是否带有属性。<BR>如果有则使用GetAttributes方法来取得块中的属性。<BR>所取得的返回值是以AttributeReference 对象的数组返回。<BR>这样则可以通过数组得到所有的属性。
<P></P>
<P>而不是象你所写的那样遍历块参照的对象。注意块参照只是一个对象,它只是一个参照,而要遍历的话,也是要对块本身进行遍历。</P>
<P>我的问题是如何对块本身进行遍历?</P>
<P>Dim returnObj As Object<BR>Dim basePnt As Variant<BR>Dim elemod As Object</P>
<P>'On Error Resume Next</P>
<P> </P>
<P> </P>
<P><BR>ThisDrawing.Utility.GetEntity returnObj, basePnt, "请选择属性块进行编辑"</P>
<P>'程序通过<BR>现在关键的问题是在块内的实体如何定义??</P>
<P>i = 1<BR>If returnObj.ObjectName = "AcDbBlockReference" Then<BR> <BR> For Each elemod In returnObj '(此处显示问题? elemod没有定义)<BR> </P>
<P> elemod 这个块内实体如何定义,才能在块遍历块内实体???</P>
<P> Debug.Print elemod.handle()</P>
<P> </P>
<P> Next<BR>End If</P></TD></TR></TBODY></TABLE></P> 我记得Help里有个例子,是对块中的实体进行操作的,你仔细看看例子,我一时也想不起来了。好像是和块有关的例子
页:
[1]