Hello All,
I’m using a python node to set text note widths.
The python script works perfectly but i’d like to learn how to also output the original widths.
This has no real benefit in terms of workflow purpose, just simply something i’d like to understand for the future.
This is the workflow:
This is the python script:
import clr
# Import RevitAPI
clr.AddReference('RevitAPI')
import Autodesk
# Import DocumentManager and TransactionManager
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
ReqNoteWidth = IN[1]
if isinstance(IN[0], list):
txts = UnwrapElement(IN[0])
else:
txts = [UnwrapElement(IN[0])]
# Place your code below this line
output = []
for txt in txts:
TransactionManager.Instance.EnsureInTransaction(doc)
try:
width = txt.Width
txt.Width = ReqNoteWidth #change this to whatever width needed
output.append("Success")
except:
output.append("FAIL")
TransactionManager.Instance.TransactionTaskDone()
# Assign your output to the OUT variable.
OUT = [output, width]
I can see that the following line is included:
output =
which tells me the output will be a list?
OUT is set to [output, width]
The problem i have is that the width only outputs as a single item (likely the first or last item i’d assume).
How would i also ensure the 2nd output is formatted as a list too.
I tried adding width = to format the text widths as a list but this didn’t work
Thanks in advance,
Jack.
Dynamo File : WF - Set Text Note Widths.dyn (3.6 KB)