14/05/2014
Внутри палитр инструментов AutoCAD часть 2 - Объединение в группы
Попробуем объединить палитры в группы и посмотрим, что и где меняется. Для полноты картины одни и те же палитры добавим в разные группы, плюс группы сделаем в несколько уровней (думаю, что 2 уровней будет достаточно)AutoCAD 2009, добавление и заполнение собственной группы. Пока AutoCAD работает, изменений не обнаружено. После закрытия изменения вносятся в Profile.aws и FixedProfile.aws.
В узле
Код - XML: [Выделить]
- <Profile>
- <StorageRoot>
- <AcApData>
- <AdUiTools>
- <ToolsInfo>
- <Tool ...
Появляется элемент <ToolPaletteGroup>, в котором в <Contents> перечисляются все имеющиеся группы по принципу:
Код - XML: [Выделить]
- <ToolPaletteGroup>
- <Name>Имя группы</Name>
- <Contents>
- <ToolPalette ID="{...}"/>
- <ToolPalette ID="{...}"/>
- <ToolPalette ID="{...}"/>
- </Contents>
- <CustomData/>
- <ActivePaletteIndex>0</ActivePaletteIndex>
- </ToolPaletteGroup>
Здесь "Имя группы" - то имя, которое задавалось пользователем, а в ToolPalette под ID указывается ID палитры. Названия не показываются и не дублируются.
Подузел <CustomData/> существует только для пользовательских групп: в группах, созданных самой Autodesk, этого подузла нет. Явного и внятного смысла этого кусочка я не уловил :(
Стоит помнить, что с узлом Tools не все так просто: Почему-то узлов Tool три штуки, две - пустые; изменения попадают только в последнюю, или имеющую подузлы вида
Код - XML: [Выделить]
- <CAcTcUiToolPaletteSet ID='{...}'>
- <ToolPalettes>
Если мы добавляем подгруппу, то узел <ToolPaletteGroup> получает подчиненный подузел <ToolPaletteGroup> с аналогичной структурой. Положение подузла в принципе ни на что не влияет и определяется только порядком, определенным в окне настройки палитр.
В AutoCAD 2010, 2013б 2015 ситуация уже немного другая: во-первых, изменения вносятся только в файл Profile.aws. Во-вторых, структура положения ToolPaletteGroup> уже другая:
Код - XML: [Выделить]
Т.е. путь вполне однозначен. Во всем остальном никаких изменений по сравнению с AutoCAD 2009 нет: точно так же организовывается ToolPaletteGroup, точно так же внутри перечисляются ID палитр.
- <Profile>
- <StorageRoot>
- <ToolPaletteScheme>
- <ToolPaletteSets>
- <ToolPaletteSet>
- <CAcTcUiToolPaletteSet>
- <ToolPaletteGroup>
Автор: Алексей Кулик
Обсуждение: http://adn-cis.org/forum/index.php?topic=730
Опубликовано 14.05.2014