Управляемая альтернатива ExplodeAllProxy

Андрей Бушман у себя на сайте опубликовал код, решающий те же задачи, что и знаменитый ExplodeAllProxy от Александра Ривилиса. Пользуясь выцыганенным у Андрея разрешением, публикую мои изменения его кода.
Далее

Итерация системных переменных AutoCAD через .NET, часть 2

В предыдущей части был предоставлен код, показывающий реализацию двух доступных механизмов итерации по системным переменным AutoCAD: SystemObects.Variables и новый класс SystemVariableEnumerator.
Далее

Итерация системных переменных AutoCAD через .NET, часть 1

Просматривая документацию по .NET API AutoCAD (раздел "Что нового"), можно увидеть новый класс SystemVariableEnumerator.
Далее

Вызов VLIDE во время отладки .NET-кода

Вольный перевод статьи с ADNDevBlog.

При отладке .NET-сборки далеко не всегда удается вызвать VLIDE: возникает ошибка и AutoCAD попросту закрывается. Проблема решается внесением изменений в реестр Windows.
Далее

Аналог vlax-product-key на .NET

Есть в лиспе прекрасная функция - (vlax-product-key), возвращает значение вида

1
"Software\\Autodesk\\AutoCAD\\RXX.X\\ACAD-XXXX:XXX"

Поставили мне задачку найти такое же, но на .NET. Чтобы не забыть - помещаю здесь. Кода - на одну строчку:

1
Autodesk.AutoCAD.Runtime.SystemObjects.DynamicLinker.ProductKey;

Естественно, что .NET-проект создается в полном соответствии с требованиями Autodesk: подключаются *mgd.dll, импортируются соответствующие пространства имен и т.д.

.NET-сборки для AutoCAD разных версий, часть 2

Не удалось мне полностью решить вопрос с единым проектом .NET-сборок для разных версий AutoCAD :( Поэтому пришлось выкручиваться и задачу решать более извращенным методом.

Конструктивная критика с показом альтернативных решений приветствуется :)
Далее

.NET сборки для AutoCAD под разные версии

Как любой человек, я ленив. Да, я лентяй. Мало того - я горжусь тем, что я лентяй. Мне действительно лень по сотне раз писать один и тот же код. Мне действительно лень потом его в сотне мест править.
Далее

Русский .NET для AutoCAD (и не только)

Два (не, почти три!) дня был лишен сетки (по почти независящим от меня причинам). И тут о радость! Сетка восстановлена, я "снова здесь, я в бархатных штанах". И еще бОльшая радость - Андрей Бушман, оказывается, снова запустил свой сайт!

Я уж и надежду потерял, все время рыскал по официальной документации, плевался, матерился - а что делать, если чуть ли не единственный русскоязычный ресурс закрыт был?!

Так вот, предупреждаю - дизайн изменен, информации добавлено море, берите и пользуйтесь, как говорится :)

Тешу себя слабой надеждой, что Андрей все же не закроет этот ресурс, как обещал...

Имя текущего профиля и прочие Preferences

В очередной раз приношу самую искреннюю благодарность Андрею Бушману - без него я бы точно не разобрался в этой задачке.
Далее

Выполнение кода сразу после загрузки .NET-dll

Иногда бывает необходимо до вызова команд (а еще лучше - прямо после загрузки кода) выполнить некоторые действия: установить системные переменные, установить пути поддержки и т.п.). В лиспе это просто:

1
2
3
4
5
6
(defun test()
  (alert "test")
  )

;; А вот и выполнение
(test)

Это то, что в лиспе часто называют "самовызовом". Выполнение кода начинается сразу после загрузки соответствующего lsp-файла в память.

Механизм достаточно удобный, несмотря на некоторые трудности, описанные здесь и здесь.

С .NET ситуация немного иная.

Далее