Палитры инструментов через лисп + xml

В прошлой записи я показал, как можно из-под лиспа добраться до xml-файла и поработать с ним. Пришло время иллюстрации номер раз :)

Задача: получить GUID палитр, их имен и путей соответствующих файлов, пройдя по всем каталогам, указанным в качестве ToolPalettesPath.
Далее

Работа с xml

Чем дальше, тем больше AutoCAD и продукты на его основе "завязываются" на xml. Понятно почему: удобный вариант хранения сколь угодно сложной структуры, парсер гарантированно встроен в систему ну и теде.

Достаточно давно я разработал набор функций, которые позволяют нормально работать с xml-документом. Как выяснилось в процессе работы, в основном стоит задача чтения данных (благо заполняю я xml-файлы либо в Notepad++, либо в Microsoft XML Notepad, либо в MS Visual Studio). Но - функции есть, и предоставлю я их целиком.

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

P.S. Функции не переименовывал. Кому охота - код открыт, используйте наздоровье :)
P.P.S. Аналог всего этого дела был в свое время опубликован у меня на блогспоте, так что не удивляйтесь возможным повторам :).
Далее

Работа с xml, часть 2

В предыдущей части была рассмотрена работа с объектом xml-документа. Продолжим?
Далее

Прогресс-бары или о длительных операциях

Иногда необходимо выполнить длительные вычисления - например, обработать несколько десятков (а то и сотен) файлов, вызвать стороннее приложение и в нем что-то сделать и т.п. Если работать через LISP, то AutoCAD (с точки зрения пользователя) "зависает".

Чтобы этого не было, процесс выполнения надо хоть как-то показывать. Некоторые тонкости этой задачки и хотелось бы рассмотреть.
Далее

Текстовые стили с ttf. Некоторые тонкости настройки

Столкнулся я тут как-то с задачей "создать текстовый стиль с ttf-шрифтом, и чтобы там сразу было установлено полужирное начертание".
Далее

Передача данных по ссылке

Не секрет, что друзья не растут в огороде данные в функции нередко передаются по значению. В C++ / C# / VB во всех его реинкарнация - там везде можно передавать данные по ссылке. А что надо сделать в лиспе, чтоб такое же было?
Далее

.NET, arx и atoms-family

Есть такая функция в лиспе - atoms-family. По идее должна показывать зарезервированные символы AutoLISP / VisualLISP. Но, кроме заявленного функционала, она может показать пользовательские команды и функции, загруженные в текущий документ.
Далее

Красивый выбор каталога

Иногда надо в процессе выполнения лиспа указать каталог. Есть, конечно, вариант использовать getfiled, но как-то это не очень красиво...
Далее

Приоритетность загрузки lisp

Можно сказать, продолжение О кодах, загрузке и компиляции и О кодах, загрузке и компиляции, часть 2. Пишу здесь, чтобы самому не потерять информацию. А то с меня станется...

Итак: столкнулся я тут с интересной задачкой - имеет ли значение последовательность "прописывания" lisp-кодов в файл-исходник для fas?
Далее

Некоторые особенности findfile

Всем хороша функция findfile - позволяет найти файл или каталог. Но, понадеявшись на ее корректную работу, я чуть не "обрушил" AutoCAD 2002 на Windows XP Pro x64...
Далее