1.根据向量求角度
//根据api 有xyz1.AngleTo(xyz2);
double angle = dir.AngleTo(new XYZ(1, 0, 0));
(补充:如上图,起始位置需一致)
// xyz1为第一个方向向量,xyz2为第二个方向向量(其中我要算的是一条直线和水平X轴的夹角,xyz2就用了(1,0,0))
//最后返回的angle为对应角度的弧度制 ( http://www.jsons.cn/angle/ :该链接可以验证算出来的弧度和角度的关系)
2.根据角度进行旋转
//根据api
ElementTransformUtils.RotateElement 方法 |
ElementTransformUtils.RotateElement(doc, eId, line, angle);
//其中doc为当前document,eid为要旋转元素的id,line为旋转轴(默认常用旋转轴为向上方向,即线是垂直于平面的立线),angle 为 旋转角度对应的弧度