Сортировка списка листов как в документе

Автор Тема: Сортировка списка листов как в документе  (Прочитано 2270 раз)

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

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

  • ADN Club
  • *****
  • Сообщений: 1596
  • Карма: 351
  • Отец modplus.org
    • ModPlus
Всем привет.
Получаю список листов в документе "обычным" способом:
Код - C# [Выбрать]
  1. _currentDocLayouts = new List<Layout>();
  2.  
  3. using (Transaction tr = _currentDatabase.TransactionManager.StartTransaction())
  4. {
  5.     DBDictionary layoutDic = tr.GetObject(
  6.         _currentDatabase.LayoutDictionaryId,
  7.         OpenMode.ForRead,
  8.         false
  9.         ) as DBDictionary;
  10.  
  11.     foreach (DBDictionaryEntry entry in layoutDic)
  12.     {
  13.         ObjectId layoutId = entry.Value;
  14.  
  15.         Layout layout = tr.GetObject(layoutId, OpenMode.ForRead) as Layout;
  16.         if (layout != null && !layout.ModelType)
  17.             if (!_currentDocLayouts.Contains(layout))
  18.                 _currentDocLayouts.Add(layout);
  19.  
  20.     }
  21.     tr.Commit();
  22. }
  23.  
и вот незадача - список получается отсортированный по алфавиту  :(
В теме, откуда был взят код, в комментариях спрашивали такой вопрос и ответ прозвучал так:
The layout's tab order property should let you know that info.

В общем вопрос открытый - как получить список листов документа в том порядке, в котором эти листы находятся в документе?

Отмечено как Решение Александр Ривилис 30-10-2016, 17:50:40

Оффлайн avc

  • ADN Club
  • *****
  • Сообщений: 736
  • Карма: 149
    • Мои плагины к Автокаду
А в чем собственно проблема? Пересортировать список по TabOrder.

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

  • ADN Club
  • *****
  • Сообщений: 1596
  • Карма: 351
  • Отец modplus.org
    • ModPlus
А в чем собственно проблема? Пересортировать список по TabOrder.
Если честно, я не знаю где искать этот самый TabOrder  :-[

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

  • Administrator
  • *****
  • Сообщений: 13194
  • Карма: 1701
  • Рыцарь ObjectARX
  • Skype: rivilis
А в чем собственно проблема? Пересортировать список по TabOrder.
Если честно, я не знаю где искать этот самый TabOrder  :-[

Свойство Layout.TabOrder
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • *****
  • Сообщений: 1596
  • Карма: 351
  • Отец modplus.org
    • ModPlus
Свойство Layout.TabOrder
Спасибо! А слона-то я и не приметил)) Все сразу стало на свои места