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

ADN Club => Revit API => Тема начата: Ksarrik от 11-05-2021, 10:31:13

Название: Как извлечь информацию из заголовков спецификаций
Отправлено: Ksarrik от 11-05-2021, 10:31:13
Добрый день. Есть ли возможность программно извлечь информацию из заголовков спецификации (см. скриншот)
Я пытался извлечь данные используя класс 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.                         }

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



(https://i.postimg.cc/87qjw3VT/schedulehead.png) (https://postimg.cc/87qjw3VT)
Название: Re: Как извлечь информацию из заголовков спецификаций
Отправлено: Александр Пекшев aka Modis от 11-05-2021, 10:35:33
(https://i.postimg.cc/KKyv4zfn/Screenshot-1.png) (https://postimg.cc/KKyv4zfn)
Название: Re: Как извлечь информацию из заголовков спецификаций
Отправлено: Ksarrik от 11-05-2021, 10:37:24
Да, я понял, глупая ошибка, нужно было просто поменять на Header в методе GetCellText(SectionType.Header, i, j). А я менял только в GetSectionData(SectionType.Header). Прошу прощения. Если можно, то лучше удалить тему, чтобы не плодить глупые вопросы.
Название: Re: Как извлечь информацию из заголовков спецификаций
Отправлено: Александр Ривилис от 11-05-2021, 12:06:15
Если можно, то лучше удалить тему, чтобы не плодить глупые вопросы.
Можно, но не нужно. Возможно еще кто-нибудь столкнется с этой же проблемой. Ошибаются все. Некоторые ошибаются одинаково. :)