chenpool 发表于 2005-8-16 18:29:00

[求助]如何得到AcDbBlockReference图块对象的图块名称?

<P>找了好多函数,好像没有直接得到的啊。</P>
<P>或者怎么转换成AcDbBlockTableRecord对象,然后调用GetName(),但是如何根据<STRONG>AcDbBlockReference对象得到</STRONG>AcDbBlockTableRecord对象呢?</P>

王咣生 发表于 2005-8-16 19:59:00

reply

<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AcDbBlockReference *pBlkRef = AcDbBlockReference::cast(ent.object());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AcDbObjectId pBlkTblRecId;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pBlkTblRecId = pBlkRef-&gt;blockTableRecord();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AcDbBlockTableRecord *pBlkTblRec;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;es = acdbOpenObject(pBlkTblRec, pBlkTblRecId, AcDb::kForRead);</P>

chenpool 发表于 2005-8-16 22:51:00

<P>让王斑竹费心了。。。谢谢。。。辛苦了。。。</P>
<P>因为我是在遍历中需要得到块表记录,直接利用</P>
<P>pIter-&gt;getRecord(pRecord,AcDb::kForRead)</P>
<P>就可以了,而我多此一举,pBtrIter-&gt;getEntity (pEnt, AcDb::kForRead)</P>
<P>所以才会有上面的问题了。</P>
<P>顺便问一下,</P>
<P>AcDbBlockReference&nbsp; 和<A href="mk:@MSITStore:D:\工具\arx2002\docs\arxref.chm::/AcDb/AcDbAttributeDefinition/AcDbAttributeDefinition.htm" target="_blank" >AcDbAttributeDefinition</A>以及AcDbAttribute有什么区别啊,怎么个用法,能不能简单介绍介绍?</P>

王咣生 发表于 2005-8-17 09:39:00

reply

<P>对cad的对象有个大概了解吧?</P>
<P>AcDbBlockReference&nbsp; 和<A href="mk:@MSITStore:D:\工具\arx2002\docs\arxref.chm::/AcDb/AcDbAttributeDefinition/AcDbAttributeDefinition.htm" target="_blank" ><FONT color=#000000>AcDbAttributeDefinition</FONT></A>是两种对象,即块和属性定义,两者组合成属性块,想要操作属性块可能是要用到AcDbAttribute类吧.</P>
<P>vba对象模型中有这几种实体:</P>

游牧 发表于 2018-11-17 14:01:11

王咣生 发表于 2005-8-17 09:39
对cad的对象有个大概了解吧?
AcDbBlockReference&nbsp; 和AcDbAttributeDefinition是两种对象,即块和属性定 ...

CAD对象这个结构图哪里有啊?谢谢!

edata 发表于 2018-11-30 10:39:40

截图是AutoCAD ActiveX vba的对象模型,你可以在电脑上搜索acadauto.chm这个文件,是英文的,
《ActiveX 和 VBA 参考》由明经通道翻译.chm,中文是2006版,由明经翻译的。
高版本有在线版本。附上2019的链接
https://help.autodesk.com/view/OARX/2019/ENU/?guid=GUID-A809CD71-4655-44E2-B674-1FE200B9FE30#GUID-A809CD71-4655-44E2-B674-1FE200B9FE30
页: [1]
查看完整版本: [求助]如何得到AcDbBlockReference图块对象的图块名称?