- 积分
- 505
- 明经币
- 个
- 注册时间
- 2010-6-18
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
程序如下
思路是想对实体entId里面加入扩展数据 数据就是字符串数组里面的内容pipepointArray
现在的问题是 用acutBuildList加入的时候能不能用一个for语句把字符串数组里面的内容一个一个添加进去
可是acutBuildList好像是针对确定个数的 下面的是从网上找的 但是无法实现
bool CCreateEnt::CreatePipePointXData(AcDbObjectId entId,CStringArray &pipepointArray)//给每个点添加扩展数据
{
int i,len;
AcDbXrecord *pXrec=new AcDbXrecord;
AcDbObject *pObj;
AcDbObjectId dictObjId,xRecObjId;
AcDbDictionary *pDict;
struct resbuf *pRb;
acdbOpenObject(pObj,entId,AcDb::kForWrite);
pObj->createExtensionDictionary();
dictObjId=pObj->extensionDictionary();
pObj->close();
acdbOpenObject(pDict,dictObjId,AcDb::kForWrite);
pDict->setAt("XRecord",pXrec,xRecObjId);
pDict->close();
len=pipepointArray.GetSize();
char *temp;
for(i=0;i<len;i++)
{
temp=(LPSTR)(LPCTSTR)pipepointArray.GetAt(i);
pRb=acutBuildList(RTRESBUF,pRb,AcDb::kDxfText,temp,RTNONE);
}
pXrec->setFromRbChain(*pRb);
pXrec->close();
acutPrintf("\nThe first data is:%s",pRb->resval.rstring);
acutRelRb(pRb);
return true;
} |
|
|