ramkumar 发表于 2011-4-21 08:14:49

智能设备中的层列表

大家好,我正在阅读图层表,如下所示struct sds_resbuf *lays;
lays = sds_tblnext("Layer",1);
现在我有了图层信息
我的问题是如何从结果缓冲区(lays)读取图层名称
**** Hidden Message *****

笔迷元老院 发表于 2011-4-28 10:25:42

这是一个例子,但是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]
查看完整版本: 智能设备中的层列表