|
做一个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);
|
|