@Daniel_Woodcock1 thanks for your reply.
See the script below where i used youre suggestion. but i’m now getting an error
Script with mentioned “ALL_MODEL_TYPE_NAME”
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference("RevitServices")
import RevitServices
from Autodesk.Revit.DB import FilteredElementCollector, Family
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.ImportExtensions(Revit.Elements)
doc = DocumentManager.Instance.CurrentDBDocument
name = IN[0]
compact = IN[1]
newcentral = IN[2]
isworkshared = IN[3]
elmts = IN[4]
parmNam = IN[5]
val = IN[6]
searcha = IN[7]
renamea = IN[8]
for i in range(len(name)):
for j in range(len(val[i])):
Revit.Elements.Element.SetParameterByName(elmts[0], parmNam[i][j], val[i][j])
#TransactionManager.Instance.ForceCloseTransaction()
search=searcha[i]
rename=renamea[0][i]#[i]
type_name = []
collector = FilteredElementCollector(doc).OfClass(Family)
TransactionManager.Instance.EnsureInTransaction(doc)
for element in collector.ToElements():
for idx, searched in enumerate(search):
if searched == element.Name:
element.Name = rename[idx]
type_name.append(element.Name)
TransactionManager.Instance.ForceCloseTransaction()
searchb=searcha[i]
renameb=renamea[0][i]#[i]
type_namea = []
type_namecheck = []
familytypes = FilteredElementCollector(doc).OfClass(FamilySymbol).ToElements()
TransactionManager.Instance.EnsureInTransaction(doc)
for typ in familytypes:
typename = typ.get_Parameter(BuiltInParameter.SYMBOL_NAME_PARAM).AsString()
typename_object = typ.get_Parameter(BuiltInParameter.SYMBOL_NAME_PARAM)
type_namea.append(typename)
if searchb[0] == typename:
type_namecheck.append("gevonden")
#typeName = typename_object.LookupParameter(searchb[0]).Set(renameb[0])
typeName = typ.Name(BuiltInParameter.ALL_MODEL_TYPE_NAME_).Set(renameb)
#typeName = typename.Name(BuiltInParameter.SYMBOL_NAME_PARAM).Set(renameb)
TransactionManager.Instance.ForceCloseTransaction()
if doc.IsFamilyDocument:
name[i] += '.rfa'
else:
name[i] += '.rvt'
opt = SaveAsOptions()
opt.OverwriteExistingFile = True
opt.Compact = compact
if isworkshared and newcentral:
wsopt = WorksharingSaveAsOptions()
wsopt.ClearTransmitted = True
wsopt.SaveAsCentral = True
opt.SetWorksharingOptions(wsopt)
try:
doc.SaveAs(name[i], opt)
OUT = 'ALLE ELEMENTEN ZIJN GEGENEREERD',type_name,searcha,search,renamea,rename,type_namea,familytypes,searchb,renameb,type_namecheck
except:
try:
wsopt.ClearTransmitted = False
opt.SetWorksharingOptions(wsopt)
doc.SaveAs(name[i], opt)
OUT = 'not done',type_name,searcha,search,renamea,rename,type_namea,familytypes,searchb,renameb,type_namecheck
except:
OUT = 'not done',type_name,searcha,search,renamea,rename,type_namea,familytypes,searchb,renameb,type_namecheck
thanks in advance