Электрические цепи
Главная › Форумы › Задать вопрос › Электрические цепи
- В этой теме 19 ответов, 3 участника, последнее обновление 5 лет, 4 месяца назад сделано Константин Селезнев.
-
АвторСообщения
-
Добрый день!
Не могли бы подсказать, Есть ли привязка (параметр) который связывает объект( например, выключатель) с электрической цепью? Очевидного такого параметра. Есть Спецификация заполненная в ревите по эл. цепям нужно с неё передать информацию со столбиков “Номер Группы ” и “Префикс номера группы” в такие же параметры у элементов. Вот не могу найти в ревите связь электрооборудования с электрической цепью, чтобы сделать автоматическое заполнение. ПРобовал делать так: делать выборку элементов с помощью селекта, вытаскивать параметр “Питание от” ( единственная связь с эл. цепями которую я нашёл) и потом из всех эл.цепей вытаскивать параметр “Панель ” и сравнивать их. Но этого не достаточно, ибо как электрических цепей с таким параметром может быть много. ВООбще с электрикой не работал и столкнулся в первый раз-попросили помочь. Вот самому теперь интересно. Кто-нибудь с таким сталкивался? Есть ли Свзязь у элементов с эл.цепями. Или через эл.цепь выйти на элементы как-то?
Зарание спасибо! К сожалению рвт выложить не могу, вот скрины:
P.S. пытался анврапить элементы, но никаких параметров не всплывало.
как мне думалось: обычно спецификации составляют на элементы, т.е. название столбцов в спецификации это название параметров у элементов.
Если в твоем случае спецификации (например, кабельный журнал) и элементы разные, то есть 2 способа:
1) использовать нод Schedule.GetCalculatedValues из пакета SteamNodes (ниже условный пример)2) посмотреть пост “Работа со спецификацией”, где я показал как и поделился исходником (нужно знать Python и чуть чуть Revit API)
далее, как обычно, полученное значение загружаешь в параметр элемента через нод SetParameterСпасибо! уже завтра пробовать буду, отпишусь как что получится! Ещё была мысль попробовать с помощью нода пакета clockwork с помощью которого можно проверить объекты рядом находящиеся( например оборудование в помещении) , там вроде проверялась по категориям.
поищи на форуме информацию о ноде GetSurroundingElements из пакета SteamNodes
http://dynamobim.ru/forums/topic/как-вытащить-кол-во-светильников-из-од/#post-2629
Спасибо за GetSurroundingElements!! очень полезный нод но с его помощью не получилось(не видит он эл. цепи к сожалению)
Задача немного приобрела новый поворот:
У меня имеется 2 общих праметра для электрических цепей и силового оборудования: “Префикс номера группы” и “Номер группы”. Эти параметры заполнены у категории “электрическая цепь” и у них же заполнены параметры “Панель” и “Номер цепи”. У категории “силовое оборудование” есть системные параметры параметры “Панель” и “Номер цепи” . Мне нужно чтобы из электрической цепи с такими же параметрами как у силового оборудования передавалисьпараметры: “Префикс номера группы” и “Номер группы”. Вытащил из оборудования и из цепей параметры, теперь не знаю как правильно сравнить, чтобы потом по маске можно было бы отфильтровать оборудование чтобы заполнить им. Я так понимаю там проверку по “векторное произведение” нужно делать? Не могли бы помочь? Скидываю наработки динамо.
Принцип понял, но что-то не работает. У меня цепей больше чем силовых приборов, может в этом загвостка?
Хм, сейчас ещё попробую все параметры в строки перевести, на всякий случай.
Большое спасибо что помогаете! Сам не справился бы!
Но к сожалению почему-то не совсем верно работает, не везде считает почему-то, хотя при просмотре такие сооответсвтвия есть. см скриншоты.
На спецификации эл. цепей видно что с названием такой панели и и номером цепи у силового оборудования [0] должены быть параметры Префикс и Группа 03F и 3 (4 и 5 столбцы) . Пометил стрелочками. Я в питоне не очень разбираюсь, не могу найти в чём проблема. Может то что, у эл. цепей есть одинаковые параметры ” Панель” ?
странно, проверяй
если код в python правильный, то попробуй заменить строчку if str(p) == str(d) and str(IN[2][i]) == str(IN[3][k]):
Если вставить строчку 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.
Что-то никак не получается. А если, например, соединять сразу значения “Панель” и “Номер цепи” (a + “,” + b)в оборудовании и в цепях и потом сравнивать уже по получившемуся значению, получится?
Пропадают где-то ещё 6 значений, помимо того, что неправильно заполняет, меня это смущает… а что делает Enumerate? Видимо что-то с питоном
поставь перед каждый портом Python стандартные ноды String from Object
не помогло, пробовал
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.