python 如何判断图片与基准图片旋转的角度_第十篇 Python调用RevitAPi旋转Revit构件...

445943ed87b683eb8ae32ed335cf2ca1.png

批量旋转构件的方法与第九篇Python调用RevitAPi移动Revit构件的方法类似,这里不过多的介绍了,效果见视频

f86ed3aa68100c188632935102f184dd.png
python调用api旋转revit构件https://www.zhihu.com/video/1084409660970422272

代码如下:

import clr
from System.Collections.Generic import *
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc=DocumentManager.Instance.CurrentDBDocument
#输入
element=UnwrapElement(IN[0])
rotateAxis=IN[1]
angle=IN[2]
out=[]
TransactionManager.Instance.EnsureInTransaction(doc)
#判断element是否为列表
if isinstance(IN[0], list):
	#判断旋转基准线是否为列表
	if isinstance(IN[1], list):
		#判断角度是否为列表
		if isinstance(IN[2], list):
			for i in range(len(element)):
				out.append(ElementTransformUtils.RotateElement(doc,element[i].Id,rotateAxis[i].ToRevitType(),angle[i]))
		else:
			for i in range(len(element)):
				out.append(ElementTransformUtils.RotateElement(doc,element[i].Id,rotateAxis[i].ToRevitType(),angle))
	else:
		for i in range(len(element)):
				out.append(ElementTransformUtils.RotateElement(doc,element[i].Id,rotateAxis.ToRevitType(),angle))
else:
	out.append(ElementTransformUtils.RotateElement(doc,element.Id,rotateAxis.ToRevitType(),angle))
TransactionManager.Instance.TransactionTaskDone()
#输出
OUT = out

在以上代码中我把多种情况写在了一起,比如选中的构件、基准轴、角度是单个数还是一维数组等。

节点连接见下图:

1e8b7ae73fa1fe3320633600286602eb.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值