как выбрать элементы по их id ?

Главная Форумы Задать вопрос как выбрать элементы по их id ?

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

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

    Ром
    Участник

    Добрый день коллеги. Подскажите пожалуйста, как выбрать элементы из Revit по списку их id? Никак не могу найти в API как это сделать. Как это сделать в Dynamo и в питоне?

    #7184 Score: 0

    ИваСерж
    Модератор
    46 pts
    #7185 Score: 0

    Ром
    Участник

    Спасибо большое за ответ, но если у меня есть только id каких-то элементов, где я не знаю ни их категорию, ни их тип/символ…как быть тогда?

    #7186 Score: 0

    Ром
    Участник

    может ли мне помочь в этой задаче “ElementIdParameterValue Constructor (ElementId)”. Если да – то как его использовать?

    #7187 Score: 1

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

    Не понимаю, в чем проблема.
    Если ИДшник в виде стринга – преобразовываем стринг в ИДшник.
    Проверил. Работает на любом элементе

    id = ElementId(IN[0])
    OUT = doc.GetElement(id)

     

    #7188 Score: 0

    Ром
    Участник

    чёт не получается(

    #7189 Score: 0

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

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

    #—————————————————————

    import clr

    #Import RevitAPI
    clr.AddReference(“RevitAPI”)
    import Autodesk
    from Autodesk.Revit.DB import *

    clr.AddReference(‘ProtoGeometry’)
    from Autodesk.DesignScript.Geometry import *

    #Import Element wrapper extension methods
    clr.AddReference(“RevitNodes”)
    import Revit
    clr.ImportExtensions(Revit.Elements)

    # Import DocumentManager and TransactionManager
    clr.AddReference(“RevitServices”)
    import RevitServices
    from RevitServices.Persistence import DocumentManager
    from RevitServices.Transactions import TransactionManager

    doc = DocumentManager.Instance.CurrentDBDocument
    uiapp = DocumentManager.Instance.CurrentUIApplication
    app = uiapp.Application

     

    #7190 Score: 0

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

    https://www.dropbox.com/s/63nc4b8i2an80l5/2017.12.04%20ElementFromStrID.dyn?dl=0

    Выложил скрипт.

    Поскольку он лежит у меня на дропбоксе – удалю как захочу. Хранить вечно не обещаю ))

    #7191 Score: 0

    Ром
    Участник

    да, получилось с шаблоном, теперь осталось цикл сделать для списка)) Спасибо большое)

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

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