Всем привет.
Получаю список листов в документе "обычным" способом:
_currentDocLayouts = new List<Layout>();
using (Transaction tr = _currentDatabase.TransactionManager.StartTransaction())
{
DBDictionary layoutDic = tr.GetObject(
_currentDatabase.LayoutDictionaryId,
OpenMode.ForRead,
false
) as DBDictionary;
foreach (DBDictionaryEntry entry in layoutDic)
{
ObjectId layoutId = entry.Value;
Layout layout = tr.GetObject(layoutId, OpenMode.ForRead) as Layout;
if (layout != null && !layout.ModelType)
if (!_currentDocLayouts.Contains(layout))
_currentDocLayouts.Add(layout);
}
tr.Commit();
}
и вот незадача - список получается отсортированный по алфавиту
В
теме, откуда был взят код, в комментариях спрашивали такой вопрос и ответ прозвучал так:
The layout's tab order property should let you know that info.В общем вопрос открытый - как получить список листов документа в том порядке, в котором эти листы находятся в документе?