明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2207|回复: 7

struct resbuf类型的加入函数acutBuildList 添加实体的扩展数据

[复制链接]
发表于 2014-3-25 16:26 | 显示全部楼层 |阅读模式
程序如下
思路是想对实体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;

}

 楼主| 发表于 2014-3-25 18:50 | 显示全部楼层
高手在哪里?
发表于 2014-3-26 10:02 | 显示全部楼层
用acutNewRb()函数创建链表即可,使用循环依次加入。
 楼主| 发表于 2014-3-26 11:21 | 显示全部楼层
xgready 发表于 2014-3-26 10:02
用acutNewRb()函数创建链表即可,使用循环依次加入。

能说具体点吗?这样会不会消耗很多的内存 我扩展的数据大概有30条左右
发表于 2014-3-27 11:26 | 显示全部楼层
rb->rbnext=acutNewRb这种方式,注意释放即可。
 楼主| 发表于 2014-3-27 15:13 | 显示全部楼层
xgready 发表于 2014-3-27 11:26
rb->rbnext=acutNewRb这种方式,注意释放即可。

是用acutRelRb来释放吗?
发表于 2014-3-28 14:22 | 显示全部楼层
是的。
http://www.pudn.com/downloads613 ... /detail2496604.html
这里是一个详细的例子,你可以看看,和你的情况类似。
 楼主| 发表于 2014-4-3 16:37 | 显示全部楼层
xgready 发表于 2014-3-28 14:22
是的。
http://www.pudn.com/downloads613/sourcecode/graph/detail2496604.html
这里是一个详细的例子, ...

多谢 这个问题已经解决了 方便留个QQ吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-6 14:40 , Processed in 0.278594 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表