找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 626|回复: 4

[编程求助] 向XD,&各位高手求助-----怎样实现旋转整个模型(实体)而不是选中部分

[复制链接]
发表于 2005-8-18 14:13:18 | 显示全部楼层 |阅读模式

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

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

×
问题如标题,实现功能:命令行调用函数后,模型绕自身中心点旋转指定角度。
就是说整个模型会一起转,不存在选定的问题.有点类似三维动态观察器.

我在论坛上搜索了一下,也有过类似的提问。前辈们给出的解决方案是:


    构造一个AcGeMatrix3d 对象,利用其方法,构造一个旋转变换矩阵,然后利用AcDbEntity::transformBy(const AcGeMatrix3d& xform),对实体进行变换。



[U]这里我的疑问是[/U]   [B]由谁来调用transformBy[/B] [/COLOR] ?

怎么能获取整个实体的handle或是ref?

是根据AcDbBlockTableRecord吗?

还是要用到有关AcDbViewTableRecord和AcDbViewport类啊?

盼望高人指点,新手不胜迷惑中……
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-8-19 19:09:20 | 显示全部楼层
http://www.xdcad.net/forum/showt ... 1588495#post1588495

这个人的问题好像和你一样

不过也没有人回答

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

使用道具 举报

 楼主| 发表于 2005-8-23 14:10:35 | 显示全部楼层
up!

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

使用道具 举报

发表于 2005-8-23 14:16:31 | 显示全部楼层
任何从AcDbEntity的实体都有函数transformBy,如果想旋转整个模型(实体)而不是选中部分的话,建议创建数据记录迭代器,遍历模型空间的每一个实体,然后调用这些实体的transformBy函数,实现模型空间中的实体的转换。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-23 15:50:44 | 显示全部楼层
AcGiViewport::getCameraLocation函数
virtual void
getCameraLocation(
AcGePoint3d& location) const = 0;

location

返回照相机定位点
设置location为视口的照相机世界坐标位置。这是视口在世界空间中的视点。

这个类怎么都是一些返回值的get函数

能不能通过setcamera来达到旋转实体的目的,我要的只是观察位置的变化

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-22 20:28 , Processed in 0.290147 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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