Назначение стиля линий в Revit API

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

В этой теме 7 ответов, 3 участника, последнее обновление  Семен 6 мес., 2 нед. назад.

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

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

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

    https://pastebin.com/AeF2LaTR

    #7805 Score: 0

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

    Нашел такую ссылочку. Выглядит адекватно

    https://forums.autodesk.com/t5/revit-api-forum/change-linestyle-parameter-in-api/td-p/5572927

    #7807 Score: 0

    Legantmar
    Хранитель
    450 pts
    #7808 Score: 0

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

    Legantmar, ваш урок я изучил с самого начала

    #7823 Score: 0

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

    Прикол в том, что код Legantmar‘а даёт нам Категории:
    categories = doc.Settings.Categories # получаем все категории
    lineCat = categories.get_Item(BuiltInCategory.OST_Lines )  # из всех категорий выбираем категорию линий (о чем свидетельствует OST_Lines)
    lineTypes = lineCat.SubCategories # Все стили линий лежат в так называемой субкатегории, можно убедиться и вывести их имена OUT =  [i.Name for i in lineStyleSubTypes]
    Если же взять стиль у какой-нибудь линии в проекте через line.LineStyle, то это будет не Категория, а Элемент (я вообще не уверен, что полностью понимаю иерархию сущностей ревитапи). Думаю, что первое каким-то образом может быть приведено ко второму (может нужно что-то похожее на UnwrapElement?).

    https://pastebin.com/1eS12iZc

    #7824 Score: 0

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

    По приведенной ИваСержем ссылке на форум в Сишном коде есть некое “as GraphicsStyle”. Возможно, мне не хватает аналогичного приёма

    #7825 Score: 2

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

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

     

    с тебя лайк.

    #7829 Score: 0

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

    Да, спасибо, FilteredElementCollector(doc).OfClass(Autodesk.Revit.DB.GraphicsStyle) решил проблему.

    с меня лайк

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

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