Archives par mot-clé : Hydraulique

[Revit] Créer un tuyau d’un point A à un point B façon python

Plusieurs articles montrent comment créer un tuyau en C# :
http://pastebin.com/RZn1WnMW
http://thebuildingcoder.typepad.com/blog/2014/01/final-rolling-offset-using-pipecreate.html

Voici un code très court qui montre comment faire en python.

Il ne faut pas oublier d’ajouter la ligne suivante pour importer les fonctions liées aux tuyaux :

from Autodesk.Revit.DB.Plumbing import *

Pour créer un tube entre 0.0.0 et 10.0.0, le code est le suivant (on utilise le premier type de système et de tube qui nous tombe sous la main).

t = Transaction(doc, "Création d'un tuyau")
t.Start()
def pickobject():
	from Autodesk.Revit.UI.Selection import ObjectType
	__window__.Hide()
	picked = uidoc.Selection.PickObject(ObjectType.Element)
	__window__.Show()
	__window__.Topmost = True
	return picked
#Trouve un type de tuyau, un type de système et le niveau de la vue courante
idtypetuyau = FilteredElementCollector(doc).OfClass(PipeType).FirstElement().Id
idtypesystem = FilteredElementCollector(doc).OfClass(PipingSystemType).FirstElement().Id
idniveau = doc.ActiveView.GenLevel.Id
#Création du point de départ et d'arrivée du tuyau
p1 = XYZ(0, 0, 0)
p2 = XYZ(10, 0, 0)
#Création du tuyau
Pipe.Create(doc, idtypesystem, idtypetuyau, idniveau, p1, p2)
t.Commit()