Область видимости, как ее игнорируют. И как лечить. Локальные и глобальные шутки.

Сегодня был очень интересный разговор, суть которого свелась к вопросу: "Если есть несколько кодов lsp от разных авторов, то как быть с повторением имен функций?" Действительно, в LISP нет (как бы) понятия public и private, но есть локальные функции и параметры. Честно говоря, я уже не помню, разговор был или нет про это дело. Но если был, то ничего страшного - слегка повторимся.
Далее

Как обновить вхождения блока

Понадобилось мне тут обработать достаточно насыщенный файл dwg, в котором приличное количество блоков с несколькими уровнями вложенности. В процессе обработки приходилось еще и менять стили в текстах, которые были внутри блоков. Да и про атрибуты тоже забывать нельзя. Регенерацию в силу некоторых причин применить было невозможно (и прежде всего оттого, что занимало это дело немеряно времени. Да и тот факт, что в некоторых случаях у меня это дело не срабатывало, тоже сыграл свою роль...).

Казалось бы, решение очевидно: брать описание блока, менять его, потом брать вхождение блока и для него vla-update или entupd.
Далее

Хранение пользовательских типов данных. Часть 3.3. Реестр.

На данный момент уже рассмотрены варианты хранения данных в файлах: и dat, и ini. Такой метод хранения оправдан, например, для каталогов (как пример можно рассмотреть программу "Прокат" В.Кондрата, которую достаточно долго и успешно модифицировали участники dwg.ru); или для небольших порций достаточно редко меняющихся данных.

А как быть, если данные, к примеру, должны еще и относиться к определенному профилю AutoCAD? Не, можно, конечно, организовать отдельный каталог с именем профиля, где и хранить соответствующие настройки, или еще как-то извернуться. В некоторых случаях подобное решение оправдано, но за ради интересу сходим иным путем и рассмотрим хранение данных в реестре.
Далее

Хранение пользовательских типов данных. Часть 3.2. ini-файлы.

Продолжаем разговор, начатый здесь и продолженный в части 3.1.
Далее

Определить тип привода

Понадобилось мне тут нарисовать лиспик, который позволяет абсолютно однозначно определить, к какому диску сейчас выполняется обращение - к локальному, сетевому или съемному. Помню, что как-то на VBA в свое время я подобное решал. Но как - подробности давным-давно похоронены.
Далее

Как создать аннотативный стиль / описание блока?

По результатам обсуждения статьи "О создании стилей".
Начиная с 2008 версии в dwg появилось понятие аннотативности. О пользе этой вещицы здесь говорить не будем, попробуем разобраться с тем, как создавать аннотативность для стиля или описания блока, и как ее удалять при необходимости.
Далее

Хранение пользовательских типов данных. Часть 3.1. Хранение в файлах.

Как и было обещано в предыдущей части, начинаем разбор методов хранения данных. Уже с примерами :)
Далее

Хранение пользовательских типов данных. Часть 2. Данные между документами

Как было обещано здесь, сейчас поговорим о данных, хранимых внутри сессии AutoCAD'a. В принципе, все просто и незатейливо (если есть понимание, зачем это надо ;))
Далее

Тихое выполнение функций и команд

Последнее время на форумах стали появляться вопросы типа "как добиться тихого выполнения функций Lisp или команд AutoCAD"?
Далее

Разница между vlax-invoke и vlax-invoke-method

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

1
2
3
4
5
vlax-invoke {Object} '{Method}
vlax-invoke {Object} "{Method}"
vlax-invoke-method {Object} '{Method}
vlax-invoke-method {Object} "{Method}"
vla-{Method} {Object}

В чем между ними разница, и есть ли она вообще?
Далее