yuanmei 发表于 2003-8-11 16:27:00

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

friendyuan 发表于 2003-8-16 09:01:00

通过acdbGetAdsName(ads_name& objName,AcDbObjectId& objId)获得此实体的名称(ads_name),然后用acedComman调用rotate命令即可。(本人没有调试,如有问题请指出)

leeyeafu 发表于 2003-8-18 21:09:00

不建议使用acedCommand()函数

最好调用AcDbEntity::transformBy()函数,其中需要一个AcGeMatrix3d类型参数,可以调用AcGeMatrix::Rotation()函数或者AcGeMatrix::SetToRotation()函数,在这可指定旋转轴、旋转中心和旋转角度参数。详细使用参阅ARX帮助。
顺便说一下,使用acedCommand()函数要调用的不是rotate命令,而是ratate3d命令。

fdznz 发表于 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度

guccy 发表于 2005-8-19 19:22:00

<P>&nbsp;</P>
<P>&nbsp;</P>
<P>上面的p3dObj-&gt;transformBy(mat);</P>
<P>p3dObj为选中实体句柄,如果想旋转模型空间的整个实体,仍然是用这个方法吗,还是从view入手?</P>
<P>&nbsp;</P>
<P>&nbsp;</P>
页: [1]
查看完整版本: [求助]将创建的三维实体旋转一个角度,在ARX中如何实现?