智能设备中的层列表
大家好,我正在阅读图层表,如下所示struct sds_resbuf *lays;lays = sds_tblnext("Layer",1);
现在我有了图层信息
我的问题是如何从结果缓冲区(lays)读取图层名称
**** Hidden Message ***** 这是一个例子,但是Intellicad没有acdbGroupCodeToType函数,
但是它足够简单,可以编写一个或仅使用您知道的DXF代码
void doit(void)
{
resbuf *pRb = NULL;
TCHAR *tablename[]=
{
_T("APPID"), _T("BLOCK"), _T("DIMSTYLE"),
_T("STYLE"), _T("LAYER"),_T("LTYPE"),
_T("UCS"), _T("VIEW"), _T("VPORT")
};
for (int types = 0; types rbnext)
{
switch(acdbGroupCodeToType(pRbTemp->restype))
{
case AcDb::kDwgText:
ads_printf(_T("%s "), pRbTemp->resval.rstring);
break;
case AcDb::kDwgInt16:
ads_printf(_T("%d "), pRbTemp->resval.rint);
break;
case AcDb::kDwgInt32:
ads_printf(_T("%ld "), pRbTemp->resval.rlong);
break;
case AcDb::kDwgReal:
ads_printf(_T("%f "), pRbTemp->resval.rreal);
break;
case AcDb::kDwg3Real:
ads_printf(_T("(%f,%f,%f) "),
pRbTemp->resval.rpoint,
pRbTemp->resval.rpoint,
pRbTemp->resval.rpoint
);
case AcDb::kDwgHandle:
case AcDb::kDwgHardOwnershipId:
case AcDb::kDwgSoftOwnershipId:
case AcDb::kDwgHardPointerId:
case AcDb::kDwgSoftPointerId:
ads_printf(_T("%ld "),
pRbTemp->resval.rlname);
break;
case AcDb::kDwgNotRecognized:
ads_printf(_T("*Not Recognized* "));
break;
}
}
ads_printf(_T("\n"));
ads_relrb(pRb);
}
}
}
页:
[1]