明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1838|回复: 3

高手指点,如何得到当前图形中所有的块名.

[复制链接]
发表于 2006-7-11 10:39:00 | 显示全部楼层 |阅读模式

高手指点,如何得到当前图形中所有的块名.

看AcdbBlockTable没有得到当前块名的函数.

发表于 2006-7-11 21:01:00 | 显示全部楼层

对 当前的块表进行 Iterator 就可以得到了...

void T2()
{
 AcDbBlockTable *pBlockTable;
 acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pBlockTable,AcDb::kForRead);
 AcDbBlockTableIterator *pIter;
 pBlockTable->newIterator(pIter);
 AcDbBlockTableRecord *blk;
 const char *name;
 for(pIter->start();!pIter->done();pIter->step())
 {
  pIter->getRecord(blk,AcDb::kForRead);
  blk->getName(name);
  acutPrintf("\n%s",name);
  blk->close();
 }
 delete pIter;
 pBlockTable->close();
}

发表于 2006-7-12 08:26:00 | 显示全部楼层

struct resbuf *rn;

do {

    rb=ads_tblnxet("block",0);

   if (rb==NULL) break;

  assoc _dxf_str(rb,1,block_name);

  ads_printf("\n%s",block_name);

}

 楼主| 发表于 2006-7-14 13:36:00 | 显示全部楼层
谢谢,已经实现,主要是getName这个函数.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 23:52 , Processed in 0.149736 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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