- UID
- 114369
- 积分
- 75
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2004-3-17
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
查看了晓东空间里的所有关于属性块方面的主题,一直没有找到合适的解决办法,有人提出来过,但是好像没有解决。
我想提取块里面的属性,类似天河里面的标题栏填充,附件的代码是arx帮助里的,定义了属性的块,如何把其中的属性提取出来,例如 pAttDwgNo->setTextString("测试");
想把“测试”字符提取出来修改后重新赋值。请教各位如何实现??
example:
char *blockname;
blockname="head_a";
AcDbBlockTable *pBTable;//定义块表记录指针
acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBTable,AcDb::kForRead);
AcDbBlockTableRecord *pBTRecord;// 定义指向块的块表记录指针
//定义指定块的块表记录指针
if(Acad::eOk!=pBTable->getAt(blockname,pBTRecord,AcDb::kForRead))
return;
AcGePoint3d basepoint(0,0,0);
AcDbObjectId blockId;
blockId=pBTRecord->objectId();
AcDbBlockReference *pBlkRef=new AcDbBlockReference;
pBlkRef->setBlockTableRecord(blockId);
pBlkRef->setPosition(basepoint);
// 插入块表
pBTable->getAt(ACDB_MODEL_SPACE,pBTRecord,AcDb::kForWrite);
AcDbObjectId newEntId;
pBTRecord->appendAcDbEntity(newEntId,pBlkRef);
//属性插入部分
AcDbBlockTableRecord *pBlockDef;
acdbOpenObject(pBlockDef,blockId,AcDb::kForRead);
AcDbBlockTableRecordIterator *pIterator;
pBlockDef->newIterator(pIterator);
AcDbEntity *pEnt;
pIterator->getEntity(pEnt,AcDb::kForRead);
AcDbAttribute *pAttDwgNo=new AcDbAttribute();
pAttDwgNo->setPosition(basepoint);
pAttDwgNo->setHeight(5);
pAttDwgNo->setRotation(0.0);
pAttDwgNo->setTextString("测试");
pAttDwgNo->setTag("图号");
....... |
|