Управляемая альтернатива 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 ситуация немного иная.