Перемножение списков.

Главная Форумы Задать вопрос Перемножение списков.

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

    Привет всем! Как перемножить список элементов на соответствующее им числовое значение параметра?

    То есть имеем сгруппированный список помещений, надо перемножить их на параметр количества типовых этажей.

    Если просто перемножать получаю нули. Надо как-то из списка помещений сделать единицы.

    #9318 Score: 0
    Алексей
    Участник
    5 pts

    Привет. Если не сложно – можно приложить скрин из динамо?

    полагаю string надо перевести в integer

    #9319 Score: 0
    Дмитрий (Dgrov)
    Участник

    Как перевести?

    #9320 Score: 0
    Анатолий
    Участник
    37 pts

    А как вы себе представляете конечный результат? Если даже создать новый параметр помещений, который будет равняться единице и умножить первый список на второй, в итоге все равно получится второй список. Что-то я не понимаю смысл задачи. А на скрине вы пытаетесь умножить килограммы на километры.

    #9321 Score: 0
    Дмитрий (Dgrov)
    Участник

    Да, похоже немного не туда )) . Нужно чтобы у помещений появился параметр в котором указывалось сколько всего уникальных квартир используется в трех корпусах здания, где каждый корпус имеет разное количество типовых этажей. Спецификацией это легко, но стоит задача не плодить их, а сделать скрипт. За уникальность отвечает параметр “ADSK_Индекс квартиры”, количество типовых этажей – тоже отдельным параметром.

    #9322 Score: 0
    Анатолий
    Участник
    37 pts

    “Нужно чтобы у помещений появился параметр в котором указывалось сколько всего уникальных квартир используется в трех корпусах здания, где каждый корпус имеет разное количество типовых этажей” – думаю, необходимо для себя решить каким образом высчитывается этот параметр. И если необходима помощь в динамо, хорошо было бы на скринах показать что есть и откуда что берется, пока  что не совсем ясно.

    #9323 Score: 0
    Дмитрий (Dgrov)
    Участник

    Есть три корпуса разной этажности, в каждом из них присутствуют одинаковые квартиры. Задача посчитать сколько всего одинаковых квартир.

    К примеру, в корпусе 1 (10 этажей) на типовом этаже три уникальные квартиры, в корпусе 2 (15 этажей) – их уже 4, а в в корпусе 3 (20 этажей) – 5 квартир. Тогда всего (3*10)+(4*15)+(5*20)=190 квартир. Вот это число и должно попадать в новый общий параметр помещения.

    Смоделирован только типовой этаж.

    Решение с помощью спецификаций ревита: Из всех помещений выбираем только по одному от квартиры (фильтруем по параметр “имя”), заполняем параметр “количество типовых этажей”, перемножаем и сортируем по уникальности (параметр “индекс квартиры”). Хорошо, но получается много спецификаций.

    В динамо: также отфильтровываю по одному от квартиры, а вот после не совсем понятно. Надо как-то сгруппировать по корпусам, потом каждый список умножить на количество этажей, получить общее количество по уникальности и занести в новый общий параметр.

     

    #9324 Score: 1
    Анатолий
    Участник
    37 pts

    Попытался сделать как-то так

    В чем суть? Достаем параметры номер квартиры, секция(корпус) и этаж (уровень). Для всех помещений внутри каждой квартиры параметр “номер квартиры” будет одинаковым, потому собираем в одну строчку три параметра и отбираем уникальные, получаемое количество записываем в новый параметр.

    #9325 Score: 0
    Дмитрий (Dgrov)
    Участник

    Анатолий, спасибо за участие! Попытаюсь разобраться на вашем примере, хотя если бы было нодами, мне будет значительно легче )). Если я правильно понял, то вы просто вытащили по одному помещению из квартиры и сосчитали сумму. Не хватает данных – сколько у вас в расчете этажей и секций? Хорошо бы вы смоделировали хотя бы две секции с разной этажностью.

    Плохо понимаю питон, что делает строчки [s=i+” “+j+” “+k] и [DsCore.List.UniqueItems(List)]?

    И еще у вас все помещения физически раскинуты по этажам, а у нас моделируется только один этаж. За количество этажей отвечает отдельный параметр.

    #9327 Score: 0
    Анатолий
    Участник
    37 pts

    Дмитрий, в таких задачах намного удобнее было работать бы с тем файлом, в котором необходим расчет, или, конечно, с его подобием (правильным примером), иначе такие вопросы возникать и будут. Сам смоделировал две секции с разными типовыми этажами. Пытался максимально приблизить свой файл к необходимым данным поставленной задачи насколько возможно.

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

    Строчка s=i+” “+j+” “+k суммирует каждую последовательную строчку каждого списка и суммирует в одном, это видно на скрине, в первом Watch,

    [DsCore.List.UniqueItems(List)] – это нод UniqueItems на питоне.

    #9331 Score: 0
    Дмитрий (Dgrov)
    Участник

    Вот, прикладываю фрагмент проекта. Цель – данные из колонки “ИТОГО” спецификации должны попасть в новый параметр помещений. Если возможно, лучше нодами или с применением дизайн скрипта. Тогда дальше сам смогу. Спасибо.

    https://www.dropbox.com/sh/f366wg7uf4gdffp/AAA9fQVDuGqiOBJJC8zfDFf-a?dl=0

    #9337 Score: 0
    Андрей
    Участник
    2 pts

    Дмитрий, Вы получили сами квартиры. А Вам нужно получить количество квартир, а не сами квартиры. Тогда все можно будет перемножить.

    #9339 Score: 0
    Анатолий
    Участник
    37 pts

    Как-то так. Новый параметр записывается только в помещения кухни (согласно спецификации)

    #9340 Score: 0
    Дмитрий (Dgrov)
    Участник

    Анатолий, то что нужно, спасибо!

    #9447 Score: 0
    Ренат Я.
    Модератор
    79 pts

    у меня вот так получилось, я сортировала о номеру квартиры, а не по кухне. и по чему-то квартир с индексом 1.2 получилось 46, а не 41, остальные сошлись

    добавил параметр “Кол-во квартир”

    Скрипт

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