Custom pyRevit bar in a campus context

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 !

pyRevit_conception

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()
5 Likes

Pretty cool.
Thanks for sharing.

Do you have any scripting to create elbows?
I am trying to create a tool that create an elbow on the disconnected end of a conduit / pipe.

There is a lot of script on github so maybe you can find something like this.
What is your goal of creating an elbow than the native Revit function don’t bring you ?