Работа с xml
Чем дальше, тем больше AutoCAD и продукты на его основе "завязываются" на xml. Понятно почему: удобный вариант хранения сколь угодно сложной структуры, парсер гарантированно встроен в систему ну и теде.
Достаточно давно я разработал набор функций, которые позволяют нормально работать с xml-документом. Как выяснилось в процессе работы, в основном стоит задача чтения данных (благо заполняю я xml-файлы либо в Notepad++, либо в Microsoft XML Notepad, либо в MS Visual Studio). Но - функции есть, и предоставлю я их целиком.
Предупреждаю сразу: пост получился очень длинный, набор функций, как всегда, в самом конце
P.S. Функции не переименовывал. Кому охота - код открыт, используйте наздоровье
P.P.S. Аналог всего этого дела был в свое время опубликован у меня на блогспоте, так что не удивляйтесь возможным повторам :).
Далее
Что интересного подготовил AutoCAD 2014 для программистов
Посмотрев на чужие обсуждения новшеств AutoCAD 2014, решил и для себя нечто подобное написать.
Далее
Многострочные атрибуты блоков и фатальные ошибки AutoCAD
Подчеркиваю - информация старая и многократно проверенная, источник где-то на http://forums.autodesk.com/ (точно ссылку не помню, а искать некогда).
Иногда при работе с многосточными атрибутами во вхождении блока AutoCAD может вывалиться с фатальной ошибкой.
Далее
Назначение текстовых стилей
Столкнулся я тут с задачкой "назначить текстовым примитивам определенный стиль". Казалось бы, ничто не предвещало беды...
Далее
Еще один вариант автозагрузки приложений…
Вопрос об автозагрузке приложений (написанных на любых доступных языках - lisp, C++, .NET, VBA и т.д.) время от времени все же поднимается на форумах (да и в личных сообщениях тоже). Использование StartupSuite просто и понятно, и мало кому интересно У .NET-чиков есть свои варианты, у создателей arx - свои. У лисповиков и вэбэашников подобного нет? Ну как это нет, когда есть!
Далее
Использование словарных записей
Понадобилось мне тут разобраться с возможностями записи, чтения и изменения словарных записей на графические примитивы. Раньше все было просто - я использовал vlax-ldata-* функции, механизм был отлажен и прекрасно работал. Расширенные данные (по условиям задачи ;)) исключаются - объем записываемых данных может запросто превысить размер в 16 кб. Ограничение РД как было, так никуда и не делось.
Но вот сейчас встала задача не только записать / изменить / прочитать данные лиспом. Проблема в том, что файл dwg потом попадет на обработку в другую контору. А они уже будут читать эти данные, используя СОМ-доступ.
Далее
Получить оригинальное имя команды
Иногда требуется в локализованной версии AutoCAD узнать "оригинальное" имя команды.
Далее
Изменение порядка прорисовки объектов
На самом деле это - небольшая памятка самому себе. О том, как можно программно поменять порядок прорисовки объектов в AutoCAD...
Далее
Создать динамический блок из обычного
Только что увидел на theswamp.org - Евгений Елпанов выложил код, позволяющий программно, лиспом, создать динамический блок.