Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #На вход получаем воздуховоды
- """
- Проверим, получаем ли мы список или только один элемент.
- Если уверены, что всегда приходит спиок,
- эту проверку можно не делать.
- """
- if isinstance(IN[0], list):
- #если лист, то ОК
- ductList = IN[0]
- else:
- #если один элемент - создаем из него одиночный список
- ductList = [IN[0]]
- #Создадим список, куда будем сохранять толщину воздуховода
- ductThickness = []
- #Циклом перебираем каждый воздуховод из списка воздуховодов
- for duct in ductList:
- #"разворачиваем" элемент, чтоб получить доступ к его параметрам
- ductUnwr = UnwrapElement(duct)
- """
- Найдем высоту воздуховода. К сожалению, параметр с названием
- "Высота" - зависит от языка Ревита. Если версия английская,
- то этот параметр поменяет название на "Height" и скрипт
- не будет работать.
- Найти нужный параметр поможет хелп по Ревит АПИ, который
- входит в состав Revit SDK (можно скачать на форуме).
- Во встроенных параметрах BUILTIN_PARAMETERS Duct_Height не
- оказалось. Пришлось идти в описание свойств воздуховодов.
- По поиску duct можно зайти в ducr member -> duct properties -> Height
- О! похоже, что нашли высоту. Это свойсво моожно запросить напрямую у
- самого воздуховода используя обычную точку.
- """
- h_ft = ductUnwr.Height
- #высота оказалась в футах. переведем в мм
- h_mm = round(h_ft * 1000 / 3.2808,0)
- #Дальше организовываем нашу операцию ветвления по поиску
- #нужной нам толщины.
- if h_mm <= 200:
- thickness = 0.5
- #и так далее (условия не разгледел). Последним должен быть else:
- elif h_mm <= 450:
- thickness = 0.6#и т.п.
- else:
- thickness = 0.9 #ну например, 0.9 ))
- #Добавим в конец списка полученную толщину
- ductThickness.append(thickness)
- """
- К сожалению, записывать параметры внутри Питон-нода не просто.
- Хотя, в дальнейшем, можно разобраться как это делать.
- Поэтому запишем их уже в теле Динамо череж уже знакомый нод.
- """
- OUT = ductList, ductThickness
Add Comment
Please, Sign In to add comment