Rotation of a TextNote

Since people were asking about the python code for multiple text rotations, I modified this python code to accept lists:

import clr
import math

clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *

clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.ImportExtensions(Revit.Elements)

clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

doc = DocumentManager.Instance.CurrentDBDocument

#Preparing input from dynamo to revit
element = []
for i in UnwrapElement(IN[0]):
	element.append(i)
	
angle = IN[1]*math.pi/180

#calculte rotation axis:
baseVector = []
upVector = []


for i in element :
	baseVector.append(i.BaseDirection)
	upVector.append(i.UpDirection)
	
normalVector = []

for i,j in zip(baseVector,upVector):
	normalVector.append(i.CrossProduct(j))	

axis = []
for i,j in zip(element,normalVector) :
	axis.append(Line.CreateUnbound(i.Coord,j))

#Do some action in a Transaction
for i,j in zip(element, axis) :
	TransactionManager.Instance.EnsureInTransaction(doc)
	ElementTransformUtils.RotateElement(doc, i.Id, j, angle)
	TransactionManager.Instance.TransactionTaskDone()


OUT = element
2 Likes