找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 748|回复: 4

[求助]:高手请进,块的问题

[复制链接]
发表于 2004-11-13 18:27:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我在AUTOCAD中选择一个图块后,怎么取出这个图块的名称
用浏览器是不是遍历所有的图块.
最好能够写出主要代码.


AcDbBlockTableRecord *pBlkDefRecord;
AcDbBlockReference *pBlkRef;

acedEntSel("\nSelect Block:",ent,pickpt);
AcDbObjectId     eID,blkDefId;
acdbGetObjectId(eID,ent);
AcDbEntity*                pEnt;
acdbOpenObject(pEnt,eID,AcDb::kForRead);
pEnt->highlight();

pBlkRef = AcDbBlockReference::cast(pEnt);

       
blkDefId = pBlkRef->blockTableRecord();
pBlkDefRecord->getName(blockname);

pEnt->close();
pBlkDefRecord->close();

哪里错了.
谢谢了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-11-15 13:03:14 | 显示全部楼层
采用你以上的代码是取不到的。要用链表:
struct resbuf eb1;
        char sbuf1[10]; // Buffers to hold strings
        eb1.restype = 0;        // 实体名
        strcpy(sbuf1, "INSERT");
        eb1.resval.rstring = sbuf1;
        eb1.rbnext = NULL;
        ads_name ssname1, entName;
        BeginEditorCommand();   //编辑命令开始
        acutPrintf("选择图块");
        if(acedSSGet(NULL, NULL, NULL, &eb1, ssname1)!=RTNORM){
                return FALSE;
        }
        long n=0;
        acedSSLength(ssname1,&n);
        acutPrintf("共有 %d 个实体",n);
        AcDbObjectId objId,newId;
        if (n<1) return FALSE;
        for(int i=0;i<n;i++)
        {
                acedSSName( ssname1, i, entName);       
                resbuf *rb=acdbEntGet(entName);
                for(resbuf *rb1=rb;rb1&&rb1->restype!=2;rb1=rb1->rbnext);
                char blkname[50];//图块名称
                strcpy(blkname,rb1->resval.rstring);
        }
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-15 17:42:53 | 显示全部楼层
得到blkDefId 之後再定義AcDbBlockTableRecord *pNewRecord;通過blkDefId 獲得pNewRecord;
從而才能取得它的塊名;你在的到它的blkDefId 後就出錯了.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-16 16:02:45 | 显示全部楼层
问题解决了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-17 15:31:44 | 显示全部楼层
有收益
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-23 21:27 , Processed in 0.435095 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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