找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 155|回复: 0

[每日一码] 得到块个数

[复制链接]

1

主题

0

回帖

43

积分

管理员

积分
43
发表于 2024-3-14 20:10:06 | 显示全部楼层 |阅读模式
  1. void getBlockIds(AcDbObjectIdArray& ids)
  2. {
  3.     AcDbDatabase *pDataBase = acdbHostApplicationServices()->workingDatabase();
  4.     AcDbBlockTable* pTable;
  5.     Acad::ErrorStatus es = pDataBase->getBlockTable(pTable,AcDb::kForRead);
  6.     if (es != Acad::eOk)
  7.     {
  8.         return;
  9.     }
  10.     pTable->close();
  11.     AcDbBlockTableIterator* Iterator;
  12.     if (pTable->newIterator(Iterator) == Acad::eOk)
  13.     {
  14.         for (Iterator->start();!Iterator->done();Iterator->step())
  15.         {
  16.             AcDbBlockTableRecord* pTableRecord;
  17.             if (Iterator->getRecord(pTableRecord,AcDb::kForRead) == Acad::eOk)
  18.             {
  19.                 pTableRecord->close();
  20.                 const ACHAR* pName;
  21.                 if (pTableRecord->getName(pName) == Acad::eOk)
  22.                 {
  23.                     CString str(pName);
  24.                     if (str.Find(采用T("采用Space")) != -1)
  25.                     {
  26.                         continue;
  27.                     }
  28.                 }
  29.                 ids.append(pTableRecord->objectId());
  30.             }
  31.         }
  32.     }
  33.     delete Iterator;
  34. }
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2025-1-11 00:18 , Processed in 0.105731 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表