乐筑天下

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

[求助]将创建的三维实体旋转一个角度,在ARX中如何实现?

[复制链接]

1

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2003-8-11 16:27:00 | 显示全部楼层 |阅读模式
回复

使用道具 举报

16

主题

66

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
130
发表于 2003-8-16 09:01:00 | 显示全部楼层
通过acdbGetAdsName(ads_name& objName,AcDbObjectId& objId)获得此实体的名称(ads_name),然后用acedComman调用rotate命令即可。(本人没有调试,如有问题请指出)
回复

使用道具 举报

14

主题

230

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
286
发表于 2003-8-18 21:09:00 | 显示全部楼层
最好调用AcDbEntity::transformBy()函数,其中需要一个AcGeMatrix3d类型参数,可以调用AcGeMatrix::Rotation()函数或者AcGeMatrix::SetToRotation()函数,在这可指定旋转轴、旋转中心和旋转角度参数。详细使用参阅ARX帮助。
顺便说一下,使用acedCommand()函数要调用的不是rotate命令,而是ratate3d命令。
回复

使用道具 举报

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2003-8-28 13:56:00 | 显示全部楼层
例子:
使用AcDbEntity::transformBy()函数,其中需要一个AcGeMatrix3d类型参数mat;
      AcGeVector3d axis(0,1,0);  //旋转轴(x,y,z)
      AcGePoint3d origin(0, 0, 0);
      mat.setToRotation(PI/2, axis, origin);
      p3dObj->transformBy(mat);
即可绕Y轴旋转90度
回复

使用道具 举报

4

主题

8

帖子

3

银币

初来乍到

Rank: 1

铜币
24
发表于 2005-8-19 19:22:00 | 显示全部楼层


上面的p3dObj->transformBy(mat);
p3dObj为选中实体句柄,如果想旋转模型空间的整个实体,仍然是用这个方法吗,还是从view入手?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-5 14:10 , Processed in 0.151345 second(s), 62 queries .

© 2020-2025 乐筑天下

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