Коннектор электрооборудования

Главная Форумы Задать вопрос Коннектор электрооборудования

Помечено: , ,

  • В этой теме 19 ответов, 4 участника, последнее обновление 4 года назад сделано Sergey.
Просмотр 5 сообщений - с 16 по 20 (из 20 всего)
  • Автор
    Сообщения
  • #9814 Score: 0
    ИваСерж
    Хранитель
    134 pts

    Дак может правильно все? Щит-та не подключен)) Поэтому и референсов у него нет. Это ж последний щит в системе. Создай ему электрическую цепь – референсы и появятся. Сам же на своем скрине внимательно и посмотри. Сам щит наполный не включен ни в какую другую электрическую цепь. Это как обычная розетка, которая не подключена никуда – тоже список референсов пустой будет.

    #9816 Score: 0
    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
    #9817 Score: 0
    ilgnv88
    Участник

    Сергей, спасибо большое за консультацию. Ещё один вопрос остался, где можно почитать про сам процесс создания (где узнал про виртуальные коннекторы). Не совсем понятно, пока что, такие создаются только для ЭМ или для ОВ, ТО..

    #9818 Score: 1
    ИваСерж
    Хранитель
    134 pts

    Сергей, спасибо большое за консультацию
    Если не сложно, прошу залайкать “Vote up” сообщение, которое помогло в решении проблемы.

    где узнал про виртуальные коннекторы
    Нигде не узнавал. Потестил Лукапом твой тест-проект. Кроме лукапа и РевитАпиДокс ничего не использую.

    #9826 Score: 1
    Sergey
    Участник
    1 pt

    Спасибо за помощь, в итоге сделал так (для кабеля):

    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

Просмотр 5 сообщений - с 16 по 20 (из 20 всего)
  • Для ответа в этой теме необходимо авторизоваться.