- UID
- 404552
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2006-3-19
- 最后登录
- 1970-1-1
|
发表于 2006-4-11 11:56:03
|
显示全部楼层
用對象字典保存,能跟隨你圖檔保存:
//添加到對象字典,保存數據
AcDbDictionary *pNamedobj, *pDict;
acdbHostApplicationServices()->workingDatabase()
->getNamedObjectsDictionary(pNamedobj, AcDb::kForWrite);
if (pNamedobj->getAt("ASDK_DICT", (AcDbObject*&) pDict,
AcDb::kForWrite) == Acad::eKeyNotFound)
{
pDict = new AcDbDictionary;
AcDbObjectId DictId;
pNamedobj->setAt("ASDK_DICT", pDict, DictId);
}
pNamedobj->close();
AcDbXrecord *pXrec = new AcDbXrecord;
AcDbObjectId xrecObjId;
pDict->setAt("A", pXrec, xrecObjId);
pDict->close();
struct resbuf *pHead;
pHead = acutBuildList(
AcDb::kDxfXTextString,string,
0);
pXrec->setFromRbChain(*pHead);
acutRelRb(pHead);
pXrec->close();
最主要是這個acutBuildList函數,里面可以添加很多類型的數據,也可以增加此鏈表的長度
//讀取對象字典中的默認值
AcDbDictionary *pNamedobj;
acdbHostApplicationServices()->workingDatabase()
->getNamedObjectsDictionary(pNamedobj, AcDb::kForRead);
AcDbDictionary *pDict;
Acad::ErrorStatus es = pNamedobj->getAt("ASDK_DICT", (AcDbObject*&)pDict,
AcDb::kForRead);
pNamedobj->close();
if (es == Acad::eOk)
{
AcDbXrecord *pXrec;
es = pDict->getAt("A", (AcDbObject*&) pXrec,
AcDb::kForRead);
pDict->close();
if (es == Acad::eOk)
{
struct resbuf *pRbList;
pXrec->rbChain(&pRbList);
pXrec->close();
if (pRbList != NULL)
{
str = pRbList->resval.rstring;
pRbList = pRbList->rbnext;
}
//如果鏈表還有,繼續添加讀取鏈表信息
acutRelRb(pRbList);
}
} |
|