找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 520|回复: 6

[求助] 这段代码不太懂,求助

[复制链接]
发表于 2017-9-16 18:10:03 | 显示全部楼层 |阅读模式

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

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

×
mode->geometry().pushModelTransform(m_Xform);
AcDbEntity* pEnt;
for (int i = 0; i < m_ObjectIds.length(); i++)
{
  //绘制实体无需写打开
  if (Acad::eOk == acdbOpenObject(pEnt, m_ObjectIds[i],AcDb::kForRead))
  {
   mode->geometry().draw(pEnt);
   pEnt->close();
  }
}



//这句不能少,恢复现场
mode->geometry().popModelTransform();

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

已领礼包: 1个

财富等级: 恭喜发财

发表于 2017-9-18 10:11:28 | 显示全部楼层
帮助文件里面已经说明了啊:
The method must be called to restore the model transform after a call to pushModelTransform().
Returns Adesk::kTrue if successful; otherwise, returns Adesk::kFalse.

你用了这个

mode->geometry().pushModelTransform(m_Xform);

就必须用

mode->geometry().popModelTransform();

结束,配对使用。
PUSH相当于把变换矩阵入栈了,要POP弹出来。否则以后再PUSH的时候结果会不对。

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

使用道具 举报

 楼主| 发表于 2017-9-18 10:16:21 | 显示全部楼层
本帖最后由 why1025 于 2017-9-18 10:19 编辑

这个配对使用我知道,就是不懂mode->geometry().draw(pEnt);,是绘制实体吗
这句在这个push和pop之间使用是,在另一个新的地方绘制这个实体吗
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

发表于 2017-9-18 10:29:44 | 显示全部楼层
本帖最后由 ObjectARX 于 2017-9-18 10:31 编辑

就是在屏幕上画实体,是画不是生成。入栈的是变换矩阵,后面接的DRAW用这个矩阵变换实体,然后画到屏幕上。你给单位矩阵就是原位置画,不是单位矩阵,就是在变换后的新位置画。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-18 11:03:15 | 显示全部楼层
本帖最后由 why1025 于 2017-9-18 11:45 编辑

懂了,重画实体,但是我现在想要不让原实体显示,还得让这个实体重画出来,这个有啥好办法没
我的意思是,如果原实体也显示,我再另一个地方重画出来这个实体,那么屏幕上面会出来2个实体,不是我想要的效果,我重画一个就行了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-24 20:25 , Processed in 0.207534 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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