找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: magic9322

[求助] 请问克隆(clone)的问题

[复制链接]
 楼主| 发表于 2017-4-7 08:48:13 | 显示全部楼层

因为思路很清晰,所以很给力哈。

我刚才只给参数dwgFile赋值,调用函数后图像没有出来,不过确实insert能识别到原图的块,请指点。

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-4-7 09:07:01 | 显示全部楼层

代码只是把原图的图块定义(AcDbBlockTableRecord)添加到了当前数据库,你要是想画出来,那么就是实例个AcDbBlockReference *,生成INSERT才能看到。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-7 10:53:11 | 显示全部楼层

谢谢,但是为什么mId都能取到,但AcDbBlockReference* pBlock 在调试时候显示为空呢?
if (acdbOpenObject(pEnt,pair.value(),kForRead)==eOk)
                {
                    if (pEnt->isKindOf(AcDbBlockTableRecord::desc()))
                    {
                        mId.append(pair.value());
                        AcDbBlockReference* pBlock = AcDbBlockReference::cast(pEnt);
                    }
                 }

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-4-7 11:03:33 | 显示全部楼层

ID是AcDbBlockTableRecord对象的,你要建立INSERT,不能直接CAST
你要NEW一个,
AcDbBlockReference * pBlkRef = new AcDbBlockReference();
pBlkRef->setBlockTableRecord(id);
pBlkRef->setPosition...
设置一些INSERT的参数,
然后把上面的pBlkRef添加到图形数据库后,才能看到它。


具体,你看看上面那个模拟INSERT的帖子里面的,怎么通过块定义的ID创建一个INSERT。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-4-7 11:21:14 | 显示全部楼层
if (pEnt->isKindOf(AcDbBlockTableRecord::desc()))
                    {
                        mId.append(pair.value());
                        AcDbBlockReference* pBlock = AcDbBlockReference::cast(pEnt);
                    }

pEnt是AcDbBlockTableRecord,和AcDbBlockReference 是两类对象,你cast不到的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-7 11:56:05 | 显示全部楼层

谢谢,可以画出来,论坛里高手多啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 22:24 , Processed in 0.370140 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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