ObjectARX2010 学习笔记006:旋转实体

Acad::ErrorStatus CEntityUtil::Rotate(AcDbObjectId entId,const AcGePoint2d &ptBase,double rotation)
{
    //几何变换矩陈
    AcGeMatrix3d xform;
    //向量
    AcGeVector3d vec(0.0,0.0,1.0);
    //设置需要进行的变换
    xform.setToRotation(rotation,vec,CConvertUtil::ToPoint3d(ptBase));
    //定义实体指针
    AcDbEntity *pEnt=NULL;
    //试图打开实体
    Acad::ErrorStatus es=acdbOpenObject(pEnt,entId,AcDb::kForWrite,false);
    //如果不出错则执行转换
    if (es==Acad::eOk)
    {
        es=pEnt->transformBy(xform);
        pEnt->close();
    }
    return es;
}
原文地址:https://www.cnblogs.com/swtool/p/3823419.html