Сообщество программистов Autodesk в СНГ

ADN Club => Revit API => Тема начата: Алексей (IdeaSoft) от 16-12-2018, 22:24:52

Название: Как подменить номер документа
Отправлено: Алексей (IdeaSoft) от 16-12-2018, 22:24:52
Вообщем такая проблема имею 800 листов проекта, а точнее 200 файлов Revit в каждом по 4 листа.

Изменились вводные.
У заказчика изменился номер документа в основном штампе.

Нужно автоматизировать процесс замены номера документа
В этой структуре пока что смог добраться до семейства с именем "A3A"
Семейство рамки и основного штампа создавал ни я а подрядная организация.
Я в структуре этого семейства "НИ В КУРСАХ".

Код - C# [Выбрать]
  1.     public void ReplaseNumDoc(RVT_DB.Document doc,
  2.                                   RVT_DB.ViewSheet vs)
  3.     {
  4.         // Набор элементов листа
  5.         var select = new RVT_DB.FilteredElementCollector(doc, vs.Id);
  6.         int c = select.GetElementCount();
  7.         for (int i = 0; i < c; i++)
  8.         {
  9.             var subElem = select.ElementAt(i);
  10.             if (subElem.Name == "А3А")
  11.               {
  12.                  // Дальше что этим семейством делать и как найти номер документа не понятно
  13.                  // 1) subElem.GetSubelements(...) тут пусто ни чего не нашел
  14.                  // 2) subElem.GetEntity(...)  тут не ясно что за shema
  15.                  // 3) subElem.GetDependentElements(...) тут не понятно что в качестве фильтра передавать
  16.                }
  17.     }

Знаю только что номер документа это элемент "Текст"
Название: Re: Как подменить номер документа
Отправлено: Александр Пекшев aka Modis от 17-12-2018, 09:50:54
Номер документа в штампе может соответствовать номеру листа (а это просто свойство листа SheetNumber) и тогда все просто, а может быть параметром штампа (а это семейство) и тогда тоже все просто, но вы должны знать имя параметра
Все остальные "автокадовские" подходы - это чушь
Название: Re: Как подменить номер документа
Отправлено: Алексей (IdeaSoft) от 17-12-2018, 16:08:52
Я изучил немного структуру проекта Ревит.
Там есть во вкладке Управление "Информация о проекте"
Вот там и шифр документа хранится
Название: Re: Как подменить номер документа
Отправлено: Александр Пекшев aka Modis от 17-12-2018, 16:32:26
Я изучил немного структуру проекта Ревит.
Там есть во вкладке Управление "Информация о проекте"
Вот там и шифр документа хранится
Плохо изучали :) Да и причём тут шифр, если вопрос о номере?
В Ревите почти все работает через параметры. Вам нужно взять форматку со штампом (а это просто FamilyInstance, расположенный на листе) и через RevitLookup посмотреть нужный Вам параметр. И все! Дальше уже простой алгоритм: идти по листам (а это тоже виды), собирать семейства, искать нужное, менять нужный параметр