Есть ли возможность определить с помощью Динамо самостоятельное семейство или оно вложено в другое?
Предположим семейство сетчатого фильтра в проекте существует как само по себе и как вложенное, например, в гребёнку. По сути это одно и то же семейство с галочкой "общее". По умолчанию, оба попадают в спецификацию. Как с помощью Динамо (без дополнительных параметров) отделить одно от другого.
С уважением, Ковылин Сергей Сергеевич
Инженер-проектировщик; BIM-менеджер
Чат для конструкторов в Telegram
Правила форума и некоторые нюансы по работе с текстовым редактором
Несколько ответов с форума Autodesk
В пакете нодов Clockwork есть нод FamilyInstance.SuperComponent, получающий родительское семейство. Если он вернет null, значит искомое семейство не вложено.
import clr clr.AddReference('RevitAPI') from Autodesk.Revit.DB import * def GetSuperComponent(item): if hasattr(item, "SuperComponent"): sc = item.SuperComponent if sc: return sc else: return BeamSystem.BeamBelongsTo(item) if hasattr(item, "HostRailingId"): return item.Document.GetElement(item.HostRailingId) elif hasattr(item, "GetStairs"): return item.GetStairs() else: return None items = UnwrapElement(IN[0]) if isinstance(IN[0], list): OUT = [GetSuperComponent(x) for x in items] else: OUT = GetSuperComponent(items)
С уважением, Ковылин Сергей Сергеевич
Инженер-проектировщик; BIM-менеджер
Чат для конструкторов в Telegram
Правила форума и некоторые нюансы по работе с текстовым редактором