Электрические цепи

Главная Форумы Задать вопрос Электрические цепи

Просмотр 15 сообщений - с 1 по 15 (из 20 всего)
  • Автор
    Сообщения
  • #5065 Score: 0
    Dmitry Shelyago
    Участник
    1 pt

    Добрый день!

    Не могли бы подсказать, Есть ли привязка (параметр) который связывает объект( например, выключатель) с электрической цепью? Очевидного  такого параметра. Есть Спецификация заполненная в ревите по эл. цепям нужно с неё передать информацию со столбиков “Номер Группы ” и “Префикс номера группы” в такие же параметры у элементов. Вот не могу найти в ревите связь электрооборудования с электрической цепью, чтобы сделать автоматическое заполнение. ПРобовал делать так: делать выборку элементов с помощью селекта, вытаскивать параметр “Питание от” ( единственная связь с эл. цепями которую я нашёл) и потом из всех эл.цепей вытаскивать параметр “Панель ” и сравнивать их. Но этого не достаточно, ибо как электрических цепей с таким параметром может быть много.  ВООбще с электрикой не работал и столкнулся в первый раз-попросили помочь. Вот самому теперь интересно. Кто-нибудь с таким сталкивался? Есть ли Свзязь у элементов с эл.цепями. Или через эл.цепь выйти на элементы как-то?

    Зарание спасибо! К сожалению рвт выложить не могу, вот скрины:

    P.S. пытался анврапить элементы, но никаких параметров не всплывало.

    #5066 Score: 0
    Legantmar
    Хранитель
    474 pts

    как мне думалось: обычно спецификации составляют на элементы, т.е. название столбцов в спецификации это название параметров у элементов.
    Если в твоем случае спецификации (например, кабельный журнал) и элементы разные, то есть 2 способа:
    1) использовать нод Schedule.GetCalculatedValues из пакета SteamNodes (ниже условный пример)

    2) посмотреть пост “Работа со спецификацией”, где я показал как и поделился исходником (нужно знать Python и чуть чуть Revit API)
    далее, как обычно, полученное значение загружаешь в параметр элемента через нод SetParameter

    #5067 Score: 0
    Dmitry Shelyago
    Участник
    1 pt

    Спасибо! уже завтра пробовать буду, отпишусь как что получится! Ещё была мысль попробовать с помощью нода пакета clockwork с помощью которого можно проверить объекты рядом находящиеся( например оборудование в помещении) , там вроде проверялась по категориям.

    #5068 Score: 0
    Legantmar
    Хранитель
    474 pts

    поищи на форуме информацию о ноде GetSurroundingElements из пакета SteamNodes

    http://dynamobim.ru/forums/topic/как-вытащить-кол-во-светильников-из-од/#post-2629

    #5070 Score: 0
    Dmitry Shelyago
    Участник
    1 pt

    Спасибо за GetSurroundingElements!! очень полезный нод но с его помощью не получилось(не видит он эл. цепи к сожалению)

    Задача немного приобрела новый поворот:

    У меня имеется 2 общих праметра для электрических цепей и силового оборудования: “Префикс номера группы” и “Номер группы”. Эти параметры заполнены у категории “электрическая цепь” и у них же заполнены параметры “Панель” и “Номер цепи”.  У категории “силовое оборудование” есть системные параметры параметры “Панель” и “Номер цепи” . Мне нужно чтобы из электрической цепи с такими же параметрами как у силового оборудования передавалисьпараметры: “Префикс номера группы” и “Номер группы”. Вытащил из оборудования и из цепей параметры, теперь не знаю как правильно сравнить, чтобы потом по маске можно было бы отфильтровать оборудование чтобы заполнить им. Я так понимаю там проверку по “векторное произведение” нужно делать? Не могли бы помочь? Скидываю наработки динамо.

    https://yadi.sk/d/XzoZKSYJ3ENLQ6

    #5071 Score: 0
    Legantmar
    Хранитель
    474 pts

    на сколько я знаю, двойное условие можно сделать только в Python

    Если количество цепей цепей и количество эл. оборудования совпадает, то можно вот так красиво (через zip – одновременно сравнивать элементы).

    #5072 Score: 0
    Dmitry Shelyago
    Участник
    1 pt

    Принцип понял, но что-то не работает. У меня цепей больше чем силовых приборов, может в этом загвостка?

    Хм, сейчас ещё попробую все параметры в строки перевести, на всякий случай.

    #5073 Score: 0
    Legantmar
    Хранитель
    474 pts

    Вот так наверно правильнее..

    #5074 Score: 0
    Dmitry Shelyago
    Участник
    1 pt

    Большое спасибо что помогаете! Сам не справился бы!

    Но к сожалению почему-то не совсем верно работает, не везде считает  почему-то, хотя при просмотре такие сооответсвтвия есть. см скриншоты.

    На спецификации эл. цепей видно что с названием такой панели и и номером цепи у силового оборудования [0] должены быть параметры Префикс и Группа 03F и 3 (4 и 5 столбцы) . Пометил стрелочками. Я в питоне не очень разбираюсь, не могу найти в чём проблема. Может то что, у эл. цепей есть одинаковые параметры ” Панель” ?

    #5075 Score: 0
    Legantmar
    Хранитель
    474 pts

    странно, проверяй

    если код в python правильный, то попробуй заменить строчку if str(p) == str(d) and str(IN[2][i]) == str(IN[3][k]):

    #5076 Score: 0
    Dmitry Shelyago
    Участник
    1 pt

    Если вставить строчку if str(p) == str(d) and str(IN[2][i]) == str(IN[3][k]): то выдаёт такую ошибку

     

    Если поменять местами входящие IN[0] c IN[1] а IN[2] с IN[3], то заполняет не верно и в итоге получается список из 234 элементов, а должен быть по идее 240.

    #5077 Score: 0
    Dmitry Shelyago
    Участник
    1 pt

    Что-то никак не получается. А если, например, соединять сразу значения “Панель” и “Номер цепи” (a + “,” + b)в оборудовании и в цепях и потом сравнивать уже по получившемуся значению, получится?

    #5078 Score: 0
    Dmitry Shelyago
    Участник
    1 pt

    Пропадают где-то ещё 6 значений, помимо того, что неправильно заполняет, меня это смущает… а что делает Enumerate? Видимо что-то с питоном

    #5079 Score: 0
    Legantmar
    Хранитель
    474 pts

    поставь перед каждый портом Python стандартные ноды String from Object

    #5080 Score: 0
    Dmitry Shelyago
    Участник
    1 pt

    не помогло, пробовал

     

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