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