如何取得某个图元所在的图层的名字?
<P>VBA中 使用</P><P>For Each TempBlock In ThisDrawing.Blocks</P>
<P>Next TempBlock</P>
<P>循环便历所有块的时候 如何才能得到每个块的所在图层的名字?</P> Dim objName As String<BR> Dim entry As AcadEntity<BR> For Each entry In ThisDrawing.ModelSpace<BR> objName = entry.ObjectName<BR> entry.Highlight (True)<BR> MsgBox "The name of this object is " & objName, vbInformation, "ObjectName Example"<BR> entry.Highlight (False)<BR> Next<BR> <P>是图元所在的图层的名字啊 不是ObjectName </P>
<P>比如一个块 名字叫AA 插在一个图层里 图层名称为 GGG</P>
<P>要显示出 GGG啊。。。 </P>
<P>上面这个程序 显示的ObjectName 哦</P>
<P> </P> <P>呵呵,我随便从cad的帮助里找的一段。</P>
<P>你可以借鉴着去找啊。只是希望对你有帮助。</P> <P>好象Block直接不能读出Layer属性的 但是可以写 55555</P>
<P>就好象Hatch没有Area属性一样 </P>
<P>如何找到一个块 得到它所在的图层 再插另外一个不同的的块到这个图层?</P>
<P> </P> <P>块不存在图层的问题的。块只是保存在图纸数据库中的一个图形定义,它可以插入在任何一个图层,所以插入后的块参照有图层的属性,但是块不存在图层的属性。</P> <DIV>用这段程序就可以的</DIV>
<DIV>Sub aa()<BR>Dim objName As String<BR> Dim entry As AcadBlockReference<BR> For Each entry In ThisDrawing.ModelSpace<BR> MsgBox "图层名: " & entry.Layer, vbInformation, "Example"<BR> entry.Highlight (False)<BR> Next</DIV>
<DIV> </DIV>
<DIV>End Sub<BR></DIV>
页:
[1]