zoukankan      html  css  js  c++  java
  • 获得指定数据库中指定块表中所有实体的id

    该函数也使用外部指定图纸中的数据库中的块

    Int getIdsByDwgBlkName(AcDbDatabase *pDwg, CString strBlkName, AcDbObjectIdArray &objIds)

    {

    //打开指定块定义的块表记录
    AcDbBlockTable *pBlkTbl = NULL;
    pDwg->getBlockTable(pBlkTbl, AcDb::kForRead);
    AcDbBlockTableRecord* pBlkTblRcd;
    Acad::ErrorStatus es = pBlkTbl->getAt(strBlkName,pBlkTblRcd,AcDb::kForRead);
    pBlkTbl->close();
    if (es!=Acad::eOk)
    {
    return RTNONE;
    }

    //遍历块表记录中的实体
    AcDbBlockTableRecordIterator* pItr;
    pBlkTblRcd->newIterator(pItr);
    AcDbEntity* pEnt = NULL;

    for(pItr->start();!pItr->done();pItr->step())
    {
    Acad::ErrorStatus es = pItr->getEntity(pEnt,AcDb::kForWrite);
    if(Acad::eOk == es)
    {

    //将实体Id加入到Id数组中
    objIds.append(pEnt->objectId());
    }
    pEnt->close();
    }
    delete pItr;
    pBlkTblRcd->close();

    return RTNORM;
    }

  • 相关阅读:
    自我介绍 Self Introduction
    HDU1864 最大报销额
    HDU2955 Robberies
    Sicily 1509. Rails
    Sicily 1031. Campus
    Sicily 1090. Highways
    Sicily 1034. Forest
    Sicily 1800. Sequence
    Sicily 1150. 简单魔板
    CodeVS4919 线段树练习4
  • 原文地址:https://www.cnblogs.com/pengjun-shanghai/p/4800916.html
Copyright © 2011-2022 走看看