Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import clr
- clr.AddReference('RevitAPI')
- import Autodesk
- from Autodesk.Revit.DB import *
- #Для далнейшего сокращения записи используем "маску"
- #Длинное: Autodesk.Revit.DB.Electrical.ElectricalCircuitPathMode
- #Краткое: pMd
- from Autodesk.Revit.DB.Electrical import ElectricalCircuitPathMode as pMd
- clr.AddReference("RevitServices")
- import RevitServices
- from RevitServices.Persistence import DocumentManager
- from RevitServices.Transactions import TransactionManager
- doc = DocumentManager.Instance.CurrentDBDocument
- #Мне не хочется брать Динамовские системы, потом их Анврапать
- #Я сразу получаю системы из Ревита напрямую
- elSys = FilteredElementCollector(doc)\
- .OfCategory(BuiltInCategory.OST_ElectricalCircuit)\
- .WhereElementIsNotElementType()\
- .ToElements()
- outlist = list()
- for sys in elSys:
- #Проветка систем. Если мод системы AllDevices - изменения не вносим
- if sys.CircuitPathMode != pMd.AllDevices:
- #Почему-то работает когда транзакция индивидуальна для системы
- TransactionManager.Instance.EnsureInTransaction(doc)
- sys.CircuitPathMode = pMd.AllDevices
- TransactionManager.Instance.TransactionTaskDone()
- #Проверка, что на выходе
- sysMode = sys.CircuitPathMode
- outlist.append(sysMode)
- OUT = outlist
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement