Как подменить номер документа

Автор Тема: Как подменить номер документа  (Прочитано 1614 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Вообщем такая проблема имею 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.     }

Знаю только что номер документа это элемент "Текст"

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: Как подменить номер документа
« Ответ #1 : 17-12-2018, 09:50:54 »
Номер документа в штампе может соответствовать номеру листа (а это просто свойство листа SheetNumber) и тогда все просто, а может быть параметром штампа (а это семейство) и тогда тоже все просто, но вы должны знать имя параметра
Все остальные "автокадовские" подходы - это чушь

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Re: Как подменить номер документа
« Ответ #2 : 17-12-2018, 16:08:52 »
Я изучил немного структуру проекта Ревит.
Там есть во вкладке Управление "Информация о проекте"
Вот там и шифр документа хранится

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: Как подменить номер документа
« Ответ #3 : 17-12-2018, 16:32:26 »
Я изучил немного структуру проекта Ревит.
Там есть во вкладке Управление "Информация о проекте"
Вот там и шифр документа хранится
Плохо изучали :) Да и причём тут шифр, если вопрос о номере?
В Ревите почти все работает через параметры. Вам нужно взять форматку со штампом (а это просто FamilyInstance, расположенный на листе) и через RevitLookup посмотреть нужный Вам параметр. И все! Дальше уже простой алгоритм: идти по листам (а это тоже виды), собирать семейства, искать нужное, менять нужный параметр