I’m getting “AttributeError: ‘List[object]’ object has no attribute ‘AddLeader’” with this code. I’m a little confused because shouldn’t the for loop make this work?
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.ImportExtensions(Revit.Elements)
textNote = UnwrapElement(IN[0])
leftRight = IN[1]
doc = DocumentManager.Instance.CurrentDBDocument
if not isinstance(textNote, list):
textNote = [textNote]
TransactionManager.Instance.EnsureInTransaction(doc)
for tN in textNote:
if leftRight in ('R', 'r', 'right', 'RIGHT', 'Right'):
leader = tN.AddLeader(TextNoteLeaderTypes.TNLT_STRAIGHT_R)
leaderAnchor = leader.Anchor
leader.Elbow = XYZ(leaderAnchor.X + 1, leaderAnchor.Y, leaderAnchor.Z)
leader.End = XYZ(leaderAnchor.X + 3, leaderAnchor.Y + 2, leaderAnchor.Z)
else:
leader = tN.AddLeader(TextNoteLeaderTypes.TNLT_STRAIGHT_L)
leaderAnchor = leader.Anchor
leader.Elbow = XYZ(leaderAnchor.X - 1, leaderAnchor.Y, leaderAnchor.Z)
leader.End = XYZ(leaderAnchor.X - 3, leaderAnchor.Y + 2, leaderAnchor.Z)
TransactionManager.Instance.TransactionTaskDone()
OUT = textNote, textNotePoint,tNoteLoc, leaderAnchor, leaderAx, leaderAy