Article non traduit actuellement, demandez la ou essayez la version anglaise ici (outil de traduction disponible) :
Archives par mot-clé : MEP
[Revit] Renommage de vues à la chaîne, expression régulières, une interface graphique
Article non traduit actuellement, demandez la ou essayez la version anglaise ici (outil de traduction disponible) :
[Revit] Batch view renaming, regular expression, docstrings, a GUI
[pyRevit] pyRevitMEP est maintenant disponible dans le gestionnaire d’extensions de pyRevit
Article non traduit actuellement, demandez la ou essayez la version anglaise ici (outil de traduction disponible) : http://pythoncvc.net/?p=314
[Revit] Ajouter des tailles aux segments de tuyaux avec python + Dynamo + Excel
Article non traduit actuellement, demandez la ou essayer la version anglaise ici (outil de traduction disponible) : http://pythoncvc.net/?p=222
[Revit] Changer le niveau de référence d’un raccord sans qu’il se déplace
Article non traduit actuellement, demandez la ou essayer la version anglaise ici (outil de traduction disponible) : http://pythoncvc.net/?p=191
[Revit] Exemple d’ISelectionFilter en python
Article non traduit actuellement, demandez la ou essayer la version anglaise ici (outil de traduction disponible) : http://pythoncvc.net/?p=116
[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()
[Revit] Supprimer un système MEP
Même principe que pour les familles, le code suivant supprime les systèmes des objets sélectionnés :
uidoc = __revit__.ActiveUIDocument doc = __revit__.ActiveUIDocument.Document getselection = uidoc.Selection.GetElementIds t = Transaction(doc, "supprimer_système") t.Start() #Trouve l'Id des systèmes des objets sélectionnés et supprime ces systèmes s = [] for e in getselection(): try: s.append(doc.GetElement(e).MEPSystem.Id) except: c = doc.GetElement(e).MEPModel.ConnectorManager.Connectors for i in c: if i.MEPSystem != None: id = Element.Id.GetValue(i.MEPSystem) print id s.append(id) for id in s: print id doc.Delete(id) t.Commit()
Cette fonction est très utile pour gérer les systèmes. Il arrive souvent avec Revit que les systèmes ne fonctionnent pas comme on le voudrait et qu’il faille supprimer des systèmes polluant le projet. Supprimer un système est parfois le seul moyen de remettre les choses en ordre et il n’est pas pratique d’aller chercher le système dans le navigateur de système qui en contient parfois des centaines.
Vidéo démo (dsl pour les parasites, il faut que je trouve d’où ils viennent pour la prochaine) :