Revit二次开发中求两个方向的夹角及元素旋转

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 为 旋转角度对应的弧度

 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值