Подпись списка систем в параметр типа

Главная Форумы Python Revit Library (API) Подпись списка систем в параметр типа

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

    Добрый день, господа! Столкнулся с такой задачей:
    есть, например, вентилятор Тип1. Он входит в системы В1, В3. Базовыми средствами в спецификацию это не вывести. Соответственно, надо вписать в некий текстовый параметр весь список систем (в данном случае – В20, В20′), к которым принадлежит вентилятор Тип1.
    скрин

    #1454 Score: 0
    Vladimir
    Участник
    13 pts

    вот как-то так

    #1457 Score: 0
    Dmitry_dronov
    Модератор
    50 pts

    Несколько раз прочёл задачу но все равно не очень уловил главную суть. Вам нужно вписывать в примечание текст? Это можно делать с помощью нода SetParameter

    #1458 Score: 0
    Vladimir
    Участник
    13 pts

    мне нужен питон, чтобы получить массив из систем. пока вот так, но не работает. ЧЯДНТ?

    type = IN[0]
    system = IN[1]
    
    ziped = zip(type,system)
    result = []
    for index, val in enumerate(type):
    	result.insert(index, ','.join(map(lambda x: x[1],filter(lambda x: x[0] == val , ziped))))
    OUT = result


    Почему-то не склеивает значения. Пока не понял, почему.

    Взял Python код в кавычки кода (Дмитрий)

    #1459 Score: 1
    Khasan Mamaev
    Модератор
    186 pts

    Можно попробовать сделать без Питона, как то так
    string01.png

    #1460 Score: 1
    Khasan Mamaev
    Модератор
    186 pts

    или так
    string02.png

    #1461 Score: 0
    Vladimir
    Участник
    13 pts

    вот динамо, может, станет понятнее.
    https://yadi.sk/d/g8Gvc4cmioYPs

    #1465 Score: 3
    Legantmar
    Хранитель
    474 pts

    Владимир, может вот так? (это то, что сделал Хасан выше, но в теле питона)
    но без StringFromObject не обойтись:

    #1466 Score: 0
    Vladimir
    Участник
    13 pts

    Премного благодарен! Да, мне не хватало StringFromObject.

    #1467 Score: 0
    Khasan Mamaev
    Модератор
    186 pts

    В Питон есть еще такой метод для соединения текста
    ‘*’.join([‘a’,’b’]) = a*b

    #1468 Score: 0
    Vladimir
    Участник
    13 pts

    ну я джойном и пользовался вроде как. result.insert(index, ‘,’.join(map(lambda x: x[1],filter(lambda
    x: x[0] == val , ziped))))

    #1469 Score: 0
    Khasan Mamaev
    Модератор
    186 pts

    Сложно как то получилось у тебя:)
    a=IN[0]
    b=IN[1]
    res=[]
    for i in range(len(a)):
    res.append(‘,’.join([a[i],b[i]])

    #1470 Score: 1
    Legantmar
    Хранитель
    474 pts

    res.append(‘,’.join([a[i],b[i]]) это кто ж такое выдумал ))
    проще и нагляднее на мой взгляд:
    res.append(a[i] + ","+ b[i])

    #1471 Score: 2
    Khasan Mamaev
    Модератор
    186 pts

    Такое выдумали те же самые люди, которые нас научили Питону, наш уровень знания Питона не позволяет нам над ними смеяться, скорей всего мы чего то не понимаем.

    #1472 Score: 1
    Vladimir
    Участник
    13 pts

    А вообще хочу выразить огромную благодарность за этот ресурс, где объединены люди, понимающие в динамо и питоне. Я не владею ни тем, ни тем (слова “динамо” и “питон” я узнал пару месяцев назад), потому мне очень полезно увидеть множество мнений и идей. Хотелось бы, чтобы больше народа выкладывало свои прикладные задачи в динамо. Мои ОВшники сегодня сказали мне “бик зур рэхмэт” за скрипт, позволяющий существенно ускорить составление спецификации оборудования, что, собственно, и было целью. Но фантазии по автоматизации не безграничны, потому интересны чужие проблемы.

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