Создание текстовой анатоции на чертежном виде.

Главная Форумы Python Помогите с питон кодом Создание текстовой анатоции на чертежном виде.

Просмотр 9 сообщений - с 1 по 9 (из 9 всего)
  • Автор
    Сообщения
  • #3913 Score: 0
    Kami.ukr
    Участник
    1 pt

    Привет ребята, Legantmar выкладывал скрипт для создание шапки таблички. И Alexandr Popov тоже, для создание спецификаций. Так вот в 17 ревите появился новый класс для работы с текстами. И соответственно старые методы не работают. Я хотел переписать для новой, но столкнулся с трудностями. Может кто то поможет мне их разрешить.

    Я думал что он ругается на то что текущий документ это объект динамо, а не ревит. Я попробовал его развернуть но ошибка все та же.

     

    #3922 Score: 1
    Legantmar
    Хранитель
    475 pts

    “доброжелатели” в очередной раз поменяли API и удалили эту Create.NewNextNote

    ты почти правильно написал, TextNote.Create(doc, viewId, xyz, text, texttypeId) (где только не view (вид)  и texttype (тип текста), а их Id)
    все равно пришлось переписать заново. Скачать скрипт для 2017

    и да засада в том, что для получения этого texttype нужно указать надпись для примера (т.е. на листе должна быть какая-то надпись, ее и выбрать)

    0,0,0 – координата нижнего левого угла рамки листа

    p.s. также вставляется и на “слой” легенды, но нужно следить за его масштабом, ибо текст и линии зависят от него.

    #5480 Score: 0
    Степан
    Участник


    Почемуто Динамо выдает ошибку, не нравится строка 30 :texttype = doc.GetElement(UnwrapElement(IN[2]).GetTypeId())
    Ну на самом деле как я понимаю проблемма в выборе текста, не понимаю, почему компьютер ругается с выбором текста

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

    Доброго времени суток, друзья! Напишу здесь, так как наиболее подходящая тема для вопроса. Есть ли возможность сейчас (Revit 2018) вставить текст на чертежном виде или легенде с выбором расположения текста по горизонтали и вертикале посредине? Получилось создать текст с помощью скрипта, созданного Антоном методом Create(Document, ElementId, XYZ, String, ElementId) через елемент.айди. Как показывает Revit API в методе Create Method (Document, ElementId, XYZ, String, TextNoteOptions)  в XYZ зашифрована возможность вставки текста посредине, но как добраться к самому TextNoteOptions никак не могу понять. Прошу натолкнуть на мысли. Спасибо за внимание)

    #7754 Score: 0
    Legantmar
    Хранитель
    475 pts

    Анатолий, посмотри здесь пример на C# (легко переделывается на питон)
    http://www.revitapidocs.com/2018.1/b0fd6ef8-a0ef-9cf4-5bc2-8cd65f81f648.htm

    если не разберешься, то завтра помогу.

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

    Спасибо, Антон! Поизучал возможности этого метода, раньше тоже искал где-то-здесь в Ревит апи, но его не увидел. К сожалению, получилось немало, но не то. Не смог побороться с

    s = opts.HorizontalAlignment.Center

    на эту строчку питон упрямо не обращает внимания, не зависимо

    от opts=TextNoteOptions(texttypeId)

    в создании текста у меня строка note = TextNote.Create(doc, viewId, origin, len, Text[i], opts).

    Но получился вариант выравнивания теста по центру предыдущим методом ,через Id, правда потом пришлось доставать все TextNote и потом параметрами их выравнивать с помощью LookupParameter, но у этого метода один существенный (для меня) минус – он работает только в английской версии ревита.

    Спасибо за помощь!

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

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

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

    Кстати, кому интересно, создание текста в русскоязычной версии ревита возможно методом опций, вместо id – note = TextNote.Create(doc, viewId, origin, len, Text[i], opts). Тоже нюанс, после создания тестовых аннотаций возможности отредактировать их нет, текстовые элементы в динамо не выбираются.
    Для примера хочу предоставить скрипт создания заготовки таблицы ведомости оконных блоков в легенде.
    По управляющим нодам: Дл – количество столбцов; Вс – количество строк; Ресет – поскольку элементы создаются нодами (не через питон),
    динамо их отслеживает и если запустить скрипт с другими показателями количества, табличка может создаться некорректно; Название вида – новая пустая легенда в 100-м масштабе.
    Скрипт
    Видео https://youtu.be/JOtHG8sjAGk

    #8991 Score: 0
    Max
    Участник

    Всем привет, ребят выручайте. Есть скрип по импорту спецификации из Excel в Revit. Это немного измененный скрипт от Александра Попова (теперь работает в Revit 2019). При создании линий таблицы, они появляются на плане этажа в виде обобщенной модели. Можно это как то убрать?

    Вот так это выглядит на чертежном виде и плане этажа:

    Скачать скрипт можно тут

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