Как извлечь информацию из заголовков спецификаций

Автор Тема: Как извлечь информацию из заголовков спецификаций  (Прочитано 2228 раз)

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

Оффлайн KsarrikАвтор темы

  • ADN OPEN
  • Сообщений: 35
  • Карма: 2
Добрый день. Есть ли возможность программно извлечь информацию из заголовков спецификации (см. скриншот)
Я пытался извлечь данные используя класс TableData следующим образом:

         
Код - C# [Выбрать]
  1. UIApplication App=this.ActiveUIDocument.Application;
  2.                         Autodesk.Revit.DB.Document doc = App.ActiveUIDocument.Document;
  3.                         Autodesk.Revit.UI.UIDocument uidoc = App.ActiveUIDocument;                     
  4.                         string nameSchedule="Спецификация";
  5.                         FilteredElementCollector collectorEqipments = new FilteredElementCollector(doc).WhereElementIsNotElementType().OfClass(typeof(ViewSchedule));
  6.                         Element finded = collectorEqipments.ToList().Find(x => x.Name.Contains(nameSchedule));
  7.                         if (finded != null)
  8.                         {
  9.                                 ViewSchedule sch=finded as ViewSchedule;
  10.                                 if(sch!=null)
  11.                                 {
  12.                                         TableData colTableData = sch.GetTableData();
  13.                                         TableSectionData tsd = colTableData.GetSectionData(SectionType.Body);
  14.                                         var rowCount = tsd.NumberOfRows;
  15.                                         var colCount = tsd.NumberOfColumns;
  16.                                         string data=string.Empty;
  17.                                         for (int i = 0; i < rowCount; i++)
  18.                                         {
  19.                                                 for (int j = 0; j < colCount; j++)
  20.                                                 {
  21.                                                         data =data+" "+sch.GetCellText(SectionType.Body, i, j);
  22.                                                 }
  23.                                                 data =data+Environment.NewLine;
  24.                                         }
  25.                                         TaskDialog.Show("инфо", data);
  26.                                 }
  27.                         }

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





Отмечено как Решение Ksarrik 11-05-2021, 10:39:21

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

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus

Оффлайн KsarrikАвтор темы

  • ADN OPEN
  • Сообщений: 35
  • Карма: 2
Да, я понял, глупая ошибка, нужно было просто поменять на Header в методе GetCellText(SectionType.Header, i, j). А я менял только в GetSectionData(SectionType.Header). Прошу прощения. Если можно, то лучше удалить тему, чтобы не плодить глупые вопросы.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Если можно, то лучше удалить тему, чтобы не плодить глупые вопросы.
Можно, но не нужно. Возможно еще кто-нибудь столкнется с этой же проблемой. Ошибаются все. Некоторые ошибаются одинаково. :)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение