遍历实体的扩展字典关键字

 ads_name en;
 ads_point pt;    
 if (acedEntSel(_T("\n选择所要查看扩展记录的实体:"), en, pt) != RTNORM)
  return;    
 AcDbObjectId entId;   
 Acad::ErrorStatus es = acdbGetObjectId(entId, en);
 // 打开图形对象,获得实体扩展字典的ObjectId
 AcDbEntity *pEnt;  
 acdbOpenAcDbEntity(pEnt, entId, AcDb::kForRead);  
 AcDbObjectId dictObjId = pEnt->extensionDictionary(); 
 pEnt->close();  
 // 查看实体是否包含扩展字典
 if (dictObjId == AcDbObjectId::kNull)
 {   
  acutPrintf(_T("\n所选择的实体不包含扩展字典!"));
  return; 
 }  
 // 打开扩展字典,获得与关键字“XRecord ”关联的扩展记录
 AcDbDictionary *pDict;  
 AcDbXrecord *pXrec;   
 acdbOpenObject(pDict, dictObjId, AcDb::kForWrite);
 //pDict->getAt(_T("ACAD_XDICTIONARY"), (AcDbObject*&)pXrec, AcDb::kForRead);
 AcDbDictionaryIterator* pDictIter = pDict->newIterator();
 AcDbGroup *pGroup;
 wchar_t* name;
 for (; !pDictIter->done(); pDictIter->next()) {
  // Get the current record, open it for read, and
  // print its name.
  //
//   /*pDictIter->getObject((AcDbObject*&)pGroup,
//    AcDb::kForRead);
//   pGroup->getName(name);
//   pGroup->close();
//   MessageBox(name);*/
  acutPrintf(_T("\nintval is: %s"), pDictIter->name());
 }
 delete pDictIter;
 pDict->close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zzia72

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值