Область видимости, как ее игнорируют. И как лечить. Локальные и глобальные шутки.
Сегодня был очень интересный разговор, суть которого свелась к вопросу: "Если есть несколько кодов lsp от разных авторов, то как быть с повторением имен функций?" Действительно, в LISP нет (как бы) понятия public и private, но есть локальные функции и параметры. Честно говоря, я уже не помню, разговор был или нет про это дело. Но если был, то ничего страшного - слегка повторимся.
Далее
Как обновить вхождения блока
Понадобилось мне тут обработать достаточно насыщенный файл dwg, в котором приличное количество блоков с несколькими уровнями вложенности. В процессе обработки приходилось еще и менять стили в текстах, которые были внутри блоков. Да и про атрибуты тоже забывать нельзя. Регенерацию в силу некоторых причин применить было невозможно (и прежде всего оттого, что занимало это дело немеряно времени. Да и тот факт, что в некоторых случаях у меня это дело не срабатывало, тоже сыграл свою роль...).
Казалось бы, решение очевидно: брать описание блока, менять его, потом брать вхождение блока и для него vla-update или entupd.
Далее
Имя текущего профиля и прочие Preferences
В очередной раз приношу самую искреннюю благодарность Андрею Бушману - без него я бы точно не разобрался в этой задачке.
Далее
Хранение пользовательских типов данных. Часть 3.3. Реестр.
На данный момент уже рассмотрены варианты хранения данных в файлах: и dat, и ini. Такой метод хранения оправдан, например, для каталогов (как пример можно рассмотреть программу "Прокат" В.Кондрата, которую достаточно долго и успешно модифицировали участники dwg.ru); или для небольших порций достаточно редко меняющихся данных.
А как быть, если данные, к примеру, должны еще и относиться к определенному профилю AutoCAD? Не, можно, конечно, организовать отдельный каталог с именем профиля, где и хранить соответствующие настройки, или еще как-то извернуться. В некоторых случаях подобное решение оправдано, но за ради интересу сходим иным путем и рассмотрим хранение данных в реестре.
Далее
Хранение пользовательских типов данных. Часть 3.2. ini-файлы.
Продолжаем разговор, начатый здесь и продолженный в части 3.1.
Далее
Определить тип привода
Понадобилось мне тут нарисовать лиспик, который позволяет абсолютно однозначно определить, к какому диску сейчас выполняется обращение - к локальному, сетевому или съемному. Помню, что как-то на VBA в свое время я подобное решал. Но как - подробности давным-давно похоронены.
Далее
Как создать аннотативный стиль / описание блока?
По результатам обсуждения статьи "О создании стилей".
Начиная с 2008 версии в dwg появилось понятие аннотативности. О пользе этой вещицы здесь говорить не будем, попробуем разобраться с тем, как создавать аннотативность для стиля или описания блока, и как ее удалять при необходимости.
Далее
Хранение пользовательских типов данных. Часть 3.1. Хранение в файлах.
Как и было обещано в предыдущей части, начинаем разбор методов хранения данных. Уже с примерами
Далее
Хранение пользовательских типов данных. Часть 2. Данные между документами
Как было обещано здесь, сейчас поговорим о данных, хранимых внутри сессии AutoCAD'a. В принципе, все просто и незатейливо (если есть понимание, зачем это надо ;))
Далее
Тихое выполнение функций и команд
Последнее время на форумах стали появляться вопросы типа "как добиться тихого выполнения функций Lisp или команд AutoCAD"?
Далее