Hello Everyone,
I am trying to connect a Global Parameter to multiple Family Types using the method below. My output gives “Fail”. I don’t understand why it doesn’t work.
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Structure import *
clr.AddReference('RevitAPIUI')
from Autodesk.Revit.UI import *
clr.AddReference('System')
from System.Collections.Generic import List
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
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
list = UnwrapElement(IN[0])
global_parameter = (IN[1])
parameter_list = []
TransactionManager.Instance.EnsureInTransaction(doc)
for family_types in list:
type_parameters = family_types.Parameters
for parameters in type_parameters:
if parameters.Definition.Name == "buitenblad":
parameter_list.append(parameters)
for x in parameter_list:
try:
x.AssociateWithGlobalParameter(ElementId(global_parameter.Id))
out = "Success"
except:
out = "Fail"
TransactionManager.Instance.TransactionTaskDone()
OUT = out