nett 发表于 2007-6-4 21:28:00

如何打开特定的对象

<p><table width="72%" bgcolor="#ffffff" border="0"><tbody><tr><td></td><td align="left" width="97%"><table class="wr" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td class="gray14"><cc></cc>如何打开特定的对象 <br/>我定义了1个块,块名叫“111” <br/>我想打开这个块,需要获取它的ads_Name&nbsp;或者&nbsp;AcDbObjectId. <br/>请问怎么获获取&nbsp;,用什么函数?<cc></cc>
                                                                        </td></tr></tbody></table></td></tr></tbody></table></p>

HuaiYu 发表于 2007-6-4 22:16:00

<p>AcDbBlockTable::getAt Function ()函数有两个重载函数</p><p>分别可得到 AcDbObjectId 和 AcDbBlockTableRecord 对象</p>

nett 发表于 2007-6-5 11:04:00

本帖最后由 作者 于 2007-6-5 11:10:17 编辑 <br /><br /> <p>用了getAt函数,于是&nbsp;</p><p>AcDbDatabase *pDb;<br/>&nbsp;AcDbBlockTable *pBlkTable;<br/>&nbsp;AcDbObjectId eId;<br/>&nbsp;AcDbObjectId tId;<br/>&nbsp;AcDbBlockReference *pBlkRef;&nbsp;<br/>&nbsp;pDb = acdbHostApplicationServices()-&gt;workingDatabase();</p><p><br/>&nbsp;pDb-&gt;getBlockTable(pBlkTable, AcDb::kForRead);<br/>&nbsp;char blkName;<br/>&nbsp;strcpy(blkName,"111");<br/>&nbsp;pBlkTable-&gt;getAt(blkName,tId);</p><p>&nbsp; AcDbEntity *pEnt;<br/>&nbsp;&nbsp;acdbOpenObject(pEnt,tId,AcDb::kForRead);</p><p>编译没有错</p><p>在cad里运行 ,到这里就跳出错误提示,显然没有正确获得pEnt这个指针,能不能再指导一下</p>
页: [1]
查看完整版本: 如何打开特定的对象