15/05/2014
Внутри палитр инструментов в AutoCAD часть 3 - Удаление инструментов и палитр.
Мы уже разобрали, что происходит при добавлении каталога и при объединении палитр инструментов в группы. Предлагаю разобрать ситуацию удаления инструментов из палитры или целиком палитры.Для полноты картины сначала удалим инструмент средствами AutoCAD, потом отредактируем файл *.atc (удалив инструмент), потом удалим полностью палитру через AutoCAD - и проверим, что и когда меняется. Естественно, удаляем инструменты с дополнительных палитр, штатные не трогаем.
Начнем с удаления инструмента через AutoCAD. Что самое интересное, механизм удаления инструментов одинаков для всех версий AutoCAD.
При запущенном AutoCAD | После закрытия AutoCAD |
Удаляется рисунок (рисунки) из каталога Images, отвественный за отображение инструмента | Из файлов Profile.aws (и для AutoCAD 2009 - FixedProfile.aws), а также файла соответствующей палитры (atc) удаляется запись об удаленном инструменте. Поиск данных об инструменте выполняется не по имени, а по следующему закону:
|
Удаление палитры также происходит практически одинаково для всех версий AutoCAD:
При запущенном AutoCAD | После закрытия AutoCAD |
Удаляется рисунок (рисунки) из каталога Images, отвественный за отображение инструмента | Вносятся изменения в FixedProfile.aws, Profile.aws. Уничтожаются упоминания об удаленной палитре из этих файлов, описаний групп и... И все! Файл *.atc не удаляется! Выполняется поиск узла с именем Palette и значением атрибута ID, равном GUID удаляемой палитры. |
Теперь попробуем во время загрузки AutoCAD'a его притормозить - ну, например, внеся в файл acaddoc.lsp элементарную конструкцию вида
Код - Auto/Visual LISP: [Выделить]
И до тех пор, пока в AutoCAD'е висит это модальное окно, внесем принудительные изменения в файлы палитр и aws. И вот тут выяснится очень интересная особенность:- (alert "Stop!")
- Удаление записи об инструменте только из файла atc не ведет к изменению отображения соответствующей палитры (конечно, при условии, что она уже была "откеширована" в Profile.aws (и для AutoCAD 2009 - дополнительно в FixedProfile.aws)
- Если удалить запись об инструменте из aws (до момента показа палитр), то инструмент "исчезает" из палитры. Точнее, он не показывается пользователю
Автор: Алексей Кулик
Обсуждение: http://adn-cis.org/forum/index.php?topic=734
Опубликовано 15.05.2014