I’m glad to share you my first professional pyRevit bar I deployed for a scientific campus. I was working for an integrated design office into this organisation.
I hope this is not the last and I will have the opportunity of using more and more pyRevit in my futur career !
If you have some questions or remarks don’t hesitate.
Although the commands are mainly specific for my company workflow, I can share you some code about the Tee / Tap configuration wich can be useful for many drafters.
The way to use it is to push on the desired Tee / Tap button before creating your pipe or duct connection, independently of the pipe / duct type.
Enjoy it !

Tap Duct Connect
__doc__ = "Change le type de jonction des gaines en piquage"
__title__ = 'Tap Duct\nConnect'
__author__ = 'Yoann OBRY'
#PreferredJunctionDuctTap v1.0
#Import des librairies
from Autodesk.Revit.DB import (FilteredElementCollector, BuiltInCategory, Transaction, PreferredJunctionType)
doc = __revit__.ActiveUIDocument.Document
#Collecte les types de gaines
DCs = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_DuctCurves).WhereElementIsElementType().ToElements()
#Change le type de jonction
t = Transaction(doc, 'change_to_tap')
t.Start()
for DC in DCs:
DC.RoutingPreferenceManager.PreferredJunctionType = PreferredJunctionType.Tap
t.Commit()
Tee Duct Connect
__doc__ = "Change le type de jonction des gaines en té"
__title__ = 'Tee Duct\nConnect'
__author__ = 'Yoann OBRY'
#PreferredJunctionDuctTee v1.0
#Import des librairies
from Autodesk.Revit.DB import (FilteredElementCollector, BuiltInCategory, Transaction, PreferredJunctionType)
doc = __revit__.ActiveUIDocument.Document
#Collecte les types de gaines
DCs = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_DuctCurves).WhereElementIsElementType().ToElements()
#Change le type de jonction
t = Transaction(doc, 'change_to_tee')
t.Start()
for DC in DCs:
DC.RoutingPreferenceManager.PreferredJunctionType = PreferredJunctionType.Tee
t.Commit()
Tap Pipe Connect
__doc__ = "Change le type de jonction des tuyaux en piquage"
__title__ = 'Tap Pipe\nConnect'
__author__ = 'Yoann OBRY'
#PreferredJunctionPipeTap v1.0
#Import des librairies
from Autodesk.Revit.DB import (FilteredElementCollector, BuiltInCategory, Transaction, PreferredJunctionType)
doc = __revit__.ActiveUIDocument.Document
#Collecte les types de gaines
PCs = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_PipeCurves).WhereElementIsElementType().ToElements()
#Change le type de jonction
t = Transaction(doc, 'change_to_tap')
t.Start()
for PC in PCs:
PC.RoutingPreferenceManager.PreferredJunctionType = PreferredJunctionType.Tap
t.Commit()
Tee Pipe Connect
__doc__ = "Change le type de jonction des tuyaux en té"
__title__ = 'Tee Pipe\nConnect'
__author__ = 'Yoann OBRY'
#PreferredJunctionPipeTee v1.0
#Import des librairies
from Autodesk.Revit.DB import (FilteredElementCollector, BuiltInCategory, Transaction, PreferredJunctionType)
doc = __revit__.ActiveUIDocument.Document
#Collecte les types de gaines
PCs = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_PipeCurves).WhereElementIsElementType().ToElements()
#Change le type de jonction
t = Transaction(doc, 'change_to_tee')
t.Start()
for PC in PCs:
PC.RoutingPreferenceManager.PreferredJunctionType = PreferredJunctionType.Tee
t.Commit()
