- UID
- 700
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-1-16
- 最后登录
- 1970-1-1
|
发表于 2002-2-7 12:34:19
|
显示全部楼层
#include "rxobject.h"
#include "rxregsvc.h"
#include"Dbxrecrd.h"
void createdict()
{
AcDbDictionary *pnamedobj;
Acad::ErrorStatus es;
es=acdbCurDwg()->getNamedObjectsDictionary(pnamedobj,AcDb::kForWrite);
if(es!= Acad::eOk)
return;
AcDbDictionary *pdict;
pdict=new AcDbDictionary;
if(pnamedobj->getAt("XLX_DICT",(AcDbObject *&)pdict,AcDb::kForRead)==Acad::eKeyNotFound)
{
AcDbObjectId dictid;
pnamedobj->setAt("XLX_DICT",pdict,dictid);
}
pnamedobj->close();
AcDbXrecord *pxdata1=new AcDbXrecord;
AcDbObjectId xdataid;
pdict->setAt("CHANSHU",pxdata1,xdataid);
pdict->close();
struct resbuf *xhead;
xhead=ads_buildlist(AcDb::kDxfText,"xlx",AcDb::kDxfReal,5.7,0);
pxdata1->setFromRbChain(*xhead);
ads_relrb(xhead);
pxdata1->close();
//return Acad::eOk;
}
void printdict()
{
AcDbDictionary *pnamedobj;
acdbCurDwg()->getNamedObjectsDictionary(pnamedobj,AcDb::kForRead);
AcDbDictionary *pdict;
pdict=new AcDbDictionary;
pnamedobj->getAt("XLX_DICT",(AcDbObject *&)pdict,AcDb::kForRead);
pnamedobj->close();
AcDbXrecord *pxdata1;
pdict->getAt("CHANSHU",(AcDbObject *&)pxdata1,AcDb::kForRead);
pdict->close();
struct resbuf *xhead;
pxdata1->rbChain(&xhead);
pxdata1->close();
printlist(xhead);
ads_relrb(xhead);
//return Acad::eOk;
}
void printlist(struct resbuf *xhead)
{
int rt,i;
for(i=0;xhead!=NULL;i++,xhead=xhead->rbnext)
{
if(xhead->restype<10 && xhead->restype>=0)
rt=RTSTR;
else if(xhead->restype<38)
rt=RT3DPOINT;
else if(xhead->restype<60)
rt=RTREAL;
switch(rt){
case RTSTR:
if(xhead->restype==RTSTR)
ads_printf("RTSTR:%s\n",xhead->resval.rstring);
else
ads_printf("(%d.%s)\n",xhead->restype,xhead->resval.rstring);
break;
case RTREAL:
if(xhead->restype==RTREAL)
ads_printf("RTREAL:%0.3f\n",xhead->resval.rstring);
else
ads_printf("(%d.%f)\n",xhead->restype,xhead->resval.rstring);
break;
}
}
return;
} |
|