Коннектор электрооборудования
Главная › Форумы › Задать вопрос › Коннектор электрооборудования
Помечено: connector, DomainElectrical, MEPModel
- В этой теме 19 ответов, 4 участника, последнее обновление 4 года, 8 месяцев назад сделано Sergey.
-
АвторСообщения
-
Дак может правильно все? Щит-та не подключен)) Поэтому и референсов у него нет. Это ж последний щит в системе. Создай ему электрическую цепь – референсы и появятся. Сам же на своем скрине внимательно и посмотри. Сам щит наполный не включен ни в какую другую электрическую цепь. Это как обычная розетка, которая не подключена никуда – тоже список референсов пустой будет.
ilgnv88УчастникВ моей задаче по электрической цепи необходимо найти оборудование входящее в данную цепь (BaseEq и Elements). Учитывая
На каждую подключенную к щиту электрическую цепь создается свой виртуальный коннектор
connector.AllRefs – выдаст коннекторы, с которыми связан. Иначе список будет пустой.
У настоящего коннектора домен Autodesk.Revit.DB.Domain.DomainElectrical
У виртуального коннектора домен Autodesk.Revit.DB.Domain.Undefined
получается, что определить из электрической цепи условием:for con in conList: reflist = [x for x in con.AllRefs] isElectrical = con.Domain == Autodesk.Revit.DB.Domain.DomainElectrical if reflist and isElectrical: isConnected = True
можно только Elements, но не BaseEq.
BaseEq будет подчиняться этому же условию если он сам подключен в другой щит (BaseEq)
И таким образом если у нас есть щит, к которому все подключаются, то он будет иметь только виртуальный коннектор и для него необходимо проверять условие:for con in conList: reflist = [x for x in con.AllRefs] isElectrical = con.Domain == Autodesk.Revit.DB.Domain.Undefined if reflist and isElectrical: isConnected = True
ilgnv88УчастникСергей, спасибо большое за консультацию. Ещё один вопрос остался, где можно почитать про сам процесс создания (где узнал про виртуальные коннекторы). Не совсем понятно, пока что, такие создаются только для ЭМ или для ОВ, ТО..
Спасибо за помощь, в итоге сделал так (для кабеля):
a = UnwrapElement(IN[0]) #Разворачиваем элемент из Revit в Python
conList = [x for x in a.ConnectorManager.Connectors] #формируем список соединителей кабеля
results = [] #формируем пустой список для результата`
for con in (conList): #для каждого соединителя кабеля
reflist = [x for x in con.AllRefs] #определяем список подключенных соединителей
for ref in (reflist): #каждый соединитель из списка строкой выше
if ref.Owner.Id != a.Id: results.append(ref.Owner) #проверяем на принадлежность к исходному кабелю
#и если соединитель уникальный добавляем его в список результатов
OUT = results -
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.