Русский .NET для AutoCAD (и не только)
Два (не, почти три!) дня был лишен сетки (по почти независящим от меня причинам). И тут о радость! Сетка восстановлена, я "снова здесь, я в бархатных штанах". И еще бОльшая радость - Андрей Бушман, оказывается, снова запустил свой сайт!
Я уж и надежду потерял, все время рыскал по официальной документации, плевался, матерился - а что делать, если чуть ли не единственный русскоязычный ресурс закрыт был?!
Так вот, предупреждаю - дизайн изменен, информации добавлено море, берите и пользуйтесь, как говорится
Тешу себя слабой надеждой, что Андрей все же не закроет этот ресурс, как обещал...
Имя текущего профиля и прочие Preferences
В очередной раз приношу самую искреннюю благодарность Андрею Бушману - без него я бы точно не разобрался в этой задачке.
Далее
Выполнение кода сразу после загрузки .NET-dll
Иногда бывает необходимо до вызова команд (а еще лучше - прямо после загрузки кода) выполнить некоторые действия: установить системные переменные, установить пути поддержки и т.п.). В лиспе это просто:
1 2 3 4 5 6 | (defun test() (alert "test") ) ;; А вот и выполнение (test) |
Это то, что в лиспе часто называют "самовызовом". Выполнение кода начинается сразу после загрузки соответствующего lsp-файла в память.
Механизм достаточно удобный, несмотря на некоторые трудности, описанные здесь и здесь.
С .NET ситуация немного иная.
Создание записей в таблицах стилей, слоев и т.п.
Как показала практика, приведенный пример не совсем жизнеспособен. Он прекрасно будет работать только в том случае, если в файле либо уже существует указанный текстовый стиль (и тогда выполняется его модификация), либо в файле с момента его открытия этого стиля еще не существовало.
Если же стиль был создан, а потом удален, то строка
1 |
tblStyle.Has(StyleName) |
вернет true, несмотря на то, что стиль имеет свойство IsErased = true. Что же делать?
Далее