Чтение и запись значений параметров в Python

Главная Форумы Задать вопрос Чтение и запись значений параметров в Python

В этой теме 13 ответов, 5 участников, последнее обновление  Иван 6 мес., 1 неделя назад.

Просмотр 14 сообщений - с 1 по 14 (из 14 всего)
  • Автор
    Сообщения
  • #7619 Score: 0

    Семен
    Участник
    5 pts

    Здравствуйте, прошу научить чтению и записи значений параметров в Dynamo в Python.

    .LookupParameter(“Комментарии”).AsString() позволяет прочесть некоторые параметры, но не Тип.

    .LookupParameter(“Тип”).AsString() не работает. Почему? Как прочитать Тип?

    #7624 Score: 1

    ИваСерж
    Модератор
    94 pts

    Lookup или GetParameter – выдает ПАРАМЕТРЫ, что не удивительно.
    ТИП – параметром не является! Это свойство. Соответственно свойство получаем через точку.
    i.Name – получаем имя(!) типа.
    Получение Типа(!) для дальнейшей работы (например для записи параметров типа), немножко сложнее. Сначала получаем АйДишник типа, и только потом по АйДишнику выбираем тип.

    typeId = i.GetTypeId()
    type = doc.GetElement(typeId)

    Оригинал статьи можно нагуглить. Разобраться подробней со Свойствами и Методами поможет RevitLookup
    http://thebuildingcoder.typepad.com/blog/2012/04/getelement-method-and-get-element-type.html

    #7625 Score: 0

    Александр
    Участник
    4 pts

    Коллеги подскажите пожалуйста как в   питоном можно получить все элементы относящиеся к  определённой категории?

    #7627 Score: 0

    ИваСерж
    Модератор
    94 pts

    Затронутая тема общирная и касается FilteredElemenCollector
    Если прочтешь и поймешь эту статью – будет тебе респект
    http://thebuildingcoder.typepad.com/blog/2010/10/filtered-element-collectors.html

    Есть статьи попроще. Ответ ищи тут.
    How To Find Elements

    #7629 Score: 0

    Александр
    Участник
    4 pts

    Спс. То что нужно!

    #7640 Score: 0

    Legantmar
    Хранитель
    449 pts

    Александр, посмотри этут ему
    http://dynamobim.ru/forums/topic/filteredelementcollector/

    #7683 Score: 0

    Семен
    Участник
    5 pts

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

    Как получить имя типоразмера? Где его выковырять?

    #7684 Score: 0

    ИваСерж
    Модератор
    94 pts

    Может, глюк консоли?
    familyInstance.Symbol.Name – работает аж бегом.

    Может, всетаки попробовать вариант от БилдингКодера?
    typeId = i.GetTypeId()
    type = doc.GetElement(typeId)

    #7685 Score: 0

    ИваСерж
    Модератор
    94 pts

    Так… проверил в Динамо.
    familyInstance.Symbol – как ни странно, но получаем не FamilySymbol, а стринг str. – Может быть, это особенность Питона?
    У стринга конечно же нету атрибута .Name

    Метод извлечения типа через документ работает.
    typeId = i.GetTypeId()
    type = doc.GetElement(typeId)

    #7686 Score: 0

    Семен
    Участник
    5 pts

    #7687 Score: 0

    Семен
    Участник
    5 pts

    Тип получаю, но не умею достать имя

    #7688 Score: 1

    ИваСерж
    Модератор
    94 pts

    Может, попробовать совсем деревянный способ?
    fType.get_Parameter(BuiltInParameter.SYMBOL_NAME_PARAM)

    #7689 Score: 0

    Семен
    Участник
    5 pts

    Спасибо, получилось)

    #7690 Score: 0

    Иван
    Участник
    4 pts

    Тоже как-то вытаскивал имя типа из элементов. Получалось вот так:

    doc.GetElement(el.GetTypeId()).FamilyName

    То есть получилось вытащить через свойство .FamilyName

    Уже точно не помню всех ньюансов, но вроде бы если брать просто Name, то он выдавал string типа “Autodesk.Revit.DB…” и тд.

    Ссылка на свойство в RevitAPI:

    http://www.revitapidocs.com/2017.1/10de5c66-1b4b-9214-4036-27a6b24e5703.htm

Просмотр 14 сообщений - с 1 по 14 (из 14 всего)

Для ответа в этой теме необходимо авторизоваться.