【求助】如何得到特定块的AcDbBlockReference对象
本帖最后由 cindyeee 于 2012-10-11 11:58 编辑做一个cad插件,其中需要获取特定块的坐标位置。
(1)现在通过com方法能够能到特定块的IAcadBlock接口指针,我看acax17enu.tlh中的接口方法,应该是得到块的IAcadBlockReference接口,调用其get_InsertionPoint()方法就可以。
(2)或者我通过objectarx的向导工具建立工程后,按如下步骤得到特定块的id,但是不知道怎样获取到AcDbBlockReference对象,进而获取其坐标。
AcDbBlockTable* pBlockTable;
acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlockTable, AcDb::kForWrite);
//find out whether the block existed
if (!pBlockTable->has(blkName))
{
acutPrintf(_T("当前图形中未包含指定名称的块定义!"));
pBlockTable->close();
return;
}
AcDbObjectId id;
AcDbBlockTableRecord* pBlockRec;
pBlockTable->getAt(blkName, id);
pBlockTable->getAt(blkName, pBlockRec);
遍历即可呀,可联系我QQ:379539186 能说得再详细点么,怎么遍历呢?
我知道块定义的名称,想找到对应的所有块参照。
多谢啦:) liuxu042 发表于 2012-10-11 16:55 static/image/common/back.gif
遍历即可呀,可联系我QQ:379539186
能说得再详细点么,怎么遍历呢?
我知道块定义的名称,想找到对应的所有块参照。
多谢啦:)
页:
[1]