- UID
- 790509
- 积分
- 8
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2019-8-6
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
- void AcDbReactorApdDatabase::objectAppended(const AcDbDatabase* dwg, const AcDbObject* dbObj)
- {
- if (dwg != acdbHostApplicationServices()->workingDatabase())
- return;
- if (dbObj->isKindOf(AcDbBlockReference::desc()))
- {
- AcDbBlockTable *pBlockTable;
- acdbHostApplicationServices()->workingDatabase()
- ->getSymbolTable(pBlockTable, AcDb::kForRead);
- AcDbBlockTableIterator* pBTIter = NULL;
- Acad::ErrorStatus es = pBlockTable->newIterator(pBTIter);
- if (Acad::eOk != es)
- {
- pBlockTable->close();
- return;
- }
-
- for (; !pBTIter->done(); pBTIter->step())
- {
- AcDbBlockTableRecordIterator* pBTRIter = NULL;
- AcDbBlockTableRecord* pRecord = NULL;
- es = pBTIter->getRecord(pRecord, AcDb::kForRead);
- if (es != Acad::eOk)
- {
- pRecord->close();
- return;
- }
- es = pRecord->newIterator(pBTRIter);
- if (Acad::eOk != es)
- {
- return;
- }
- for (; !pBTRIter->done(); pBTRIter->step())
- {
- AcDbEntity* pEntity = NULL;
- pBTRIter->getEntity(pEntity, AcDb::kForRead);
- if (pEntity == dbObj)
- {
- pBTR = pRecord;
- bool b = pBTR->isFromExternalReference();
- const ACHAR* pPathName;
- pBTR->pathName(pPathName);
- break;
- }
- }
- pRecord->close();
- if (pBTR)
- {
- break;
- }
- }
- pBlockTable->close();
- }
- }
复制代码
添加外部参照,触发数据库反应器,我用 pBTR->isFromExternalReference()判断块是否是外部参照,返回的一直是false,不太明白,难道不是这么用的,求大神指点一下 |
|