Как корректно запустить еще один AutoCAD
Понадобилось тут мне решить одну веселую задачку: создать новый файл, вставить в него внешними ссылками и блоками другие файлы, добавить еще кой-какой графики, сохранить файл и... И, в общем-то все.
Далее
Файл только для чтения?
Понадобилось мне тут определить, является ли файл "только для чтения". Я помню про функцию vl-file-systime, но иногда ее недостаточно...
Далее
Как найти функции, определенные в fas/vlx/arx…
Тут возникла задачка - надо определить функции, определенные в загружаемом компилированном файле...
Далее
Запрос каталога “почти по взрослому”
Иногда хочется запросить у пользователя не файл, а именно каталог. И сделать это хочется красиво, без использования getfiled или сторонних приложений, чистым лиспом. Попробуем?
Далее
Работа с ObjectID в 64- и 32-разрядных системах
Благодаря показанному в статье Программное создание поля, я немного был готов к тому, что получение и преобразование ObjectID будет отличаться в 32 и 64-разрядных системах. Сегодня "в лоб" столкнулся с тем, что известные PLTools отказываются работать на 64-разрядных AutoCAD'ах.
А решение элементарное...
Далее
Область видимости, как ее игнорируют. И как лечить. Локальные и глобальные шутки.
Сегодня был очень интересный разговор, суть которого свелась к вопросу: "Если есть несколько кодов lsp от разных авторов, то как быть с повторением имен функций?" Действительно, в LISP нет (как бы) понятия public и private, но есть локальные функции и параметры. Честно говоря, я уже не помню, разговор был или нет про это дело. Но если был, то ничего страшного - слегка повторимся.
Далее
Как обновить вхождения блока
Понадобилось мне тут обработать достаточно насыщенный файл dwg, в котором приличное количество блоков с несколькими уровнями вложенности. В процессе обработки приходилось еще и менять стили в текстах, которые были внутри блоков. Да и про атрибуты тоже забывать нельзя. Регенерацию в силу некоторых причин применить было невозможно (и прежде всего оттого, что занимало это дело немеряно времени. Да и тот факт, что в некоторых случаях у меня это дело не срабатывало, тоже сыграл свою роль...).
Казалось бы, решение очевидно: брать описание блока, менять его, потом брать вхождение блока и для него vla-update или entupd.
Далее
Хранение пользовательских типов данных. Часть 3.3. Реестр.
На данный момент уже рассмотрены варианты хранения данных в файлах: и dat, и ini. Такой метод хранения оправдан, например, для каталогов (как пример можно рассмотреть программу "Прокат" В.Кондрата, которую достаточно долго и успешно модифицировали участники dwg.ru); или для небольших порций достаточно редко меняющихся данных.
А как быть, если данные, к примеру, должны еще и относиться к определенному профилю AutoCAD? Не, можно, конечно, организовать отдельный каталог с именем профиля, где и хранить соответствующие настройки, или еще как-то извернуться. В некоторых случаях подобное решение оправдано, но за ради интересу сходим иным путем и рассмотрим хранение данных в реестре.
Далее
Хранение пользовательских типов данных. Часть 3.2. ini-файлы.
Продолжаем разговор, начатый здесь и продолженный в части 3.1.
Далее
Определить тип привода
Понадобилось мне тут нарисовать лиспик, который позволяет абсолютно однозначно определить, к какому диску сейчас выполняется обращение - к локальному, сетевому или съемному. Помню, что как-то на VBA в свое время я подобное решал. Но как - подробности давным-давно похоронены.
Далее