__doc__ = 'Set all RvtLink ReferenceTypes to Overlay' # these commands get executed in the current scope # of each new shell (but not for canned commands) from Autodesk.Revit.DB import * from Autodesk.Revit.DB.Architecture import * from Autodesk.Revit.DB.Analysis import * from Autodesk.Revit.UI import * from Autodesk.Revit.DB import Transaction import clr # clr.AddReferenceByName("PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35") # clr.AddReferenceByName("PresentationCore, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35") clr.AddReferenceByPartialName('PresentationCore') clr.AddReferenceByPartialName("PresentationFramework") clr.AddReferenceByPartialName('System.Windows.Forms') import System.Windows uidoc = __revit__.ActiveUIDocument doc = __revit__.ActiveUIDocument.Document selection = [ doc.GetElement( elId ) for elId in __revit__.ActiveUIDocument.Selection.GetElementIds() ] def alert(msg): TaskDialog.Show('pyRevit', msg) def quit(): __window__.Close() if len(selection) > 0: el = selection[0] #Creating collector and Getting all RvtLinks link_collector = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_RvtLinks)\ .WhereElementIsElementType() \ .ToElements() #Storing Reference Type in Variable reference_types = 0.0 #Starting the Set Transaction t = Transaction(doc, "Change Reference Types") t.Start() for link in link_collector: reference_types = link.LookupParameter('Reference Type') if reference_types: reference_types.Set(2) #Commiting the Set Transaction t.Commit()