乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 53|回复: 3

求选定空间中的实体记录?

[复制链接]

2

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
13
发表于 2008-10-8 12:35:00 | 显示全部楼层 |阅读模式
我想制作一个这样的程序,提示用户选择多个实体(用鼠标选择一个范围),并用遍历器遍历实体?不知道具体代码如何写?
我获得过这样一段代码,是求整个模型空间的实体,现在如何将它改成求用户选定空间?请高手指点。
            // 获得当前数据库的块表
            AcDbBlockTable *pBlkTbl;
            acdbHostApplicationServices()->workingDatabase()
                  ->getBlockTable(pBlkTbl, AcDb::kForRead);
            // 获得模型空间的块表记录
            AcDbBlockTableRecord *pBlkTblRcd;
            pBlkTbl->getAt(ACDB_MODEL_SPACE, pBlkTblRcd,AcDb::kForRead);
            pBlkTbl->close();
             // 创建块表记录遍历器
             AcDbBlockTableRecordIterator *pItr; // 块表记录遍历器
             pBlkTblRcd->newIterator(pItr);
             AcDbEntity *pEnt; // 遍历的临时实体指针
              acutPrintf(L"\n遍历的临时实体指针已建立!");
            for (pItr->start(); !pItr->done(); pItr->step())
            {
                  // 利用遍历器获得每一个实体
                  pItr->getEntity(pEnt, AcDb::kForWrite);//以读的方式得到该实体
                  // 是否在“测试”图层上
                  if (pEnt->layerId() == layerId)
                  {
                     IndentifyEnts(pEnt);  //对实体进行判断
                  }
               // 注意需要关闭实体
                pEnt->close();
            }
           delete pItr; // 遍历器使用完毕之后一定要删除!
      acutPrintf(L"\n遍历的临时实体指针已删除!");
           pBlkTblRcd->close();
回复

使用道具 举报

2

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
13
发表于 2008-10-8 21:31:00 | 显示全部楼层
谁来帮帮我啊?摆脱了
回复

使用道具 举报

2

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
13
发表于 2008-10-9 16:31:00 | 显示全部楼层
终于做出来了!
回复

使用道具 举报

3

主题

17

帖子

1

银币

初来乍到

Rank: 1

铜币
29
发表于 2008-10-23 13:27:00 | 显示全部楼层
做出来就发出来共同学习一下呀。。真是的。。你让用户提供几个点,构造选择集,然后遍历选择集,不就可以达到你的效果了吗 。。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-5-2 02:12 , Processed in 1.584940 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表