I think the below is sufficient for my use case. I don’t have to figure out the Forge Units this way. I would still be interested to see what you come up with.
Thank you.
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.Application
#Define function to ensure that objects are in a list
def tolist(obj1):
if hasattr(obj1,"__iter__"): return obj1
else: return [obj1]
#Views
elem = tolist(UnwrapElement(IN[0]))
#Parameter Name
paramName = IN[1]
#Parameter Values
paramVals = IN[2]
outlist = []
#Set Parameter Values
TransactionManager.Instance.EnsureInTransaction(doc)
for e in elem:
e.LookupParameter(paramName).Set(paramVals)
outlist.append(e)
TransactionManager.Instance.TransactionTaskDone()
OUT = outlist