cindyeee 发表于 2012-10-11 10:00:57

【求助】如何得到特定块的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);


liuxu042 发表于 2012-10-11 16:55:30

遍历即可呀,可联系我QQ:379539186

cindyeee 发表于 2012-10-11 17:21:52

能说得再详细点么,怎么遍历呢?
我知道块定义的名称,想找到对应的所有块参照。
多谢啦:)

cindyeee 发表于 2012-10-11 17:22:26

liuxu042 发表于 2012-10-11 16:55 static/image/common/back.gif
遍历即可呀,可联系我QQ:379539186

能说得再详细点么,怎么遍历呢?
我知道块定义的名称,想找到对应的所有块参照。
多谢啦:)
页: [1]
查看完整版本: 【求助】如何得到特定块的AcDbBlockReference对象